Failed

osx-32 / Tests-osx-32 / MacOSX32.Glamour.Tests.Morphic.GLMUpdateMorphicTest.testAnnouncerUnregistration (from Glamour-Tests-Morphic)

Failing for the past 2 builds (Since Unstable#976 )
Took 1.4 sec.

Error Message

receiver of "width" is nil

Stacktrace

UndefinedObject(Object)>>doesNotUnderstand: #width
UndefinedObject>>doesNotUnderstand: #width
GLMHorizontalLinearLayout(GLMLinearLayout)>>layoutFloatingRight:in:
GLMHorizontalLinearLayout(GLMLinearLayout)>>layoutFloating:in:
[ :origin :each | 
| result |
result := origin
	+
		((self isFloating: each)
			ifFalse: [ aBlock cull: origin cull: each ]
			ifTrue: [ self layoutFloating: each in: aRectangle ]).
"applying aligning: #none, #left, #center, #right"
self
	align: each
	in: aBrick
	anchorPoint: origin
	inContext: nil.
each onLayouted.
result ] in GLMHorizontalLinearLayout(GLMLinearLayout)>>layout:in:inject:into:
[ :each | nextValue := binaryBlock value: nextValue value: each ] in OrderedCollection(Collection)>>inject:into:
OrderedCollection>>do:
OrderedCollection(Collection)>>inject:into:
GLMHorizontalLinearLayout(GLMLinearLayout)>>layout:in:inject:into:
GLMHorizontalLinearLayout>>layout:in:
GLMLabelBrick(GLMBrick)>>invalidateLayout
GLMBrickWrapper>>invalidateLayout
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutSubbricks:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutAround:inContext:
[ :each | self layoutAround: each inContext: aBrick ] in GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
OrderedCollection>>do:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
GLMBrickLayoutParentState>>layout:on:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutAround:inContext:
[ :each | self layoutAround: each inContext: aBrick ] in GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
OrderedCollection>>do:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
GLMBrickLayoutParentState>>layout:on:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutAround:inContext:
[ :each | self layoutAround: each inContext: aBrick ] in GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
OrderedCollection>>do:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
GLMBrickLayoutParentState>>layout:on:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutAround:inContext:
[ :each | self layoutAround: each inContext: aBrick ] in GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
OrderedCollection>>do:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutChildrenOf:
GLMBrickLayoutMyselfState>>layout:on:
GLMBrickHeightTraverser(GLMBrickLayoutTraverser)>>layoutAround:inContext:
GLMBrickLayouter>>layout:
GLMBrickLayouter>>layoutIn:
GLMBrick>>doLayout
GLMBrick>>doLayoutForce
GLMTabSelectorBrick(GLMFoundationBrick)>>extent:
GLMTabSelectorBrick(Morph)>>bounds:
GLMTabSelectorBrick(Morph)>>layoutInBounds:
TableLayout>>layoutLeftToRight:in:
TableLayout>>layout:in:
PanelMorph(Morph)>>doLayoutIn:
[ self doLayoutIn: self layoutBounds ] in PanelMorph(Morph)>>computeFullBounds
BlockClosure>>on:do:
PanelMorph(Morph)>>computeFullBounds
PanelMorph(Morph)>>fullBounds
[ :m | 
| subBox |
m visible
	ifTrue: [ subBox := m fullBounds.
		box
			ifNil: [ box := subBox copy ]
			ifNotNil: [ box := box quickMerge: subBox ] ] ] in LazyTabGroupMorph(Morph)>>submorphBounds
Array(SequenceableCollection)>>do:
LazyTabGroupMorph(Morph)>>submorphBounds
LazyTabGroupMorph(Morph)>>privateFullBounds
LazyTabGroupMorph(Morph)>>doLayoutIn:
[ self doLayoutIn: self layoutBounds ] in LazyTabGroupMorph(Morph)>>computeFullBounds
BlockClosure>>on:do:
LazyTabGroupMorph(Morph)>>computeFullBounds
LazyTabGroupMorph(Morph)>>fullBounds
LazyTabGroupMorph(Morph)>>position:
LazyTabGroupMorph(Morph)>>bounds:
LazyTabGroupMorph(Morph)>>layoutInBounds:
TableLayout>>layoutTopToBottom:in:
TableLayout>>layout:in:
GLMPanelMorph(Morph)>>doLayoutIn:
[ self doLayoutIn: self layoutBounds ] in GLMPanelMorph(Morph)>>computeFullBounds
BlockClosure>>on:do:
GLMPanelMorph(Morph)>>computeFullBounds
GLMPanelMorph(Morph)>>fullBounds
GLMPanelMorph(Morph)>>privateInvalidateMorph:
GLMPanelMorph(Morph)>>privateAddMorph:atIndex:
GLMPanelMorph(Morph)>>addMorphFront:
GLMPanelMorph(Morph)>>addMorph:
GLMPanelMorph(Morph)>>addMorph:fullFrame:
GLMMorphicPaneRenderer>>renderContainerFor:
GLMMorphicPaneRenderer>>actOnMatchingPresentationChanged:
MessageSend>>value:
MessageSend>>cull:
MessageSend>>cull:cull:
[ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver:
BlockClosure>>on:do:
BlockClosure>>on:fork:
AnnouncementSubscription>>deliver:
[ "Ensure delivery to remaining announcements" subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt:
BlockClosure>>ifCurtailed:
SubscriptionRegistry>>deliver:to:startingAt:
SubscriptionRegistry>>deliver:to:
SubscriptionRegistry>>deliver:
GLMPane(Announcer)>>announce:
GLMPane(GLMAnnouncer)>>announce:
GLMPane(GLMLoggedObject)>>announce:
GLMPane>>notingPresentationChangeDo:
GLMPanePort(GLMBoundPort)>>notingPresentationChangeDo:
GLMTransmission>>transmitIn:
[ :each | each transmitIn: aPortEvent transmissionContext copy ] in GLMTabulator(GLMBrowser)>>outerPortEvent:
OrderedCollection>>do:
GLMTabulator(GLMBrowser)>>outerPortEvent:
[ :each | each outerPortEvent: aPortEvent ] in GLMCompositePresentation>>outerPortEvent:
OrderedCollection>>do:
GLMCompositePresentation>>do:
GLMCompositePresentation>>outerPortEvent:
GLMPane>>portEvent:
[ self silentValue: anObject.
self pane
	portEvent:
		(GLMPortEvent
			on: self
			previouslyValued: oldValue
			in: aTransmissionContext) ] in GLMPanePort>>changeValueTo:in:
GLMPane>>notingPresentationChangeDo:
GLMPanePort>>changeValueTo:in:
GLMPanePort>>value:in:
GLMPanePort(GLMPort)>>value:
GLMTabulator(GLMPresentation)>>entity:
GLMUpdateMorphicTest>>testAnnouncerUnregistration
GLMUpdateMorphicTest(TestCase)>>performTest