[60274] trunk/dports/x11/xorg-server/files/ afc7663f0dc4e268ba12c8065238b34add8bdcdf.patch

jeremyhu at macports.org jeremyhu at macports.org
Sat Nov 7 13:09:04 PST 2009


Revision: 60274
          http://trac.macports.org/changeset/60274
Author:   jeremyhu at macports.org
Date:     2009-11-07 13:09:04 -0800 (Sat, 07 Nov 2009)
Log Message:
-----------
xorg-server: Add missign patch, sorry

Added Paths:
-----------
    trunk/dports/x11/xorg-server/files/afc7663f0dc4e268ba12c8065238b34add8bdcdf.patch

Added: trunk/dports/x11/xorg-server/files/afc7663f0dc4e268ba12c8065238b34add8bdcdf.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/afc7663f0dc4e268ba12c8065238b34add8bdcdf.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/afc7663f0dc4e268ba12c8065238b34add8bdcdf.patch	2009-11-07 21:09:04 UTC (rev 60274)
@@ -0,0 +1,277 @@
+diff --git a/hw/xquartz/X11Application.h b/hw/xquartz/X11Application.h
+index 5e828a4..d7e9a5f 100644
+--- a/hw/xquartz/X11Application.h
++++ b/hw/xquartz/X11Application.h
+@@ -71,6 +71,7 @@ void X11ApplicationSetFrontProcess (void);
+ void X11ApplicationSetCanQuit (int state);
+ void X11ApplicationServerReady (void);
+ void X11ApplicationShowHideMenubar (int state);
++void X11ApplicationLaunchClient (const char *cmd);
+ 
+ void X11ApplicationMain(int argc, char **argv, char **envp);
+ 
+diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
+index 2c95485..f3c8a30 100644
+--- a/hw/xquartz/X11Application.m
++++ b/hw/xquartz/X11Application.m
+@@ -411,6 +411,9 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
+         SetSystemUIMode(kUIModeAllHidden, quartzFullscreenMenu ? kUIOptionAutoShowMenuBar : 0); // kUIModeAllSuppressed or kUIOptionAutoShowMenuBar can be used to allow "mouse-activation"
+ }
+ 
++- (void) launch_client:(NSString *)cmd {
++    (void)[_controller application:self openFile:cmd];
++}
+ 
+ /* user preferences */
+ 
+@@ -856,6 +859,16 @@ void X11ApplicationShowHideMenubar (int state) {
+     [n release];
+ }
+ 
++void X11ApplicationLaunchClient (const char *cmd) {
++    NSString *string;
++    
++    string = [[NSString alloc] initWithUTF8String:cmd];
++	
++    message_kit_thread (@selector (launch_client:), string);
++	
++    [string release];
++}
++
+ static void check_xinitrc (void) {
+     char *tem, buf[1024];
+     NSString *msg;
+@@ -961,12 +974,6 @@ void X11ApplicationMain (int argc, char **argv, char **envp) {
+     /* not reached */
+ }
+ 
+-void launch_client(const char *cmd) {
+-    NSString *string = [[NSString alloc] initWithUTF8String:cmd];
+-    [[X11App controller] launch_client:string];
+-    [string release];
+-}
+-
+ @implementation X11Application (Private)
+ 
+ #ifdef NX_DEVICELCMDKEYMASK
+diff --git a/hw/xquartz/X11Controller.h b/hw/xquartz/X11Controller.h
+index 3d8e007..bb28447 100644
+--- a/hw/xquartz/X11Controller.h
++++ b/hw/xquartz/X11Controller.h
+@@ -55,7 +55,7 @@ typedef unsigned int NSUInteger;
+ #endif
+ #endif
+ 
+- at interface X11Controller : NSObject
++ at interface X11Controller : NSObject <NSTableViewDataSource>
+ {
+     IBOutlet NSPanel *prefs_panel;
+ 
+@@ -120,6 +120,7 @@ typedef unsigned int NSUInteger;
+ #endif
+ - (void) set_can_quit:(OSX_BOOL)state;
+ - (void) server_ready;
++- (OSX_BOOL) application:(NSApplication *)app openFile:(NSString *)filename;
+ 
+ - (IBAction) apps_table_show:(id)sender;
+ - (IBAction) apps_table_done:(id)sender;
+@@ -144,6 +145,5 @@ typedef unsigned int NSUInteger;
+ #endif /* __OBJC__ */
+ 
+ void X11ControllerMain(int argc, char **argv, char **envp);
+-void launch_client(const char *cmd);
+ 
+ #endif /* X11CONTROLLER_H */
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index 1191547..b28f4d3 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -426,8 +426,8 @@
+   [[columns objectAtIndex:2] setIdentifier:@"2"];
+ 	
+   [apps_table setDataSource:self];
+-  [apps_table selectRow:0 byExtendingSelection:NO];
+-	
++  [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
++
+   [[apps_table window] makeKeyAndOrderFront:sender];
+   [apps_table reloadData];
+   if(oldapps != nil)
+@@ -474,7 +474,7 @@
+   [item release];
+ 	
+   [apps_table reloadData];
+-  [apps_table selectRow:row byExtendingSelection:NO];
++  [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];
+ }
+ 
+ - (IBAction) apps_table_duplicate:sender
+@@ -497,7 +497,7 @@
+   [item release];
+ 	
+   [apps_table reloadData];
+-  [apps_table selectRow:row+1 byExtendingSelection:NO];
++  [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row+1] byExtendingSelection:NO];
+ }
+ 
+ - (IBAction) apps_table_delete:sender
+@@ -519,10 +519,10 @@
+ 	
+   row = MIN (row, [table_apps count] - 1);
+   if (row >= 0)
+-    [apps_table selectRow:row byExtendingSelection:NO];
++    [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];
+ }
+ 
+-- (int) numberOfRowsInTableView:(NSTableView *)tableView
++- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
+ {
+   if (table_apps == nil) return 0;
+   
+@@ -530,7 +530,7 @@
+ }
+ 
+ - (id) tableView:(NSTableView *)tableView
+-objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
++objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
+ {
+   NSArray *item;
+   int col;
+@@ -547,7 +547,7 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
+ }
+ 
+ - (void) tableView:(NSTableView *)tableView setObjectValue:(id)object
+-    forTableColumn:(NSTableColumn *)tableColumn row:(int)row
++    forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
+ {
+   NSMutableArray *item;
+   int col;
+diff --git a/hw/xquartz/applewm.c b/hw/xquartz/applewm.c
+index d2cca13..d1a6175 100644
+--- a/hw/xquartz/applewm.c
++++ b/hw/xquartz/applewm.c
+@@ -213,10 +213,11 @@ static int
+ WMFreeClient (pointer data, XID id) {
+     WMEventPtr   pEvent;
+     WMEventPtr   *pHead, pCur, pPrev;
++    int i;
+ 
+     pEvent = (WMEventPtr) data;
+-    pHead = (WMEventPtr *) LookupIDByType(eventResource, EventType);
+-    if (pHead) {
++    i = dixLookupResourceByType((pointer *)&pHead, eventResource, EventType, serverClient, DixReadAccess | DixWriteAccess | DixDestroyAccess);
++    if (i == Success && pHead) {
+         pPrev = 0;
+         for (pCur = *pHead; pCur && pCur != pEvent; pCur=pCur->next)
+             pPrev = pCur;
+@@ -254,12 +255,12 @@ ProcAppleWMSelectInput (register ClientPtr client)
+     REQUEST(xAppleWMSelectInputReq);
+     WMEventPtr      pEvent, pNewEvent, *pHead;
+     XID             clientResource;
++    int             i;
+ 
+     REQUEST_SIZE_MATCH (xAppleWMSelectInputReq);
+-    pHead = (WMEventPtr *)SecurityLookupIDByType(client,
+-                        eventResource, EventType, DixWriteAccess);
++    i = dixLookupResourceByType((pointer *)&pHead, eventResource, EventType, client, DixWriteAccess);
+     if (stuff->mask != 0) {
+-        if (pHead) {
++        if (i == Success && pHead) {
+             /* check for existing entry. */
+             for (pEvent = *pHead; pEvent; pEvent = pEvent->next)
+             {
+@@ -293,7 +294,7 @@ ProcAppleWMSelectInput (register ClientPtr client)
+          * the list may be arbitrarily rearranged which cannot be
+          * done through the resource database.
+          */
+-        if (!pHead)
++        if (i != Success || !pHead)
+         {
+             pHead = (WMEventPtr *) xalloc (sizeof (WMEventPtr));
+             if (!pHead ||
+@@ -309,7 +310,7 @@ ProcAppleWMSelectInput (register ClientPtr client)
+         updateEventMask (pHead);
+     } else if (stuff->mask == 0) {
+         /* delete the interest */
+-        if (pHead) {
++        if (i == Success && pHead) {
+             pNewEvent = 0;
+             for (pEvent = *pHead; pEvent; pEvent = pEvent->next) {
+                 if (pEvent->client == client)
+@@ -342,9 +343,10 @@ AppleWMSendEvent (int type, unsigned int mask, int which, int arg) {
+     WMEventPtr      *pHead, pEvent;
+     ClientPtr       client;
+     xAppleWMNotifyEvent se;
++    int             i;
+ 
+-    pHead = (WMEventPtr *) LookupIDByType(eventResource, EventType);
+-    if (!pHead)
++    i = dixLookupResourceByType((pointer *)&pHead, eventResource, EventType, serverClient, DixReadAccess);
++    if (i != Success || !pHead)
+         return;
+     for (pEvent = *pHead; pEvent; pEvent = pEvent->next) {
+         client = pEvent->client;
+diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c
+index 5bbb9c9..90f6610 100644
+--- a/hw/xquartz/quartzKeyboard.c
++++ b/hw/xquartz/quartzKeyboard.c
+@@ -387,6 +387,7 @@ void DarwinKeyboardReloadHandler(void) {
+         keySyms.minKeyCode = MIN_KEYCODE;
+         keySyms.maxKeyCode = MAX_KEYCODE;
+ 
++	// TODO: We should build the entire XkbDescRec and use XkbCopyKeymap
+         /* Apply the mappings to darwinKeyboard */
+         XkbApplyMappingChange(darwinKeyboard, &keySyms, keySyms.minKeyCode,
+                               keySyms.maxKeyCode - keySyms.minKeyCode + 1,
+@@ -408,7 +409,7 @@ void DarwinKeyboardReloadHandler(void) {
+     if (access(xmodmap, F_OK) == 0) {
+         if (access(sysmodmap, F_OK) == 0) {
+             snprintf (cmd, sizeof(cmd), "%s %s", xmodmap, sysmodmap);
+-            launch_client(cmd);
++            X11ApplicationLaunchClient(cmd);
+         }
+     }
+         
+@@ -417,7 +418,7 @@ void DarwinKeyboardReloadHandler(void) {
+         snprintf (usermodmap, sizeof(usermodmap), "%s/.Xmodmap", homedir);
+         if (access(usermodmap, F_OK) == 0) {
+             snprintf (cmd, sizeof(cmd), "%s %s", xmodmap, usermodmap);
+-            launch_client(cmd);
++            X11ApplicationLaunchClient(cmd);
+         }
+     }
+ }
+@@ -767,9 +768,12 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
+ #endif
+         }
+ 
+-        if (k[3] == k[2]) k[3] = NoSymbol;
+-        if (k[1] == k[0]) k[1] = NoSymbol;
+-        if (k[0] == k[2] && k[1] == k[3]) k[2] = k[3] = NoSymbol;
++        // There seems to be an issue with this in 1.5+, shift-space is not
++        // producing space, it's sending NoSymbol... ?
++        //if (k[3] == k[2]) k[3] = NoSymbol;
++        //if (k[1] == k[0]) k[1] = NoSymbol;
++        //if (k[0] == k[2] && k[1] == k[3]) k[2] = k[3] = NoSymbol;
++        //if (k[3] == k[0] && k[2] == k[1] && k[2] == NoSymbol) k[3] = NoSymbol;
+     }
+ 
+     /* Fix up some things that are normally missing.. */
+@@ -780,7 +784,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
+ 
+             if    (k[0] == NoSymbol && k[1] == NoSymbol
+                 && k[2] == NoSymbol && k[3] == NoSymbol)
+-	      k[0] = known_keys[i].keysym;
++	      k[0] = k[1] = k[2] = k[3] = known_keys[i].keysym;
+         }
+     }
+ 
+@@ -793,7 +797,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
+             k = info->keyMap + known_numeric_keys[i].keycode * GLYPHS_PER_KEY;
+ 
+             if (k[0] == known_numeric_keys[i].normal)
+-                k[0] = known_numeric_keys[i].keypad;
++                k[0] = k[1] = k[2] = k[3] = known_numeric_keys[i].keypad;
+         }
+     }
+ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20091107/c3ccf9c8/attachment.html>


More information about the macports-changes mailing list