Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1816.mcz
==================== Summary ====================
Name: Morphic-mt.1816 Author: mt Time: 7 December 2021, 11:48:09.738083 am UUID: 523fa253-49bb-a447-9bb3-bbbc9e1c8e66 Ancestors: Morphic-ct.1815
Small workaround to make preference #openToolsAttachedToMouseCursor work more reliably during debugger invocation.
=============== Diff against Morphic-ct.1815 ===============
Item was changed: ----- Method: MorphicDebugger class>>openOn:context:label:contents:fullView: (in category 'opening') ----- openOn: processToDebug context: context label: title contents: contentsStringOrNil fullView: full | debugger uiBlock | debugger := self new process: processToDebug context: context; errorWasInUIProcess: (Project current spawnNewProcessIfThisIsUI: processToDebug). uiBlock := [ full ifTrue: [debugger openFullNoSuspendLabel: title] ifFalse: [debugger openNotifierNoSuspendContents: contentsStringOrNil label: title]. "Try layouting the debugger tool at least once to avoid freeze." debugger topView ifNotNil: [:window | "There are way too many #fullBounds sends. Layout errors might already have happened." window allMorphsDo: [:m | (m hasProperty: #errorOnLayout) ifTrue: [self error: 'Layout error']]. window world doLayout. "Not safely!!"]. "Try drawing the debugger tool at least once to avoid freeze." debugger topView ifNotNil: [:window | window world displayWorld. "Not safely!!"]. ]. "Schedule debugging in a deferred UI message if necessary. Note that only the ui process should execute ui code." (Project current uiProcess isActiveProcess not or: [processToDebug isActiveProcess]) + ifFalse: uiBlock + ifTrue: [ | event | + self flag: #discuss. "mt: We need to preserve the currentEvent for #openToolsAttachedToMouseCursor ..." + event := self currentEvent. + Project current addDeferredUIMessage: [event becomeActiveDuring: uiBlock]]. - ifTrue: [Project current addDeferredUIMessage: uiBlock] - ifFalse: uiBlock. processToDebug suspend. "Get here only if active process is not the process-to-debug. So in tests, use a helper process if you want to access this return value." ^ debugger!
squeak-dev@lists.squeakfoundation.org