diff --git a/AppKit/Cib/CPCibLoading.j b/AppKit/Cib/CPCibLoading.j index fa5bd6956..7c346dd95 100644 --- a/AppKit/Cib/CPCibLoading.j +++ b/AppKit/Cib/CPCibLoading.j @@ -49,7 +49,7 @@ var CPCibOwner = @"CPCibOwner", + (CPCib)loadCibNamed:(CPString)aName owner:(id)anOwner { - return [self loadCibNamed:aName owner:anOwner loadDelegate:nil]; + return [self loadCibFile:[self _cibPathForName:aName withOwner:anOwner] externalNameTable:@{ CPCibOwner: anOwner }]; } - (CPCib)loadCibFile:(CPString)aFileName externalNameTable:(CPDictionary)aNameTable @@ -68,14 +68,7 @@ var CPCibOwner = @"CPCibOwner", + (CPCib)loadCibNamed:(CPString)aName owner:(id)anOwner loadDelegate:(id)aDelegate { - if (![aName hasSuffix:@".cib"]) - aName = [aName stringByAppendingString:@".cib"]; - - // Path is based solely on anOwner: - var bundle = anOwner ? [CPBundle bundleForClass:[anOwner class]] : [CPBundle mainBundle], - path = [bundle _cibPathForResource:aName]; - - return [self loadCibFile:path externalNameTable:@{ CPCibOwner: anOwner } loadDelegate:aDelegate]; + return [self loadCibFile:[self _cibPathForName:aName withOwner:anOwner] externalNameTable:@{ CPCibOwner: anOwner } loadDelegate:aDelegate]; } - (CPCib)loadCibFile:(CPString)aFileName externalNameTable:(CPDictionary)aNameTable loadDelegate:(id)aDelegate @@ -101,6 +94,17 @@ var CPCibOwner = @"CPCibOwner", return [self pathForResource:aName]; } ++ (CPString)_cibPathForName:(CPString)aName withOwner:(id)anOwner +{ + if (![aName hasSuffix:@".cib"]) + aName = [aName stringByAppendingString:@".cib"]; + + // Path is based solely on anOwner: + var bundle = anOwner ? [CPBundle bundleForClass:[anOwner class]] : [CPBundle mainBundle]; + + return [bundle _cibPathForResource:aName]; +} + @end @implementation _CPCibLoadDelegate : CPObject