pply bugfix

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29782 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2010-02-26 15:07:16 +00:00
parent 74736d8ef4
commit fab825f3bb
2 changed files with 43 additions and 8 deletions

View file

@ -1,3 +1,7 @@
2010-02-26 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSBundle.m: Apply suggested fix for bug #29012
2010-02-26 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSOperation.m:

View file

@ -1047,15 +1047,46 @@ _bundle_load_callback(Class theClass, struct objc_category *theCategory)
if (isApplication == YES)
{
s = [path lastPathComponent];
if ((([s hasSuffix: @".app"] == NO)
&& ([s hasSuffix: @".debug"] == NO)
&& ([s hasSuffix: @".profile"] == NO))
// GNUstep Web
&& (([s hasSuffix: @".gswa"] == NO)
&& ([s hasSuffix: @".woa"] == NO)))
if ([s hasSuffix: @".app"] == NO
&& [s hasSuffix: @".debug"] == NO
&& [s hasSuffix: @".profile"] == NO
&& [s hasSuffix: @".gswa"] == NO // GNUstep Web
&& [s hasSuffix: @".woa"] == NO // GNUstep Web
)
{
isApplication = NO;
/* Well known file extension ... app wrapper format.
*/
isApplication = YES;
}
else
{
NSFileManager *mgr = manager();
BOOL f;
/* Might be an app wrapper with another extension...
* Look for Info-gnustep.plist or Info.plist in a
* Resources subdirectory.
*/
s = [path stringByAppendingPathComponent: @"Resources"];
if ([mgr fileExistsAtPath: s isDirectory: &f] == NO || f == NO)
{
isApplication = NO;
}
else
{
NSString *i;
i = [s stringByAppendingPathComponent: @"Info-gnustep.plist"];
if ([mgr isReadableFileAtPath: i] == NO)
{
i = [s stringByAppendingPathComponent: @"Info.plist"];
if ([mgr isReadableFileAtPath: i] == NO)
{
isApplication = NO;
}
}
}
}
}