diff options
author | Ben Byer <bbyer@bbyer.local> | 2007-11-04 05:13:19 -0800 |
---|---|---|
committer | Ben Byer <bbyer@bbyer.local> | 2007-11-04 05:13:19 -0800 |
commit | ff9929ed48f2dec8b536d348e25e66a0bc4ac1a6 (patch) | |
tree | 985b4121199b7c0bdcfa9eb745d0fa2b7f7f5a7e /hw | |
parent | 181468db92d44a58080fc9a76e46dfc7011bf9f1 (diff) |
pulling in changes from xorg-server-1.2-apple branch
Diffstat (limited to 'hw')
-rw-r--r-- | hw/darwin/apple/X11.icns | bin | 28104 -> 65908 bytes | |||
-rw-r--r-- | hw/darwin/apple/X11Application.h | 2 | ||||
-rw-r--r-- | hw/darwin/apple/X11Application.m | 3 | ||||
-rw-r--r-- | hw/darwin/apple/X11Controller.m | 20 | ||||
-rw-r--r-- | hw/darwin/quartz/xpr/xprCursor.c | 13 | ||||
-rw-r--r-- | hw/darwin/quartz/xpr/xprFrame.c | 5 | ||||
-rw-r--r-- | hw/darwin/quartz/xpr/xprScreen.c | 23 |
7 files changed, 34 insertions, 32 deletions
diff --git a/hw/darwin/apple/X11.icns b/hw/darwin/apple/X11.icns Binary files differindex 4c4717726..d770e617d 100644 --- a/hw/darwin/apple/X11.icns +++ b/hw/darwin/apple/X11.icns diff --git a/hw/darwin/apple/X11Application.h b/hw/darwin/apple/X11Application.h index eb205a1cd..861565798 100644 --- a/hw/darwin/apple/X11Application.h +++ b/hw/darwin/apple/X11Application.h @@ -79,7 +79,7 @@ extern void X11ApplicationMain (int argc, const char *argv[], extern int X11EnableKeyEquivalents; extern int quartzHasRoot, quartzEnableRootless; -#define APP_PREFS "org.x.x11" +#define APP_PREFS "org.x.X11" #define PREFS_APPSMENU "apps_menu" #define PREFS_FAKEBUTTONS "enable_fake_buttons" diff --git a/hw/darwin/apple/X11Application.m b/hw/darwin/apple/X11Application.m index 41cf425c6..6b235ad0b 100644 --- a/hw/darwin/apple/X11Application.m +++ b/hw/darwin/apple/X11Application.m @@ -45,7 +45,7 @@ #include <unistd.h> #include <pthread.h> -#define DEFAULTS_FILE "/usr/X11/lib/X11xserver/Xquartz.plist" +#define DEFAULTS_FILE "/usr/X11/lib/X11/xserver/Xquartz.plist" int X11EnableKeyEquivalents = TRUE; int quartzHasRoot = FALSE, quartzEnableRootless = TRUE; @@ -311,6 +311,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) { [NSApp activateIgnoringOtherApps:YES]; if ([self modalWindow] == nil) [self activateX:YES]; + QuartzMessageServerThread(kXDarwinBringAllToFront, 0); } - (void) set_can_quit:(NSNumber *)state { diff --git a/hw/darwin/apple/X11Controller.m b/hw/darwin/apple/X11Controller.m index acac313f4..fbc9c7402 100644 --- a/hw/darwin/apple/X11Controller.m +++ b/hw/darwin/apple/X11Controller.m @@ -1,5 +1,4 @@ /* X11Controller.m -- connect the IB ui, also the NSApp delegate - $Id: X11Controller.m,v 1.40 2006/09/06 21:19:32 jharper Exp $ Copyright (c) 2002-2007 Apple Inc. All rights reserved. @@ -294,26 +293,17 @@ - (void) launch_client:(NSString *)filename { const char *command = [filename UTF8String]; - const char *shell; - const char *argv[5]; + const char *argv[7]; int child1, child2 = 0; int status; - /* this old code doesn't work with csh ... - shell = getenv("SHELL"); - if (shell == NULL) shell = "/bin/bash"; - - argv[0] = shell; - argv[1] = "-l"; - argv[2] = "-c"; - argv[3] = command; - argv[4] = NULL; - ... but the new code doesn't work with spaces in a command :( - */ - argv[0] = "/usr/bin/login"; argv[1] = "-fp"; argv[2] = getlogin(); + argv[3] = "/bin/sh"; + argv[4] = "-c"; + argv[5] = command; + argv[6] = NULL; /* Do the fork-twice trick to avoid having to reap zombies */ diff --git a/hw/darwin/quartz/xpr/xprCursor.c b/hw/darwin/quartz/xpr/xprCursor.c index d5a118061..10d326444 100644 --- a/hw/darwin/quartz/xpr/xprCursor.c +++ b/hw/darwin/quartz/xpr/xprCursor.c @@ -2,8 +2,6 @@ * * Xplugin cursor support * - **************************************************************/ -/* * Copyright (c) 2001 Torrey T. Lyons and Greg Parker. * Copyright (c) 2002 Apple Computer, Inc. * All Rights Reserved. @@ -84,8 +82,17 @@ load_cursor(CursorPtr src, int screen) #ifdef ARGB_CURSOR if (src->bits->argb != NULL) { - rowbytes = src->bits->width * sizeof(CARD32); +#if BITMAP_BIT_ORDER == MSBFirst + rowbytes = src->bits->width * sizeof (CARD32); data = (uint32_t *) src->bits->argb; +#else + const uint32_t *be_data=(uint32_t *) src->bits->argb; + unsigned i; + rowbytes = src->bits->width * sizeof (CARD32); + data=alloca (rowbytes * src->bits->height); + for(i=0;i<(src->bits->width*src->bits->height);i++) + data[i]=ntohl(be_data[i]); +#endif } else #endif diff --git a/hw/darwin/quartz/xpr/xprFrame.c b/hw/darwin/quartz/xpr/xprFrame.c index 76c719ec0..c395f0743 100644 --- a/hw/darwin/quartz/xpr/xprFrame.c +++ b/hw/darwin/quartz/xpr/xprFrame.c @@ -1,7 +1,6 @@ /* * Xplugin rootless implementation frame functions - */ -/* + * * Copyright (c) 2002 Apple Computer, Inc. All rights reserved. * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved. * @@ -411,7 +410,7 @@ xprInit(ScreenPtr pScreen) * Given the id of a physical window, try to find the top-level (or root) * X window that it represents. */ -static WindowPtr +WindowPtr xprGetXWindow(xp_window_id wid) { RootlessWindowRec *winRec; diff --git a/hw/darwin/quartz/xpr/xprScreen.c b/hw/darwin/quartz/xpr/xprScreen.c index b0ddece3f..3f91980bd 100644 --- a/hw/darwin/quartz/xpr/xprScreen.c +++ b/hw/darwin/quartz/xpr/xprScreen.c @@ -1,7 +1,6 @@ /* * Xplugin rootless implementation screen functions - */ -/* + * * Copyright (c) 2002 Apple Computer, Inc. All Rights Reserved. * Copyright (c) 2004 Torrey T. Lyons. All Rights Reserved. * @@ -77,8 +76,14 @@ eventHandler(unsigned int type, const void *arg, if (arg_size == sizeof(xp_window_id)) { xp_window_id id = * (xp_window_id *) arg; - - QuartzMessageServerThread(kXDarwinWindowMoved, 1, id); + WindowPtr pWin = xprGetXWindow(id); + BoxRec box; + xp_error retval = xp_get_window_bounds(id, &box); + if (retval != Success) { + ErrorF("Unable to find new bounds for window\n"); + break; + } + QuartzMessageServerThread(kXDarwinWindowMoved, 3, pWin, box.x1, box.y1); } break; @@ -177,15 +182,15 @@ xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height) frame = displayScreenBounds(dpy); - ErrorF("PseudoramiX 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); + (int)frame.origin.x, (int)frame.origin.y); */ frame.origin.x -= unionRect.origin.x; frame.origin.y -= unionRect.origin.y; - ErrorF("PseudoramiX screen %d placed at X11 coordinate (%d,%d).\n", - i, (int)frame.origin.x, (int)frame.origin.y); + /* 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, frame.size.width, frame.size.height); @@ -203,7 +208,7 @@ xprDisplayInit(void) { CGDisplayCount displayCount; - ErrorF("Display mode: Rootless Quartz -- Xplugin implementation\n"); + // ErrorF("Display mode: Rootless Quartz -- Xplugin implementation\n"); CGGetActiveDisplayList(0, NULL, &displayCount); |