aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xfree86/modes/xf86Crtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xfree86/modes/xf86Crtc.c')
-rw-r--r--xorg-server/hw/xfree86/modes/xf86Crtc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/xorg-server/hw/xfree86/modes/xf86Crtc.c b/xorg-server/hw/xfree86/modes/xf86Crtc.c
index 8d636af48..c1e31e003 100644
--- a/xorg-server/hw/xfree86/modes/xf86Crtc.c
+++ b/xorg-server/hw/xfree86/modes/xf86Crtc.c
@@ -384,7 +384,9 @@ done:
crtc->transformPresent = saved_transform_present;
}
- free(adjusted_mode);
+ if (adjusted_mode->name)
+ xfree(adjusted_mode->name);
+ xfree(adjusted_mode);
if (didLock)
crtc->funcs->unlock (crtc);
@@ -803,6 +805,9 @@ xf86CrtcScreenInit (ScreenPtr screen)
config->CloseScreen = screen->CloseScreen;
screen->CloseScreen = xf86CrtcCloseScreen;
+#ifdef XFreeXDGA
+ xf86DiDGAInit(screen, 0);
+#endif
#ifdef RANDR_13_INTERFACE
return RANDR_INTERFACE_VERSION;
#else
@@ -1921,6 +1926,10 @@ xf86SetScrnInfoModes (ScrnInfoPtr scrn)
}
}
scrn->currentMode = scrn->modes;
+#ifdef XFreeXDGA
+ if (scrn->pScreen)
+ xf86DiDGAReInit(scrn->pScreen);
+#endif
}
static void