When we -have a menu bar in a window and -the window is narrow so it wraps to multiple lines of menu buttons and -the first item in a menu (under a button of the top row of menu buttons ) is a sub menu and -the chosen action alters the menu bar We get an UHE. Some digging suggests that this is due to caching of a menu button in ivar nextMenuButton of our WinXPMenuBar. This cached item is used after the menu's window is closed (and the chosen action is performed). However since the chosen action changed the menu the cached button has already been released (has no container) leading to the UHE. I created a little demo app (attached) which also uncovers another bug (at least under win XP) - it is very hard to select an item (from a sub menu off the top row of buttons) because the relevant sub menu window fails to open. After loading open the demo with NextMenuButtonBug open Reinout Heeck --------------- Unhandled exception: Message not understood: #localPointToGlobal: UndefinedObject(Object)>>doesNotUnderstand: WinXPMenuBarButtonView(VisualPart)>>localPointToGlobal: WinXPMenuView(MenuView)>>displayBoxOfView: WinXPMenuView(Win95MenuView)>>openFromMenuBarButton: optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu: BlockClosure>>ensure: WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu: WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate WinXPMenuBarButtonController>>controlTerminate WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent: RedButtonPressedEvent>>dispatchTo: WinXPMenuBarButtonController(Controller)>>handleEvent: EventDispatcher>>dispatch:to: EventDispatcher>>dispatchEvent: RedButtonPressedEvent(Event)>>dispatch RedButtonPressedEvent(Event)>>dispatchForWindowManager: optimized [] in WindowManager>>safelyDispatchForWindowManager: BlockClosure>>on:do: WindowManager>>safelyDispatchForWindowManager: WindowManager>>processNextEvent optimized [] in [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in Process class>>forBlock:priority: ---------------------------------------------------------------------- UndefinedObject(Object)>>doesNotUnderstand: Receiver: an UndefinedObject Arguments: aMessage = a Message with selector: #localPointToGlobal: and arguments: #(0@0) Temporaries: excpt = a MessageNotUnderstood resumeValue = nil Context PC = 25 ---------------------------------------------------------------------- WinXPMenuBarButtonView(VisualPart)>>localPointToGlobal: Receiver: a WinXPMenuBarButtonView Instance Variables: container = nil eventHandlers = nil model = nil controller = a WinXPMenuBarButtonController properties = nil state = a WidgetState isInTransition = true latestValue = nil referenceValue = true label = Label for '<new item>' textStyle = a VariableSizeTextAttributes helpText = nil menuHolder = a Menu menuBar = a WinXPMenuBar accessChar = nil flyingOver = true Arguments: aPoint = 0@0 Context PC = 4 ---------------------------------------------------------------------- WinXPMenuView(MenuView)>>displayBoxOfView: Receiver: a WinXPMenuView Instance Variables: container = nil eventHandlers = nil components = an OrderedCollection[1] preferredBounds = nil model = a Menu controller = a Win95MenuFromMenuBarController menuItemViews = an OrderedCollection[1] parentMenuItemView = nil selectedValue = nil selectionFinal = nil highlightedMenuItemView = nil usedSelectionMemory = nil parentMenuBarButtonView = a WinXPMenuBarButtonView commonTextIndent = 15 shortcutColumnIndent = 0 Arguments: aView = a WinXPMenuBarButtonView Temporaries: localBounds = 0@0 corner: 71@20 Context PC = 11 ---------------------------------------------------------------------- WinXPMenuView(Win95MenuView)>>openFromMenuBarButton: Receiver: a WinXPMenuView Instance Variables: container = nil eventHandlers = nil components = an OrderedCollection[1] preferredBounds = nil model = a Menu controller = a Win95MenuFromMenuBarController menuItemViews = an OrderedCollection[1] parentMenuItemView = nil selectedValue = nil selectionFinal = nil highlightedMenuItemView = nil usedSelectionMemory = nil parentMenuBarButtonView = a WinXPMenuBarButtonView commonTextIndent = 15 shortcutColumnIndent = 0 Arguments: theParentMenuBarButtonView = a WinXPMenuBarButtonView Temporaries: theScreen = a Screen parentDisplayBox = nil monitorRectangle = nil wrappedMenu = nil menuWindowBounds = nil intoMonitor = nil menuWindow = nil Context PC = 23 ---------------------------------------------------------------------- optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu: Receiver: an UndefinedObject Temporaries: valueResult = nil menuView = a WinXPMenuView .self = a WinXPMenuBarButtonController .aMenu = a Menu Context PC = 33 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Win95MenuBarButtonController>>menuBarActionForMenu: outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in Win95MenuBarButtonController>>menuBarActionForMenu: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu: Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = nil highlightOnOpen = false Arguments: aMenu = a Menu Temporaries: performer = a NextMenuButtonBug Context PC = 31 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = nil highlightOnOpen = false Temporaries: theMenu = a Menu Context PC = 20 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = nil highlightOnOpen = false Context PC = 7 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>startUpWithMenuBarAction Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBar(MenuBar)>>menuBarButtonControlTerminates Receiver: a WinXPMenuBar Instance Variables: container = a MenuBarWrapper on: a WinXPMenuBar eventHandlers = nil components = an OrderedCollection[5] preferredBounds = 0@0 corner: 142@60 leftSpace = 0 spaceBetweenItems = 0 extraSpaceTop = 0 extraSpaceBottom = 0 extraSpaceBetweenLines = 0 menuChannel = a ValueHolder on: a Menu performer = a NextMenuButtonBug menuButtons = an OrderedCollection[5] nextMenuButton = nil lastMousePosition = 762@455 Temporaries: thisMenuButton = a WinXPMenuBarButtonView Context PC = 15 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 10 ---------------------------------------------------------------------- WinXPMenuBarButtonController>>controlTerminate Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Context PC = 8 ---------------------------------------------------------------------- WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent: Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Arguments: event = a RedButtonPressedEvent Context PC = 13 ---------------------------------------------------------------------- RedButtonPressedEvent>>dispatchTo: Receiver: a RedButtonPressedEvent Instance Variables: time = 32031687 initiator = an EventDispatcher window = an ApplicationWindow 272 state = 1 x = 28 y = 7 gx = 628 gy = 432 buttonNumber = 1 Arguments: anObject = a WinXPMenuBarButtonController Context PC = 4 ---------------------------------------------------------------------- WinXPMenuBarButtonController(Controller)>>handleEvent: Receiver: a WinXPMenuBarButtonController Instance Variables: model = nil view = a WinXPMenuBarButtonView sensor = a TranslatingSensor highlightOnOpen = false Arguments: event = a RedButtonPressedEvent Context PC = 4 ---------------------------------------------------------------------- EventDispatcher>>dispatch:to: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false keyboardProcessor = a KeyboardProcessor lastControlObject = a WinXPMenuBarButtonController trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a RedButtonPressedEvent object = a WinXPMenuBarButtonController Temporaries: tmp = nil Context PC = 10 ---------------------------------------------------------------------- EventDispatcher>>dispatchEvent: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false keyboardProcessor = a KeyboardProcessor lastControlObject = a WinXPMenuBarButtonController trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a RedButtonPressedEvent Temporaries: objectWantingControl = a WinXPMenuBarButtonController targetKeyboardProcessor = nil Context PC = 113 ---------------------------------------------------------------------- RedButtonPressedEvent(Event)>>dispatch Receiver: a RedButtonPressedEvent Instance Variables: time = 32031687 initiator = an EventDispatcher window = an ApplicationWindow 272 state = 1 x = 28 y = 7 gx = 628 gy = 432 buttonNumber = 1 Context PC = 16 ---------------------------------------------------------------------- RedButtonPressedEvent(Event)>>dispatchForWindowManager: Receiver: a RedButtonPressedEvent Instance Variables: time = 32031687 initiator = an EventDispatcher window = an ApplicationWindow 272 state = 1 x = 28 y = 7 gx = 628 gy = 432 buttonNumber = 1 Arguments: aWinMgr = a WindowManager Context PC = 4 ---------------------------------------------------------------------- optimized [] in WindowManager>>safelyDispatchForWindowManager: Receiver: an UndefinedObject Temporaries: .event = a RedButtonPressedEvent .self = a WindowManager Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = BadControllerError handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager: Context PC = 18 ---------------------------------------------------------------------- WindowManager>>safelyDispatchForWindowManager: Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[2] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>wait dontFilterEvents = false Arguments: event = a RedButtonPressedEvent Context PC = 13 ---------------------------------------------------------------------- WindowManager>>processNextEvent Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[2] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>wait dontFilterEvents = false Temporaries: event = a RedButtonPressedEvent Context PC = 9 ---------------------------------------------------------------------- optimized [] in [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess Context PC = 18 ---------------------------------------------------------------------- optimized [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Process class>>forBlock:priority: Receiver: an UndefinedObject Temporaries: .aBlock = BlockClosure [] in WindowManager>>newProcess Context PC = 9 <?xml version="1.0"?> <st-source> <!-- Name: NextMenuButtonBug DbIdentifier: Soops75 DbTrace: 74095 PackageName: NextMenuButtonBug Parcel: #('NextMenuButtonBug') PrintStringCache: (1,Albert) Date: 4:45:56 pm October 25, 2007 --> <time-stamp>From VisualWorks®, 7.5 of April 16, 2007 on October 25, 2007 at 4:45:56 pm</time-stamp> <do-it>(Dialog confirm: 'You are filing-in a Parcel source file!\\While this is possible it will not have\the same effect as loading the parcel.\None of the Parcel''s prerequisites will\be loaded and none of its load actions\will be performed.\\Are you sure you want to file-in?' withCRs) ifFalse: [self error: 'Parcel file-in abandoned. Choose terminate or close.']</do-it> <class> <name>NextMenuButtonBug</name> <environment>Smalltalk</environment> <super>UI.ApplicationModel</super> <private>false</private> <indexed-type>none</indexed-type> <inst-vars>menu </inst-vars> <class-inst-vars></class-inst-vars> <imports></imports> <category>UIApplications-New</category> <attributes> <package>NextMenuButtonBug</package> </attributes> </class> <methods> <class-id>NextMenuButtonBug</class-id> <category>all</category> <body package="NextMenuButtonBug" selector="initialize">initialize super initialize. menu := self class menu asValue</body> <body package="NextMenuButtonBug" selector="menu">menu ^menu</body> <body package="NextMenuButtonBug" selector="menuAction">menuAction "does nothing but alter the current menu." menu value: menu value copy</body> </methods> <methods> <class-id>NextMenuButtonBug class</class-id> <category>resources</category> <body package="NextMenuButtonBug" selector="menu">menu "Tools.MenuEditor new openOnClass: self andSelector: #menu" <resource: #menu> ^#(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #value: #menuAction ) ) #(1 ) nil ) ) #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #value: #menuAction ) ) #(1 ) nil ) ) ) #(2 ) nil ) ) #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #value: #menuAction ) ) #(1 ) nil ) ) ) #(1 ) nil ) ) #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #value: #menuAction ) ) #(1 ) nil ) ) ) #(1 ) nil ) ) #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #value: #menuAction ) ) #(1 ) nil ) ) ) #(1 ) nil ) ) #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #submenu: #(#{UI.Menu} #( #(#{UI.MenuItem} #rawLabel: '<new item>' #value: #menuAction ) ) #(1 ) nil ) ) ) #(1 ) nil ) ) ) #(5 ) nil ) decodeAsLiteralArray</body> </methods> <methods> <class-id>NextMenuButtonBug class</class-id> <category>interface specs</category> <body package="NextMenuButtonBug" selector="windowSpec">windowSpec "Tools.UIPainter new openOnClass: self andSelector: #windowSpec" <resource: #canvas> ^#(#{UI.FullSpec} #window: #(#{UI.WindowSpec} #label: 'Unlabeled Canvas' #bounds: #(#{Graphics.Rectangle} 639 532 839 732 ) #flags: 4 #menu: #menu ) #component: #(#{UI.SpecCollection} #collection: #() ) )</body> </methods> <do-it>"Imported Classes:"</do-it> <do-it>self error: 'Attempting to file-in parcel imports. Choose terminate or close'</do-it> <class> <name>ApplicationModel</name> <environment>UI</environment> <super>UI.Model</super> <private>false</private> <indexed-type>none</indexed-type> <inst-vars>builder uiSession eventHandlers </inst-vars> <class-inst-vars>savedWindowInformation </class-inst-vars> <imports></imports> <category>UIBuilder-Framework</category> <attributes> <package>UIBuilder-Framework</package> </attributes> </class> </st-source> NextMenuButtonBug.pcl (4K) Download Attachment |
Free forum by Nabble | Edit this page |