Hi Fred, On 01.09.2011, at 02:46, Fred Kiefer wrote:
> On 29.08.2011 10:25, Georg Fleischmann wrote: >> On 28.08.2011, at 08:10, Germán Arias wrote: >>> Now compile. But crash at launch. This is the backtrace: >>> >>> (gdb) backtrace >>> #0 0xb6df5fe6 in objc_msg_lookup (receiver=0xb7655740, op=0xb76155f0) >>> at /home/german/Instalados/GCC/gcc-4.6.0/libobjc/sendmsg.c:397 >>> #1 0xb735e433 in -[NSApplication setApplicationIconImage:] >>> (self=0x8050134, >>> _cmd=0x84a295c, anImage=0x824c070) at NSApplication.m:2332 >>> #2 0xbff15c38 in ?? () >>> #3 0x08050134 in main (argc=786480, argv=0x824bc85) at Cenon_main.m:62 >> >> It's crashing within GNUstep when setting the Application Icon. It used to >> work. >> Anyway, just change the following line to a capital "C". This is obviously >> wrong >> (since July 2002): >> >> [app setApplicationIconImage:[NSImageimageNamed:@"cenon.tiff"]]; >> to >> [app setApplicationIconImage:[NSImageimageNamed:@"Cenon.tiff"]]; >> >> I have uploaded a new source package 3.9.5 also, fixing both issues. > > Hi Georg, > > thank you for the quick fix. Although there was a bug in your code, I still > would like to understand what is going wrong on the GNUstep side. > First of all, why do you need your own main function? Would it be possible to > call the GNUstep implementation of NSApplicationMain? You may have to add an > Info.plist to define the main bundle and the application icon, but most > likely you have that file anyway. Just checked you already have that file but > the NSMainNibFile key is missing there. Could you please try to add a > definition for that and remove the special GNUstep main implementation? I will do this. This special treatment of GNUstep in the main file of Cenon is pretty old. Apple and OpenStep simply call the NSApplicationMain(), but I guess GNUstep didn't provide a (complete) Info plist at the time of the code, or I just missed something then. I am pretty confident that NSApplicationMain() will work now. I changed it to standard and will test it when compiling a new package of Cenon. I also added missing entries to the CenonInfo.plist, most importantly NSMainNibFile = Main; and NSPrincipalClass = App; Thanks for pointing this out. > But even that still doesn't explain what may go wrong here. Most likely we > are talking about a sparc processor here. There (and on very view other > machines) message sends to nil that are supposed to return a structure crash > the program. We need to check before each such message send whether we have > nil. This is missing in the code in question. I will add that, although it is > no longer needed for Cenon. This would certainly explain this. Best wishes, Georg _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
