From: Alexei S. <ale...@gm...> - 2010-01-02 19:27:16
|
Hi Tim, I've committed a change that creates and releases the pool around the call to the modal prefs dialog only. Can you verify that this gets rid of the messages? -Alexei On Sat, Jan 2, 2010 at 4:27 AM, Christian Bauer <cb...@ce...> wrote: > I'm no Objective C or Cocoa master either... :) > > -------- Original Message -------- > Subject: [PATCH] SheepShaver, Mac OS X, and NSAutoreleasePool > Date: Fri, 1 Jan 2010 16:07:45 -0500 > From: Tim Douglas <ti...@gm...> > To: cb...@ce... > > Mr. Bauer, > > Thanks so much for the development of SheepShaver. It's wonderful reliving > memories of Mac OSs past on my shiny Core 2 MacBook Pro. When compiling the > source from CVS and running it on Mac OS X 10.5.8, I receive these messages > on stderr: > > 2010-01-01 16:02:08.421 SheepShaver[11638:10b] *** _NSAutoreleaseNoPool(): > Object 0x30d800 of class NSPathStore2 autoreleased with no pool in place - > just leaking > Stack: (0x92b65f4f 0x92a73637 0x92a7feb7 0x957c7fa3 0x957f2e6d 0x78072372 > 0x7804a29f 0x78049066) > 2010-01-01 16:02:08.423 SheepShaver[11638:10b] *** _NSAutoreleaseNoPool(): > Object 0x314490 of class NSCFData autoreleased with no pool in place - just > leaking > Stack: (0x92b65f4f 0x92a72432 0x92a86b25 0x92a86701 0x957c8280 0x957c8161 > 0x957c7fdf 0x957f2e6d 0x78072372 0x7804a29f 0x78049066) > 2010-01-01 16:02:08.430 SheepShaver[11638:10b] *** _NSAutoreleaseNoPool(): > Object 0xa08a0fa0 of class NSCFString autoreleased with no pool in place - > just leaking > Stack: (0x92b65f4f 0x92a72432 0x957c8161 0x957c7fdf 0x957f2e6d 0x78072372 > 0x7804a29f 0x78049066) > > ...and five more similar ones. It appears as if Cocoa APIs are being used > without an NSAutoreleasePool in place. The attached CVS diff appears to fix > the issue by establishing the appropriate pool before the calls are > made. I'm no Objective C or Cocoa master, nor do I have that strong of a > grasp of the internal workings of SheepShaver, but presumably something > along these lines is all that's needed. > > Thanks again for the great emulator! > -Tim > > ---------cut here--------- > > Index: src/MacOSX/prefs_macosx.mm > =================================================================== > RCS file: /home/cvs/cebix/SheepShaver/src/MacOSX/prefs_macosx.mm,v > retrieving revision 1.2 > diff -u -r1.2 prefs_macosx.mm > --- src/MacOSX/prefs_macosx.mm 18 Aug 2009 18:22:01 -0000 1.2 > +++ src/MacOSX/prefs_macosx.mm 1 Jan 2010 20:56:08 -0000 > @@ -30,6 +30,7 @@ > @interface SheepShaverMain : NSObject > NSArray *nibObjects; > NSWindow *prefsWindow; > + NSAutoreleasePool *pool; > @end > > @implementation SheepShaverMain > @@ -97,6 +98,7 @@ > NSMenu *appMenu; > NSMenuItem *menuItem; > > + pool = [[NSAutoreleasePool alloc] init]; > appMenu = [[[NSApp mainMenu] itemAtIndex:0] submenu]; > menuItem = [[NSMenuItem alloc] initWithTitle:@"Preferences..." > action:@selector(openPreferences:) keyEquivalent:@","]; > [appMenu insertItem:menuItem atIndex:2]; > @@ -113,4 +115,5 @@ > > void prefs_exit(void) > { > + [pool release]; > } > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel > > |