[xorg-commit-diffs] xc/programs/Xserver/hw/darwin/quartz/cr Imakefile, 1.1.4.1, 1.1.4.2 crFrame.m, 1.1.4.3, 1.1.4.4 crScreen.m, 1.1.4.4, 1.1.4.5

Egbert Eich xorg-commit at pdx.freedesktop.org
Thu Apr 15 03:16:00 PDT 2004


Committed by: eich

Update of /cvs/xorg/xc/programs/Xserver/hw/darwin/quartz/cr
In directory pdx:/home/eich/tstbuild/xc/programs/Xserver/hw/darwin/quartz/cr

Modified Files:
      Tag: XORG-CURRENT
	Imakefile crFrame.m crScreen.m 
Log Message:
2004-04-15  Egbert Eich  <eich at freedesktop.org>
        Merged changes from RELEASE-1 branch
	


Index: Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/darwin/quartz/cr/Imakefile,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Imakefile	5 Mar 2004 13:39:59 -0000	1.1.4.1
+++ b/Imakefile	15 Apr 2004 10:15:56 -0000	1.1.4.2
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/Imakefile,v 1.1 2003/06/07 05:49:07 torrey Exp $
+XCOMM $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/Imakefile,v 1.3 2004/03/19 02:05:29 torrey Exp $
 
 #include <Server.tmpl>
 
@@ -23,6 +23,10 @@
            -I$(SERVERSRC)/miext/rootless/safeAlpha -I$(SERVERSRC)/Xext \
            -I$(APPLEWMLIBSRC)
 
+#if OSMajorVersion < 6
+DEFINES = -DDEFER_NSWINDOW
+#endif
+
 NormalLibraryObjectRule()
 NormalLibraryTarget(cr,$(OBJS))
 

Index: crFrame.m
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/darwin/quartz/cr/crFrame.m,v
retrieving revision 1.1.4.3
retrieving revision 1.1.4.4
diff -u -d -r1.1.4.3 -r1.1.4.4
--- a/crFrame.m	5 Mar 2004 13:39:59 -0000	1.1.4.3
+++ b/crFrame.m	15 Apr 2004 10:15:56 -0000	1.1.4.4
@@ -28,7 +28,7 @@
  * use or other dealings in this Software without prior written authorization.
  */
 /* $XdotOrg$ */
-/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crFrame.m,v 1.7 2003/11/27 01:53:39 torrey Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crFrame.m,v 1.9 2004/03/19 02:05:29 torrey Exp $ */
 
 #include "quartzCommon.h"
 #include "cr.h"
@@ -36,6 +36,7 @@
 #undef BOOL
 #define BOOL xBOOL
 #include "rootless.h"
+#include "windowstr.h"
 #undef BOOL
 
 WindowPtr nextWindowToFrame = NULL;
@@ -79,7 +80,12 @@
     theWindow = [[NSWindow alloc] initWithContentRect:bounds
                                   styleMask:theStyleMask
                                   backing:NSBackingStoreBuffered
+#ifdef DEFER_NSWINDOW
+                                  defer:YES];
+#else
                                   defer:NO];
+#endif
+
     if (!theWindow) return FALSE;
 
     [theWindow setBackgroundColor:[NSColor clearColor]];  // erase transparent
@@ -96,6 +102,21 @@
     [theWindow setContentView:theView];
     [theWindow setInitialFirstResponder:theView];
 
+#ifdef DEFER_NSWINDOW
+    // We need the NSWindow to actually be created now.
+    // If we had to defer creating it, we have to order it
+    // onto the screen to force it to be created.
+
+    if (pFrame->win->prevSib) {
+        CRWindowPtr crWinPtr = (CRWindowPtr) RootlessFrameForWindow(
+                                                pFrame->win->prevSib, FALSE);
+        int upperNum = [crWinPtr->window windowNumber];
+        [theWindow orderWindow:NSWindowBelow relativeTo:upperNum];
+    } else {
+        [theWindow orderFront:nil];
+    }
+#endif
+
     [theWindow setAcceptsMouseMovedEvents:YES];
 
     crWinPtr->window = theWindow;

Index: crScreen.m
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v
retrieving revision 1.1.4.4
retrieving revision 1.1.4.5
diff -u -d -r1.1.4.4 -r1.1.4.5
--- a/crScreen.m	5 Mar 2004 13:39:59 -0000	1.1.4.4
+++ b/crScreen.m	15 Apr 2004 10:15:56 -0000	1.1.4.5
@@ -40,7 +40,7 @@
 #include "quartzCursor.h"
 #include "rootless.h"
 #include "safeAlpha.h"
-#include "pseudorama.h"
+#include "pseudoramiX.h"
 #include "applewmExt.h"
 
 #include "regionstr.h"
@@ -59,8 +59,8 @@
  * CRDisplayInit
  *  Find all screens.
  *
- *  Multihead note: When rootless mode uses Pseudorama, the
- *  X server only sees one screen; only Pseudorama itself knows
+ *  Multihead note: When rootless mode uses PseudoramiX, the
+ *  X server only sees one screen; only PseudoramiX itself knows
  *  about all of the screens.
  */
 static void
@@ -71,7 +71,7 @@
     if (noPseudoramiXExtension) {
         darwinScreensFound = [[NSScreen screens] count];
     } else {
-        darwinScreensFound = 1; // only Pseudorama knows about the rest
+        darwinScreensFound = 1; // only PseudoramiX knows about the rest
     }
 
     CRAppleWMInit();
@@ -133,7 +133,7 @@
         dfb->height = unionRect.size.height;
         dfb->pitch = (dfb->width) * (dfb->bitsPerPixel) / 8;
 
-        // Tell Pseudorama about the real screens.
+        // Tell PseudoramiX about the real screens.
         // InitOutput() will move the big screen to (0,0),
         // so compensate for that here.
         for (i = 0; i < [screens count]; i++) {
@@ -144,7 +144,7 @@
             // Skip this screen if it's a mirrored copy of an earlier screen.
             for (j = 0; j < i; j++) {
                 if (NSEqualRects(frame, [[screens objectAtIndex:j] frame])) {
-                    ErrorF("Pseudorama screen %d is a mirror of screen %d.\n",
+                    ErrorF("PseudoramiX screen %d is a mirror of screen %d.\n",
                            i, j);
                     break;
                 }
@@ -159,14 +159,14 @@
                 frame.size.height -= aquaMenuBarHeight;
             }
 
-            ErrorF("Pseudorama screen %d added: %dx%d @ (%d,%d).\n", i,
+            ErrorF("PseudoramiX screen %d added: %dx%d @ (%d,%d).\n", i,
                    (int)frame.size.width, (int)frame.size.height,
                    (int)frame.origin.x, (int)frame.origin.y);
 
             frame.origin.x -= unionRect.origin.x;
             frame.origin.y -= unionRect.origin.y;
 
-            ErrorF("Pseudorama screen %d placed at X11 coordinate (%d,%d).\n",
+            ErrorF("PseudoramiX screen %d placed at X11 coordinate (%d,%d).\n",
                    i, (int)frame.origin.x, (int)frame.origin.y);
 
             PseudoramiXAddScreen(frame.origin.x, frame.origin.y,
@@ -219,7 +219,7 @@
 
     // This X11 screen covers all CoreGraphics displays we just found.
     // If there's more than one CG display, then video mirroring is on
-    // or Pseudorama is on.
+    // or PseudoramiX is on.
     displayInfo->displayCount = allocatedDisplays;
     displayInfo->displayIDs = displays;
 




More information about the xorg-commit-diffs mailing list