Check that application name really exists in userinfo dictionary.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@22415 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2006-02-03 07:26:26 +00:00
parent 34d79dd427
commit b93e73b1a9
2 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2006-02-03 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSWorkspace.m: In GSLaunched() be more defensive and don't
assume that the values which should be present in the notification
userinfo dictionry really are there.
2006-02-02 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSWorkspace.m: remove an app from list of launched apps if
@ -16,6 +22,9 @@
* Source/NSDataLink.m: ditto
* Source/NSView.m: ditto
* Source/NSDocument.m: ditto
Are these changes nneded? The compiler seemed to be casting bitfield
values to char as things other than 1 or 0 ... but I was tired when
looking at this and it seems unlikely.
2006-02-01 Richard Frith-Macdonald <rfm@gnu.org>

View file

@ -94,6 +94,7 @@ static id GSLaunched(NSNotification *notification, BOOL active)
NSDictionary *info = [notification userInfo];
NSString *mode = [notification name];
NSMutableDictionary *file = nil;
NSString *name;
NSDictionary *apps = nil;
BOOL modified = NO;
@ -159,9 +160,9 @@ static id GSLaunched(NSNotification *notification, BOOL active)
RELEASE(apps);
}
if (info != nil)
if (info != nil
&& (name = [info objectForKey: @"NSApplicationName"]) != nil)
{
NSString *name = [info objectForKey: @"NSApplicationName"];
NSDictionary *oldInfo = [apps objectForKey: name];
if ([mode isEqualToString: