# HG changeset patch # User Claus Gittinger # Date 1581007928 -3600 # Node ID 8251db282466b57680a4f98dc80ed1a32ed5286b # Parent 91824773c6194dc52e9ef590c3e4da4ff63cb9c8 #BUGFIX by exept class: ShowMeHowItWorks changed: #do:from: #doStream:from: #findComponent:in: #waitFor:timeout: diff -r 91824773c619 -r 8251db282466 ShowMeHowItWorks.st --- a/ShowMeHowItWorks.st Mon Feb 03 19:20:47 2020 +0100 +++ b/ShowMeHowItWorks.st Thu Feb 06 17:52:08 2020 +0100 @@ -627,7 +627,9 @@ ]. Delay waitForSeconds:0.1. Timestamp now > endTime ifTrue:[ - self error:('component %1 not present after %2' bindWith:componentName with:seconds) + self error:('component %1 not present after %2' bindWith:componentName with:seconds). + "/ if proceeded, just return. + ^ self. ] ] loop ! ! @@ -1624,15 +1626,18 @@ item := anApplicationOrViewOrMenuItem tabAtIndex:idx. ] ifFalse:[ idxString := idxString withoutQuotes. - item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab tabItem rawLabel = idxString]. + item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab tabItem label = idxString]. item isNil ifTrue:[ - item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab printableLabel = idxString]. + item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab tabItem rawLabel = idxString]. item isNil ifTrue:[ - item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab activeHelpKey = idxString]. + item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab printableLabel = idxString]. + item isNil ifTrue:[ + item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab activeHelpKey = idxString]. + ]. ]. ]. ]. - self assert:item notNil. + self assert:item notNil message:('No tab named: %1' bindWith:idxString). ^ ItemInView new view:anApplicationOrViewOrMenuItem item:item boundsInView:(item layout) ]. @@ -2313,8 +2318,8 @@ [ Error handle:[:ex | - Dialog warn:(self class classResources - stringWithCRs:'An error was encountered in the show:\\%1' + Dialog information:(self class classResources + stringWithCRs:'Sorry, the show is over\\(due to: %1)' with:ex description withCRs) ] do:[ self doStream:(specArray readStream) from:startLabelOrNil @@ -2467,7 +2472,16 @@ [opStream atEnd] whileFalse:[ nextCommand := opStream next. - self doCommand:nextCommand. + Error handle:[:ex | + (Dialog confirm:(self class classResources + stringWithCRs:'An error was encountered in the show:\\%1\\Proceed anyway (may result in followup errors to be encountered)?' + with:ex description withCRs) + ) ifFalse:[ + ex reject + ]. + ] do:[ + self doCommand:nextCommand. + ]. Display shiftDown ifTrue:[ (IntroShownCount ? 0) > 3 ifFalse:[