[Debian GNUstep maintainers] Bug#467199: Bug#467199: Bug#467199: Mpdcon.app: Segfault

Yavor Doganov yavor at gnu.org
Mon Feb 25 20:54:36 UTC 2008


On Mon, Feb 25, 2008 at 10:43:10PM +0200, Yavor Doganov wrote:
> Could you please rebuild gnustep-base with the attached upstream patch
> and see if you can reproduce the bug?

Sorry, I messed this up.  Here's the patch.
-------------- next part --------------
2008-02-25 Fred Kiefer <FredKiefer at gmx.de>

	* Source/x11/XGServer.m (-_screenContextForScreen:): Remove wrong
	local variable declaration and reorder code.
	* Source/x11/XGServer.m (-_initXContext:): Don't create default screen.

Index: Source/x11/XGServer.m
===================================================================
--- Source/x11/XGServer.m	(revision 26069)
+++ Source/x11/XGServer.m	(working copy)
@@ -374,7 +374,6 @@
 {
   int			screen_number, display_number;
   NSString		*display_name;
-  XGScreenContext       *screen;
 
   display_name = [server_info objectForKey: GSDisplayName];
   if (display_name == nil)
@@ -437,9 +436,6 @@
     screenList = NSCreateMapTable(NSIntMapKeyCallBacks,
                                  NSObjectMapValueCallBacks, 20);
 
-  screen = [[XGScreenContext alloc] initForDisplay: dpy screen: screen_number];
-  AUTORELEASE(screen);
-  NSMapInsert(screenList, (void *)(uintptr_t)screen_number, (void *)screen);
   defScreen = screen_number;
 
   XSetErrorHandler(XGErrorHandler);
@@ -504,12 +500,12 @@
   screen = NSMapGet(screenList, (void *)(uintptr_t)screen_number);
   if (screen == NULL)
     {
-      XGScreenContext *screen;
       screen = [[XGScreenContext alloc] 
 		 initForDisplay: dpy screen: screen_number];
-      AUTORELEASE(screen);
       NSMapInsert(screenList, (void *)(uintptr_t)screen_number, (void *)screen);
+      RELEASE(screen);
     }
+
   return screen;
 }
 


More information about the pkg-GNUstep-maintainers mailing list