Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4152184

Motif peers should never call user code on the AWT-Motif thread

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.2.0
    • 1.2.0
    • client-libs
    • None
    • 1.2fcs
    • generic
    • solaris_2.5
    • Not verified

      In the following instances, it's possible for user code to be called by the
      AWT-Motif thread, which runs the native message pump. Errant user code
      could then lock up the entire AWT toolkit for the whole Java VM.

      MButtonPeer.action calls Button.getActionCommand
      MCheckboxMenuItemPeer.action calls CheckboxMenuItem.setState
      MCheckboxMenuItemPeer.action calls CheckboxMenuItem.getLabel
      MCheckboxPeer.action calls Checkbox.getCheckboxGroup
      MCheckboxPeer.action calls CheckboxGroup.getSelectedCheckbox
      MCheckboxPeer.action calls Checkbox.getState
      MCheckboxPeer.action calls Checkbox.setState
      MCheckboxPeer.action calls Checkbox.getLabel
      MChoicePeer.action calls Choice.select
      MChoicePeer.action calls Choice.getItem
      MFileDialogPeer.handleSelected calls FileDialog.setFile
      MFileDialogPeer.handleSelected calls FileDialog.setDirectory
      MFileDialogPeer.handleCancel calls FileDialog.setFile
      MListPeer.action calls List.select
      MListPeer.action calls List.getItem
      MListPeer.handleListChanged calls List.getSelectedIndexes
      MMenuItemPeer.action calls MenuItem.getActionCommand
      MPanelPeer.makeCursorsVisible calls Container.getComponentCount
      MPanelPeer.makeCursorsVisible calls Container.getComponent
      MScrollPanePeer.scrolledVertical calls ScrollPane.getVAdjustable
      MScrollPanePeer.scrolledHorizonatal calls ScrollPane.getHAdjustable
      MScrollbarPeer.lineUp calls Scrollbar.setValue
      MScrollbarPeer.lineDown calls Scrollbar.setValue
      MScrollbarPeer.pageUp calls Scrollbar.setValue
      MScrollbarPeer.pageDown calls Scrollbar.setValue
      MScrollbarPeer.dragAbsolute calls Scrollbar.setValue
      MTextAreaPeer.pasteFromClipboard calls Component.getToolkit
      MTextFieldPeer.action calls TextField.getText
      MTextFieldPeer.pasteFromClipboard calls Component.getToolkit
      MTinyChoicePeer.handleWindowEvent calls Choice.getSelectedIndex
      MTinyChoicePeer.handleMouseDown calls Choice.isEnabled
      MTinyChoicePeer.handleMouseDown calls Choice.size
      MTinyChoicePeer.handleMouseDown calls Choice.countItems
      MTinyChoicePeer.handleMouseDown calls Choice.getItem
      MTinyChoicePeer.handleMouseDown calls Choice.getParent
      MTinyChoicePeer.handleMouseDown calls Choice.getSelectedIndex
      MTinyChoicePeer.handleMouseUp calls Choice.isEnabled
      MTinyChoicePeer.handleMouseUp calls Choice.select
      MTinyChoicePeer.handleMouseUp calls Choice.getSelectedItem
      MTinyChoicePeer.handleMouseDrag calls Choice.isEnabled

      I doubt this list is 100% complete, but these cases will
      cause major problems when multiple AppContexts are in use.

            jdunnsunw Jeffrey Dunn (Inactive)
            feckssunw Fred Ecks (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: