Instance of SpLabelPresenter did not understand #displayStrikethrough
SpLabelPresenter(Object)>>doesNotUnderstand: #displayStrikethrough
GtkLabelAdapter>>applyDecorationsTo:label:
GtkLabelAdapter>>setLabelTo:
GtkLabelAdapter>>addModelTo:
GtkLabelAdapter(GtkAdapter)>>buildWidget
GtkLabelAdapter(SpAbstractAdapter)>>adapt:
[ super adapt: aPresenter ] in GtkLabelAdapter(GtkAdapter)>>adapt: in Block: [ super adapt: aPresenter ]
GtkRunLoop>>defer:
GRunLoop class>>defer:
GtkLabelAdapter(GtkAdapter)>>adapt:
SpAbstractWidgetLayout>>adapt:bindings:
SpAbstractWidgetLayout>>buildAdapterFor:bindings:
SpLabelPresenter(SpAbstractPresenter)>>basicBuildAdapterWithLayout:
SpLabelPresenter(SpPresenter)>>basicBuildAdapterWithLayout:
SpLabelPresenter(SpAbstractWidgetPresenter)>>basicBuildAdapterWithLayout:
[ self basicBuildAdapterWithLayout: aSpecLayout ] in SpLabelPresenter(SpAbstractPresenter)>>buildAdapterWithLayout: in Block: [ self basicBuildAdapterWithLayout: aSpecLayout ]
[ activeProcess
psValueAt: index
put: anObject.
aBlock value ] in SpBindings(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
SpBindings(DynamicVariable)>>value:during:
SpBindings class(DynamicVariable class)>>value:during:
SpLabelPresenter(SpAbstractPresenter)>>buildAdapterWithLayout:
SpLabelPresenter(SpAbstractPresenter)>>buildWithLayout:
SpLabelPresenter(SpAbstractPresenter)>>buildWithSelector:
GtkBoxAdapter>>basicAdd:constraints:to:
[ :gtkWidget |
| childWidget |
childWidget := self
basicAdd: aPresenter
constraints: constraints
to: gtkWidget.
self addWidgetAlignment: constraints to: childWidget.
"I'm keeping a reference to aPresenter into the built widget because in some cases
it can be GC (in case of the on-the-fly creation, for example).
Now this can be a real bad idea :)"
childWidget data: aPresenter ] in GtkBoxAdapter(GtkLayoutAdapter)>>add:constraints: in Block: [ :gtkWidget | ...
[ aBlock value: widget ] in [
[ aBlock value: widget ]
on: Error
fork: [ :e | e pass ]
return: [ nil ] ] in GtkBoxAdapter(GtkLayoutAdapter)>>widgetDo: in Block: [ aBlock value: widget ]
FullBlockClosure(BlockClosure)>>on:do:
[ Processor terminateRealActive ] in [:ex |
| onDoCtx handler bottom thisCtx |
onDoCtx := thisContext.
thisCtx := onDoCtx home.
"find the context on stack for which this method's is sender"
[ onDoCtx sender == thisCtx] whileFalse: [
onDoCtx := onDoCtx sender.
onDoCtx ifNil: [
"Can't find our home context. seems like we're already forked
and handling another exception in new thread. In this case, just pass it through handler."
^ handlerAction cull: ex ] ].
bottom := [ Processor terminateRealActive ] asContext.
onDoCtx privSender: bottom.
handler := [ handlerAction cull: ex ] asContext.
handler privSender: thisContext sender.
(Process forContext: handler priority: Processor activePriority) resume.
"cut the stack of current process"
thisContext privSender: thisCtx.
answerAction cull: exception ] in FullBlockClosure(BlockClosure)>>on:fork:return: in Block: [ Processor terminateRealActive ]
When running 4.0-alpha-2 (https://github.com/pharo-project/pharo-launcher/actions/runs/28795198307), a DNU occurs: