diff --git a/ChangeLog b/ChangeLog index a252970ef..4062e37d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,36 @@ +2008-10-19 Riccardo Mottola > + + * Source/GSServicesManager.m: dont unreigster non existent named port + +2008-10-18 19:06-EDT Gregory John Casamento + + * Source/NSWindow.m: Remove code in stringWithSavedFrame which was causing a + crash due to issues in NSToolbar described in bug#24601. + +2008-10-18 Riccardo Mottola > + + * Source/NSWorkspace.m: Removed c99-ism + +2008-10-17 Fred Kiefer + + * Source/NSWindow.m (+initialize, -startBackendWindow:): Move the + initialization of windowmaps to initialize. + +2008-09-17 18:15-EDT Gregory John Casamento + + * Source/GSInfoPanel.m: Minor correction in initWithDictionary to + display url properly, if it is not specified in the dictionary passed + or if the dictionary is nil. + +2008-09-17 17:52-EDT Gregory John Casamento + + * Source/NSWorkspace.m: Exclude list of reserved mount names from + the results returned by -mountedLocalVolumePaths. + +2008-09-14 13:18-EDT Gregory John Casamento + + * install.sh: Adding install script for use by compile-all. + 2008-09-08 Fred Kiefer * Source/GSInfoPanel.m (-keyDown:, -copy:): Added functionality to diff --git a/Source/GSServicesManager.m b/Source/GSServicesManager.m index 8eabfe23d..bb4d9c29c 100644 --- a/Source/GSServicesManager.m +++ b/Source/GSServicesManager.m @@ -142,7 +142,7 @@ NSRegisterServicesProvider(id provider, NSString *name) ns = [NSPortNameServer systemDefaultPortNameServer]; namedPort = [ns portForName: name]; - if ([listenerConnection receivePort] == namedPort) + if (namedPort && [listenerConnection receivePort] == namedPort) { [ns removePortForName: name]; namedPort = nil; diff --git a/Source/NSWindow.m b/Source/NSWindow.m index a6e0d7a31..66d891d09 100644 --- a/Source/NSWindow.m +++ b/Source/NSWindow.m @@ -631,6 +631,8 @@ static NSNotificationCenter *nc = nil; responderClass = [NSResponder class]; viewClass = [NSView class]; autosaveNames = [NSMutableSet new]; + windowmaps = NSCreateMapTable(NSIntMapKeyCallBacks, + NSNonRetainedObjectMapValueCallBacks, 20); nc = [NSNotificationCenter defaultCenter]; } } @@ -812,10 +814,6 @@ many times. { NSDictionary *info; - if (!windowmaps) - windowmaps = NSCreateMapTable(NSIntMapKeyCallBacks, - NSNonRetainedObjectMapValueCallBacks, 20); - NSMapInsert(windowmaps, (void*)(intptr_t)_windowNum, self); // Make sure not to create an autoreleased object, @@ -4540,28 +4538,6 @@ current key view.
fRect = _frame; - /* - * FIXME: This may not be such an elegant solution, but it works. - * I need to find a better way to handle this, maybe in the window - * decoration view could handle these calculations. - */ - if([self toolbar] != nil) - { - NSView *tbview = [[self toolbar] _toolbarView]; - NSRect tbframe = [tbview frame]; - if([tbview superview] != nil) - { - NSRect r = [[self contentViewWithoutToolbar] frame]; - r = [NSWindow frameRectForContentRect: r - styleMask: _styleMask]; - - // copy w/h - fRect.size.width = r.size.width; - fRect.size.height = r.size.height; - fRect.origin.y += tbframe.size.height; - } - } - /* * The screen rectangle should gives the area of the screen in which * the window could be placed (ie a rectangle excluding the dock). diff --git a/Source/NSWorkspace.m b/Source/NSWorkspace.m index 5292fa776..3e3f0172e 100644 --- a/Source/NSWorkspace.m +++ b/Source/NSWorkspace.m @@ -1609,6 +1609,7 @@ inFileViewerRootedAtPath: (NSString*)rootFullpath FILE *fptr = fopen("/etc/mtab", "r"); struct mntent *m; + names = [NSMutableArray arrayWithCapacity: 8]; while ((m = getmntent(fptr)) != 0) { @@ -1619,12 +1620,35 @@ inFileViewerRootedAtPath: (NSString*)rootFullpath [names addObject: path]; } #else - - // FIXME This is system specific - NSString *mtab = [NSString stringWithContentsOfFile: @"/etc/mtab"]; - NSArray *mounts = [mtab componentsSeparatedByString: @"\n"]; + NSString *mtabPath; + NSString *mtab; + NSArray *mounts, *reservedMountNames; unsigned int i; + // get mount table... + mtabPath = [[NSUserDefaults standardUserDefaults] objectForKey:@"GSMtabPath"]; + if (mtabPath == nil) + { + mtabPath = @"/etc/mtab"; + } + + // get reserved names.... + reservedMountNames = [[NSUserDefaults standardUserDefaults] objectForKey: @"GSReservedMountNames"]; + if(reservedMountNames == nil) + { + reservedMountNames = [NSArray arrayWithObjects: + @"proc",@"devpts", + @"shm",@"usbdevfs", + @"devpts",@"sysfs", + @"tmpfs",@"procbususb", + @"udev",nil]; + [[NSUserDefaults standardUserDefaults] setObject: reservedMountNames + forKey: @"GSReservedMountNames"]; + } + + mtab = [NSString stringWithContentsOfFile:mtabPath]; + mounts = [mtab componentsSeparatedByString: @"\n"]; + names = [NSMutableArray arrayWithCapacity: [mounts count]]; for (i = 0; i < [mounts count]; i++) { @@ -1638,9 +1662,7 @@ inFileViewerRootedAtPath: (NSString*)rootFullpath { NSString *type = [parts objectAtIndex: 2]; - if ([type isEqualToString: @"proc"] == NO - && [type isEqualToString: @"devpts"] == NO - && [type isEqualToString: @"shm"] == NO) + if ([reservedMountNames containsObject: type] == NO) { [names addObject: [parts objectAtIndex: 1]]; } diff --git a/install.sh b/install.sh new file mode 100644 index 000000000..9c5853b39 --- /dev/null +++ b/install.sh @@ -0,0 +1,9 @@ +#/bin/sh + +PREFIX=$1 +MAKE=$2 + +. $PREFIX/System/Library/Makefiles/GNUstep.sh +$MAKE install + +exit 0 \ No newline at end of file