[Xquartz-changes] xserver: Branch 'master'
Jeremy Huddleston
jeremyhu at freedesktop.org
Thu Jan 13 17:15:49 PST 2011
hw/xquartz/darwinEvents.c | 3 +--
hw/xquartz/quartz.c | 3 +++
2 files changed, 4 insertions(+), 2 deletions(-)
New commits:
commit c5552aacfcb0851fe2ae6afba34ce6024e17d354
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date: Thu Jan 13 17:12:17 2011 -0800
XQuartz: Call RRScreenSizeNotify after handling externally-generated XP_EVENT_DISPLAY_CHANGED
We get an XP_EVENT_DISPLAY_CHANGED event when our display configuration is
changed. If this change was caused by hotplugging a monitor or Mac Display
Preferences changes by the user, we need to call RRScreenSizeNotify in order
to ensure new connections get the correct screen size.
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
index 9e03525..16fec4a 100644
--- a/hw/xquartz/darwinEvents.c
+++ b/hw/xquartz/darwinEvents.c
@@ -280,10 +280,9 @@ static void DarwinEventHandler(int screenNum, InternalEvent *ie, DeviceIntPtr de
case kXquartzDisplayChanged:
DEBUG_LOG("kXquartzDisplayChanged\n");
QuartzUpdateScreens();
-#ifdef RANDR
+
/* Update our RandR info */
QuartzRandRUpdateFakeModes(TRUE);
-#endif
break;
default:
diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index 6c185a8..156de13 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -244,6 +244,9 @@ void QuartzUpdateScreens(void) {
DeliverEvents(pRoot, &e, 1, NullWindow);
quartzProcs->UpdateScreen(pScreen);
+
+ /* Tell RandR about the new size, so new connections get the correct info */
+ RRScreenSizeNotify(pScreen);
}
static void pokeActivityCallback(CFRunLoopTimerRef timer, void *info) {
More information about the Xquartz-changes
mailing list