'From Squeak3.7alpha of ''11 September 2003'' [latest update: #5423] on 30 September 2003 at 6:54:44 pm'! "Change Set: UpdatingMenuRefreshFixV3-nk-md Date: 30 Sept 2003 Author: Ned Konz This CS keeps updating menu item morphs with checkboxes from repeatedly redrawing. version 2: fixes non-check boxes too. version 3: MCP changed == nil to isNil, this change does this, too (md). "! !UpdatingMenuItemMorph methodsFor: 'world' stamp: 'md 9/30/2003 18:49'! updateContents "Update the receiver's contents" | newString enablement nArgs | ((wordingProvider isNil) or: [wordingSelector isNil]) ifTrue: [^ self]. nArgs _ wordingSelector numArgs. newString _ nArgs == 0 ifTrue: [wordingProvider perform: wordingSelector] ifFalse: [(nArgs == 1 and: [wordingArgument notNil]) ifTrue: [wordingProvider perform: wordingSelector with: wordingArgument] ifFalse: [nArgs == arguments size ifTrue: [wordingProvider perform: wordingSelector withArguments: arguments]]]. newString = (self contentString ifNil: [ contents ]) ifFalse: [self contents: newString]. enablementSelector ifNotNil: [(enablement _ self enablement) == isEnabled ifFalse: [self isEnabled: enablement]]! !