[squeak-dev] The Trunk: Morphic-nice.561.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Aug 3 22:27:06 UTC 2011

Nicolas Cellier uploaded a new version of Morphic to project The Trunk:

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

Name: Morphic-nice.561
Author: nice
Time: 4 August 2011, 12:25:49.655 am
UUID: 625aead2-0dc0-49cf-b25c-9a8fa0b9a85b
Ancestors: Morphic-nice.560

Always try to logDebuggerStackToFile first if Preferences is enabled, and discard Errors occuring in this phase.

That can help debugging the emergency situations when the debugger fail to open itself.

=============== Diff against Morphic-nice.560 ===============

Item was changed:
  ----- Method: Debugger class>>morphicOpenOn:context:label:contents:fullView: (in category '*Morphic-opening') -----
  morphicOpenOn: process context: context label: title contents: contentsStringOrNil fullView: bool
  	"Open a notifier in response to an error, halt, or notify. A notifier view just shows a short view of the sender stack and provides a menu that lets the user open a full debugger."
  	| errorWasInUIProcess debugger |
  	errorWasInUIProcess := Project spawnNewProcessIfThisIsUI: process.
+ 	[Preferences logDebuggerStackToFile
+ 		ifTrue: [Smalltalk logSqueakError: title inContext: context]] on: Error do: [:ex | ex return: nil].
  	WorldState addDeferredUIMessage: [ 
  		"schedule debugger in deferred UI message to address redraw
  		problems after opening a debugger e.g. from the testrunner."
  			debugger := self new process: process controller: nil context: context.
  				ifTrue: [debugger openFullNoSuspendLabel: title]
  				ifFalse: [debugger openNotifierContents: contentsStringOrNil label: title].
  			debugger errorWasInUIProcess: errorWasInUIProcess.
- 			Preferences logDebuggerStackToFile ifTrue: [
- 				Smalltalk logSqueakError: title inContext: context].
  		] on: Error do: [:ex |
  				self primitiveError: 
  					'Original error: ', 
  					title asString, '.
  	Debugger error: ', 
  				([ex description] on: Error do: ['a ', ex class printString]), ':'
  	process suspend.

More information about the Squeak-dev mailing list