diff options
Diffstat (limited to 'hw/darwin/quartz/cr')
-rw-r--r-- | hw/darwin/quartz/cr/XView.h | 2 | ||||
-rw-r--r-- | hw/darwin/quartz/cr/XView.m | 2 | ||||
-rw-r--r-- | hw/darwin/quartz/cr/cr.h | 2 | ||||
-rw-r--r-- | hw/darwin/quartz/cr/crAppleWM.m | 2 | ||||
-rw-r--r-- | hw/darwin/quartz/cr/crFrame.m | 24 | ||||
-rw-r--r-- | hw/darwin/quartz/cr/crScreen.m | 3 |
6 files changed, 29 insertions, 6 deletions
diff --git a/hw/darwin/quartz/cr/XView.h b/hw/darwin/quartz/cr/XView.h index 666061dc1..01f5b04b4 100644 --- a/hw/darwin/quartz/cr/XView.h +++ b/hw/darwin/quartz/cr/XView.h @@ -25,7 +25,7 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ -/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/XView.h,v 1.1 2003/06/07 05:49:07 torrey Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/XView.h,v 1.2 2002/07/15 19:58:31 torrey Exp $ */ #import <Cocoa/Cocoa.h> diff --git a/hw/darwin/quartz/cr/XView.m b/hw/darwin/quartz/cr/XView.m index 2bf689ede..5feac6b42 100644 --- a/hw/darwin/quartz/cr/XView.m +++ b/hw/darwin/quartz/cr/XView.m @@ -29,7 +29,7 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ -/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/XView.m,v 1.2 2003/10/16 23:50:16 torrey Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/XView.m,v 1.1 2003/06/07 05:49:07 torrey Exp $ */ #import "XView.h" diff --git a/hw/darwin/quartz/cr/cr.h b/hw/darwin/quartz/cr/cr.h index 74752f768..94133e4af 100644 --- a/hw/darwin/quartz/cr/cr.h +++ b/hw/darwin/quartz/cr/cr.h @@ -26,7 +26,7 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ -/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/cr.h,v 1.3 2003/11/03 05:36:31 tsi Exp $ */ +/* $XFree86$ */ #ifndef _CR_H #define _CR_H diff --git a/hw/darwin/quartz/cr/crAppleWM.m b/hw/darwin/quartz/cr/crAppleWM.m index 66e832b66..a2e97ff81 100644 --- a/hw/darwin/quartz/cr/crAppleWM.m +++ b/hw/darwin/quartz/cr/crAppleWM.m @@ -26,7 +26,7 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ -/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crAppleWM.m,v 1.1 2003/09/16 00:36:14 torrey Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/xpr/xprFrame.c,v 1.2 2003/06/30 01:45:13 torrey Exp $ */ #include "quartzCommon.h" #include "cr.h" diff --git a/hw/darwin/quartz/cr/crFrame.m b/hw/darwin/quartz/cr/crFrame.m index b308dec74..2fade0c80 100644 --- a/hw/darwin/quartz/cr/crFrame.m +++ b/hw/darwin/quartz/cr/crFrame.m @@ -27,7 +27,8 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ -/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crFrame.m,v 1.8 2003/12/05 07:00:10 torrey Exp $ */ +/* $XdotOrg$ */ +/* $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" @@ -35,6 +36,7 @@ #undef BOOL #define BOOL xBOOL #include "rootless.h" +#include "windowstr.h" #undef BOOL WindowPtr nextWindowToFrame = NULL; @@ -78,7 +80,12 @@ CRCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, 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 @@ -95,6 +102,21 @@ CRCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, [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; diff --git a/hw/darwin/quartz/cr/crScreen.m b/hw/darwin/quartz/cr/crScreen.m index ab27e8eb8..f0b7db297 100644 --- a/hw/darwin/quartz/cr/crScreen.m +++ b/hw/darwin/quartz/cr/crScreen.m @@ -1,3 +1,4 @@ +/* $XdotOrg$ */ /* * Cocoa rootless implementation initialization */ @@ -27,7 +28,7 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ -/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v 1.6 2003/11/27 01:59:53 torrey Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v 1.5 2003/11/12 20:21:52 torrey Exp $ */ #include "quartzCommon.h" #include "cr.h" |