diff -r 6d5a0ea87cb7 -r 89d5ee9bc2d0 TabListEditor.st --- a/TabListEditor.st Wed Nov 03 07:44:01 2010 +0100 +++ b/TabListEditor.st Mon Nov 08 14:07:00 2010 +0100 @@ -1264,9 +1264,14 @@ self selection:0. listOfTabs removeAll. - aTabList do:[:aTabItem| listOfTabs add: aTabItem ]. + aTabList do:[:aTabItem| + self assert:(aTabItem isKindOf:TabItem). + listOfTabs add: aTabItem + ]. self clearModified. listOfTabs notEmpty ifTrue:[ self selection:1 ]. + + "Modified: / 08-11-2010 / 13:57:27 / cg" ! loadFromClass:aClass andSelector:aSelector @@ -1293,8 +1298,16 @@ spec := cls perform: aSelector. ]. spec size ~~ 0 ifTrue:[ - spec do:[:aTab| - listOfTabs add:aTab. + spec do:[:aTabOrArray| + |tab| + + aTabOrArray isArray ifTrue:[ + tab := aTabOrArray decodeAsLiteralArray + ] ifFalse:[ + tab := aTabOrArray. + ]. + self assert:(tab isKindOf:TabItem). + listOfTabs add:tab. ]. self addHistoryEntryForClass:cls selector:specSelector. ] @@ -1304,6 +1317,8 @@ self clearModified. ]. listOfTabs notEmpty ifTrue:[ self selection:1 ]. + + "Modified: / 08-11-2010 / 13:59:09 / cg" ! ! !TabListEditor methodsFor:'change & update'! @@ -1439,6 +1454,7 @@ |idx| aTab notNil ifTrue:[ + self assert:(aTab isKindOf:TabItem). self testMode value: false. (idx := self selection) == 0 ifTrue:[ @@ -1449,6 +1465,8 @@ ]. self setModified. ]. + + "Modified: / 08-11-2010 / 13:55:27 / cg" ! cancel