[squeak-dev] The Trunk: Morphic-mt.1819.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Dec 8 17:21:59 UTC 2021

Marcel Taeumel uploaded a new version of Morphic to project The Trunk:

==================== Summary ====================

Name: Morphic-mt.1819
Author: mt
Time: 8 December 2021, 6:21:53.722213 pm
UUID: e62620c1-0e4b-dd45-9f47-3e0738adb134
Ancestors: Morphic-mt.1818

Fixes an emergency evaluator that occured when trying to debug a not-yet-initialized morph. Try "Morpch basicNew imageForm" before and after.

Thanks to Christoph (ct) for the hint!

=============== Diff against Morphic-mt.1818 ===============

Item was changed:
  ----- Method: Morph>>doLayoutSafely (in category 'layout') -----
  	"Also see #resumeAfterLayoutError."
  	[fullBounds] whileNil: [	
  		[self doLayout] on: Error, Halt, Warning do: [:error |
  				| errorMorph |
  				(error signalerContext
  					findContextSuchThat: [:context |
  						context receiver isMorph and: [context receiver layoutPolicy notNil]])
+ 					ifNil: [^ error pass "We cannot help here. Maybe the receiver is not yet initialized?"]
- 					ifNil: [^ Project current primitiveError: error description]
  					ifNotNil: [:errorContext | errorMorph := errorContext receiver].
  					instVarNamed: #fullBounds
  					put: (errorMorph instVarNamed: #bounds).
  				(Warning handles: error) ifFalse: [
  					"Disable the policy unless it is a warning, which should be secured where signaled to ease debugging."
  						setProperty: #errorOnLayout toValue: errorMorph layoutPolicy;
  						setProperty: #layoutPolicy toValue: nil. "Avoid #layoutChanged!!"].
  				ToolSet debugException: error]].!

More information about the Squeak-dev mailing list