Make crtc_notify wrap/unwrap code do nothing unless mode code is inuse
Drivers not using the new hw/xfree86/modes code would crash in DRI due to
that code trying to monitor CRTC changes.
(cherry picked from commit ea309e4745
)
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
09cde70a6b
commit
4302a32391
|
@ -2987,22 +2987,29 @@ xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn,
|
|||
xf86_crtc_notify_proc_ptr
|
||||
xf86_wrap_crtc_notify (ScreenPtr screen, xf86_crtc_notify_proc_ptr new)
|
||||
{
|
||||
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||
xf86_crtc_notify_proc_ptr old;
|
||||
|
||||
old = config->xf86_crtc_notify;
|
||||
config->xf86_crtc_notify = new;
|
||||
return old;
|
||||
if (xf86CrtcConfigPrivateIndex != -1)
|
||||
{
|
||||
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||
xf86_crtc_notify_proc_ptr old;
|
||||
|
||||
old = config->xf86_crtc_notify;
|
||||
config->xf86_crtc_notify = new;
|
||||
return old;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
xf86_unwrap_crtc_notify(ScreenPtr screen, xf86_crtc_notify_proc_ptr old)
|
||||
{
|
||||
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||
|
||||
config->xf86_crtc_notify = old;
|
||||
if (xf86CrtcConfigPrivateIndex != -1)
|
||||
{
|
||||
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||
|
||||
config->xf86_crtc_notify = old;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue
Block a user