mirror of
https://github.com/gnustep/apps-gorm.git
synced 2025-04-22 22:20:44 +00:00
Correction for crash.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@21632 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
b471f14c0b
commit
7eea631946
2 changed files with 64 additions and 62 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-08-12 01:23 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* GormCore/GormClassEditor.m: Correction for crash when loading
|
||||
.gorm files via [NSApplication openFile:...].
|
||||
|
||||
2005-08-11 23:00 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* GormCore/GormInspectorsManager.m: Removed explicit check for table
|
||||
|
|
|
@ -275,71 +275,68 @@ NSString *GormSwitchViewPreferencesNotification = @"GormSwitchViewPreferencesNot
|
|||
int row = 0;
|
||||
int col = 0;
|
||||
|
||||
if ( ( className == nil )
|
||||
|| ( [className isEqual: @"CustomView"] )
|
||||
|| ( [className isEqual: @"GormSound"] )
|
||||
|| ( [className isEqual: @"GormImage"] )
|
||||
|| ( [outlineView isEditing] ) )
|
||||
if ( ( className != nil )
|
||||
&& ( [className isEqual: @"CustomView"] == NO )
|
||||
&& ( [className isEqual: @"GormSound"] == NO )
|
||||
&& ( [className isEqual: @"GormImage"] == NO )
|
||||
&& ( [outlineView isEditing] == NO ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
classes = [classManager allSuperClassesOf: className];
|
||||
en = [classes objectEnumerator];
|
||||
// open the items...
|
||||
while ((currentClass = [en nextObject]) != nil)
|
||||
{
|
||||
[outlineView expandItem: currentClass];
|
||||
}
|
||||
|
||||
// select the item in the outline view...
|
||||
row = [outlineView rowForItem: className];
|
||||
if (row != -1)
|
||||
{
|
||||
[outlineView selectRow: row byExtendingSelection: NO];
|
||||
[outlineView scrollRowToVisible: row];
|
||||
}
|
||||
|
||||
// select class in browser...
|
||||
subClassesArray = [NSMutableArray arrayWithArray: [classManager allSuperClassesOf: className]];
|
||||
if ((subClassesArray == nil || [subClassesArray count] == 0) &&
|
||||
[classManager isRootClass: className] == NO)
|
||||
{
|
||||
return;
|
||||
}
|
||||
[subClassesArray addObject: className]; // include in the list.
|
||||
|
||||
// Get the super class position in the browser. Passing "nil" to subClassesOf causes it
|
||||
// to get all of the root classes.
|
||||
col = 0;
|
||||
row = [[classManager subClassesOf: nil] indexOfObject: [subClassesArray objectAtIndex: 0]];
|
||||
|
||||
// reset the enumerator...
|
||||
currentClass = nil;
|
||||
[browserView reloadColumn:col];
|
||||
|
||||
// if row is not NSNotFound, then we found something.
|
||||
if(row != -1)
|
||||
{
|
||||
[browserView selectRow: row inColumn: col];
|
||||
en = [subClassesArray objectEnumerator];
|
||||
[en nextObject]; // skip the first one.
|
||||
while((currentClass = [en nextObject]) != nil)
|
||||
classes = [classManager allSuperClassesOf: className];
|
||||
en = [classes objectEnumerator];
|
||||
// open the items...
|
||||
while ((currentClass = [en nextObject]) != nil)
|
||||
{
|
||||
NSString *prevClass = [[browserView selectedCellInColumn: col] stringValue];
|
||||
subclasses = [classManager subClassesOf: prevClass];
|
||||
row = [subclasses indexOfObject: currentClass];
|
||||
col++;
|
||||
[browserView selectRow:row inColumn:col];
|
||||
[outlineView expandItem: currentClass];
|
||||
}
|
||||
|
||||
// select the item in the outline view...
|
||||
row = [outlineView rowForItem: className];
|
||||
if (row != -1)
|
||||
{
|
||||
[outlineView selectRow: row byExtendingSelection: NO];
|
||||
[outlineView scrollRowToVisible: row];
|
||||
}
|
||||
|
||||
// select class in browser...
|
||||
subClassesArray = [NSMutableArray arrayWithArray: [classManager allSuperClassesOf: className]];
|
||||
if ((subClassesArray != nil && [subClassesArray count] != 0) ||
|
||||
[classManager isRootClass: className] == YES)
|
||||
{
|
||||
[subClassesArray addObject: className]; // include in the list.
|
||||
|
||||
// Get the super class position in the browser. Passing "nil" to subClassesOf causes it
|
||||
// to get all of the root classes.
|
||||
col = 0;
|
||||
row = [[classManager subClassesOf: nil] indexOfObject: [subClassesArray objectAtIndex: 0]];
|
||||
|
||||
// reset the enumerator...
|
||||
currentClass = nil;
|
||||
[browserView reloadColumn:col];
|
||||
|
||||
// if row is not NSNotFound, then we found something.
|
||||
if(row != -1)
|
||||
{
|
||||
[browserView selectRow: row inColumn: col];
|
||||
en = [subClassesArray objectEnumerator];
|
||||
[en nextObject]; // skip the first one.
|
||||
while((currentClass = [en nextObject]) != nil)
|
||||
{
|
||||
NSString *prevClass = [[browserView selectedCellInColumn: col] stringValue];
|
||||
subclasses = [classManager subClassesOf: prevClass];
|
||||
row = [subclasses indexOfObject: currentClass];
|
||||
col++;
|
||||
[browserView selectRow:row inColumn:col];
|
||||
}
|
||||
}
|
||||
|
||||
ASSIGN(selectedClass, className);
|
||||
|
||||
if(flag)
|
||||
{
|
||||
// set the editor...
|
||||
[document setSelectionFromEditor: (id)self];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ASSIGN(selectedClass, className);
|
||||
|
||||
if(flag)
|
||||
{
|
||||
// set the editor...
|
||||
[document setSelectionFromEditor: (id)self];
|
||||
}
|
||||
}
|
||||
NS_HANDLER
|
||||
|
|
Loading…
Reference in a new issue