[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