gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gmodel loading appears to be broken


From: Fred Kiefer
Subject: Re: gmodel loading appears to be broken
Date: Sat, 28 Aug 2010 19:04:27 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.11) Gecko/20100714 SUSE/3.0.6 Thunderbird/3.0.6

Am 28.08.2010 10:12, schrieb Yavor Doganov:
> Cenon 3.83 works correctly with GUI 0.16, but with 0.18 dies with
> 
>   Cenon: Uncaught exception NSInternalInconsistencyException, reason:
>   Abstract model loader.
> 
> Breakpoint 1, -[NSException raise] (self=0x8594358, _cmd=0xb7b387c0) at 
> NSException.m:946
> 946   NSException.m: Няма такъв файл или директория.
>       in NSException.m
> #0  -[NSException raise] (self=0x8594358, _cmd=0xb7b387c0) at 
> NSException.m:946
> No locals.
> #1  0xb795eb86 in +[NSException raise:format:arguments:] (self=0xb7b385c0, 
> _cmd=0xb7b387a8, name=0xb7b388f8, format=0xb7fbe994, argList=0xbffff520 
> "��W\b\220��\030CY\bd����\\\b���\210���6�ҷ��\\\b���(;address@hidden") at 
> NSException.m:839
>         except = 0x8594358
> #2  0xb795faa3 in +[NSException raise:format:] (self=0xb7b385c0, 
> _cmd=0xb7fbe880, name=0xb7b388f8, format=0xb7fbe994) at NSException.m:825
> No locals.
> #3  0xb7e6701b in -[GSModelLoader loadModelData:externalNameTable:withZone:] 
> (self=0x85ce5c0, _cmd=0xb7f3c2b0, data=0x8583b28, context=0x8539c10, 
> zone=0xb7b7ed40) at GSModelLoaderFactory.m:55
> No locals.
> #4  0xb7d2f936 in -[NSNib instantiateNibWithExternalNameTable:withZone:] 
> (self=0x857e1d8, _cmd=0xb7ef5fa0, externalNameTable=0x8539c10, 
> zone=0xb7b7ed40) at NSNib.m:153
> No locals.
> #5  0xb7c90be8 in +[NSBundle(NSBundleAdditions) 
> loadNibFile:externalNameTable:withZone:] (self=0xb7b242a0, _cmd=0xb7ef6020, 
> fileName=0x858afd8, context=0x8539c10, zone=0xb7b7ed40) at 
> NSBundleAdditions.m:235
>         loaded = 216 '�'
> #6  0xb7c90af5 in -[NSBundle(NSBundleAdditions) 
> loadNibFile:externalNameTable:withZone:] (self=0x84a4040, _cmd=0xb7ef5fc8, 
> fileName=0x822d08c, context=0x8539c10, zone=0xb7b7ed40) at 
> NSBundleAdditions.m:339
>         path = 0x858afd8
> #7  0xb7c90d2f in +[NSBundle(NSBundleAdditions) loadNibNamed:owner:] 
> (self=0xb7b242a0, _cmd=0x822d050, aNibName=0x822d08c, owner=0x84acc38) at 
> NSBundleAdditions.m:269
>         table = 0x8539c10
>         bundle = 0x8594370
> #8  0x0805082b in main (argc=1, argv=0xbffff784) at Cenon_main.m:63
>         infoDict = <value optimized out>
>         appClass = <value optimized out>
> 
> 
> Line 63 is simply
> 
>     if (![NSBundle loadNibNamed:@"Main" owner:app])
>         NSLog(@"Cannot load Main interface file");
> 
> and Main is a .gmodel file.
> 
> It looks like this is due to this change:
> 
> 2010-03-22 Fred Kiefer <address@hidden>
> 
>         * Headers/Additions/GNUstepGUI/GSModelLoaderFactory.h,
>         * Source/GSModelLoaderFactory.m,
>       * Source/GSGormLoader.m,
>         * Source/GSXibLoader.m,
>       * Source/GSNibLoader.m: New method dataForFile: on GSModelLoader
>         and its subclasses.
>         * Source/NSNib.m: Use this new method to load NIB files.
>       * Source/NSBundleAdditions.m: Use NSNib for NIB loading.
>         * Source/GSNibLoading.m: Correctly handle top level objects and
>         clean up dealloc for most classes here.
> 
> Is .gmodel file loading deprecated now, or that's simply a bug?

We are slowly phasing out GModel data, but this is still a bug. GNUstep
code should be able to load GModel data. Looks like I did forget to
adjust the GSGModelLoader code to the new structure of NIB loading.
I will correct this, although it may take some time as this will require
some changes to the external working of the libGModel.

Great that you actually found this, looks like nobody else did load a
GModel file in the last few months.

Fred





reply via email to

[Prev in Thread] Current Thread [Next in Thread]