Alexander Lazarević uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-laza.488.mcz==================== Summary ====================
Name: Morphic-laza.488
Author: laza
Time: 8 December 2010, 1:24:52.251 pm
UUID: 51a452ef-b931-4d4a-9d66-b8bc829fad99
Ancestors: Morphic-laza.487
Try to prevent empty progress morphs after updates when SystemProgressMorph reset is used in a Postscript
=============== Diff against Morphic-mha.486 ===============
Item was changed:
----- Method: SystemProgressMorph class>>close: (in category 'instance creation') -----
close: aBlock
+ | slot |
+ slot := aBlock value: SmallInteger maxVal. "This should prevent a redraw"
+ aBlock receiver freeSlot: slot.
+
+ !
- UniqueInstance ifNotNil: [UniqueInstance close: aBlock]!
Item was removed:
- ----- Method: SystemProgressMorph>>close: (in category 'initialization') -----
- close: aBlock
- | slot |
- slot := aBlock value: SmallInteger maxVal. "This should prevent a redraw"
- self freeSlot: slot
-
- !
Item was changed:
----- Method: SystemProgressMorph>>freeSlot: (in category 'private') -----
freeSlot: number
+ number > 0 ifFalse: [^self].
+ lock critical: [| label |
+ label := labels at: number.
+ (label isNil or: [label owner isNil]) ifTrue: [^self]. "Has been freed before"
+ label delete.
+ (bars at: number) delete.
+ activeSlots := activeSlots - 1.
+ activeSlots = 0
+ ifTrue: [self delete]
+ ifFalse: [self recenter]]!
- number > 0 ifTrue: [
- lock critical: [
- (bars at: number) delete.
- (labels at: number) delete.
- activeSlots := activeSlots - 1.
- activeSlots = 0
- ifTrue: [self delete]
- ifFalse: [self recenter]]]!
Item was changed:
(PackageInfo named: 'Morphic') postscript: '(Preferences dictionaryOfPreferences at: #alternativeWindowBoxesLook) defaultValue: false.
+ "Force SystemProgressMorph to be reset"
SystemProgressMorph initialize; reset.
TextEditor initialize.
SmalltalkEditor initialize.
TheWorldMainDockingBar updateInstances'!