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_crtc_notify_proc_ptr
|
||||||
xf86_wrap_crtc_notify (ScreenPtr screen, xf86_crtc_notify_proc_ptr new)
|
xf86_wrap_crtc_notify (ScreenPtr screen, xf86_crtc_notify_proc_ptr new)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
if (xf86CrtcConfigPrivateIndex != -1)
|
||||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
{
|
||||||
xf86_crtc_notify_proc_ptr old;
|
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
||||||
|
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||||
old = config->xf86_crtc_notify;
|
xf86_crtc_notify_proc_ptr old;
|
||||||
config->xf86_crtc_notify = new;
|
|
||||||
return old;
|
old = config->xf86_crtc_notify;
|
||||||
|
config->xf86_crtc_notify = new;
|
||||||
|
return old;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
xf86_unwrap_crtc_notify(ScreenPtr screen, xf86_crtc_notify_proc_ptr old)
|
xf86_unwrap_crtc_notify(ScreenPtr screen, xf86_crtc_notify_proc_ptr old)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
if (xf86CrtcConfigPrivateIndex != -1)
|
||||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
{
|
||||||
|
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
|
||||||
config->xf86_crtc_notify = old;
|
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||||
|
|
||||||
|
config->xf86_crtc_notify = old;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user