]> err.no Git - sope/commitdiff
fixed an edge case with NGBundleManager
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 17 Nov 2004 22:16:19 +0000 (22:16 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 17 Nov 2004 22:16:19 +0000 (22:16 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@390 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-core/NGExtensions/ChangeLog
sope-core/NGExtensions/NGBundleManager.m
sope-core/NGExtensions/NGExtensions/NSNull+misc.h
sope-core/NGExtensions/Version

index 6679ca3e24cb1268f568c6643b6d3eb2e83891be..da9f19cca8338ad1d6b18b530b4edf05ae27b967 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-17  Helge Hess  <helge.hess@opengroupware.org>
+
+       * NGBundleManager.m: fixed a bug in the bundle type check when the
+         cached bundle is NSNull (v4.5.133)
+
 2004-11-17  Marcus Mueller  <znek@mulle-kybernetik.com>
 
        * NGLogging: updated (v4.5.132)
index 001fc60dbcf4ac586272307cc0fce4b8b8054a8b..8edd9d4da3f90e45c3185988fc10e7298837f41b 100644 (file)
@@ -22,6 +22,7 @@
 #include "NGBundleManager.h"
 #include "common.h"
 #include <NGExtensions/NSObject+Logs.h>
+#include <NGExtensions/NSNull+Misc.h>
 #import <Foundation/NSFileManager.h>
 #import <EOControl/EOQualifier.h>
 #include <ctype.h>
@@ -595,14 +596,18 @@ static NSString *NGEnvVarPathSeparator = @":";
   bn     = [_name stringByAppendingPathExtension:_type];
   bundle = NSMapGet(self->nameToBundle, bn);
   
-  if (bundle == nil) {
+  if (![bundle isNotNull]) {
     bundle = [self bundleWithPath:
                     [self pathForBundleWithName:_name type:_type]];
   }
   
-  if (bundle != nil && ![[bundle bundleType] isEqualToString:_type])
-    bundle = nil;
+  if (![bundle isNotNull]) /* NSNull is used to signal missing bundles */
+    return nil;
+  
+  if (![[bundle bundleType] isEqualToString:_type])
+    return nil;
   
+  /* bundle matches */
   return bundle;
 }
 - (NSBundle *)bundleWithName:(NSString *)_name {
index eb6b3eed6c3e4639fa7c022ce6d61f07f928f2f2..414be0f639a819fc2b9177277797fec4b00a4b2d 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  Copyright (C) 2000-2003 SKYRIX Software AG
+  Copyright (C) 2000-2004 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of OpenGroupware.org.
 
   OGo is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
@@ -18,7 +18,6 @@
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id$
 
 #ifndef __NSNull_misc_H__
 #define __NSNull_misc_H__
index 52895010acf641ce6928bc16e016a0e1bf5af45e..a03e8d98c3eaa7b7ff519d049f59272b21b53768 100644 (file)
@@ -1,6 +1,6 @@
 # version
 
-SUBMINOR_VERSION:=132
+SUBMINOR_VERSION:=133
 
 # v4.3.115 requires libFoundation v1.0.59
 # v4.2.72  requires libEOControl  v4.2.39