[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