JDK-4160289 : Win32 native code should never call client code on the AWT-Windows thread
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.2.0
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 1998-07-23
  • Updated: 1999-01-15
  • Resolved: 1999-01-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.2.0 1.2fcsFixed
Related Reports
Relates :  
Relates :  
Description
Each of the following items is a case where client code may be called by the
AWT-Windows thread.  Everywhere this is the case, the code needs to be
modified to execute the call on the Java EventDispatchThread.

awt_Choice.cpp: AwtChoice::VerifyState() calls Choice.countItems()
awt_Choice.cpp: AwtChoice::VerifyState() calls Choice.getSelectedIndex()
awt_Component.cpp: AwtComponent::GetItemString() calls Choice/List.getItem()
awt_Component.h: AwtComponent::isEnabled() calls Component.isEnabled()
awt_Font.h: GET_FONT() macro calls Component.getFont()
awt_Frame.cpp: AwtFrame::WmSetCursor() calls WEmbeddedFrame.isCursorAllowed()
awt_Frame.cpp: AwtFrame::SetMenuBar() calls Component.resize()
awt_Frame.cpp: AwtFrame::SetMenuBar() calls Component.resize()
awt_Graphics.h: GET_JAVAFONT() macro calls Graphics.getFont()
awt_Graphics.h: JNI_GET_JAVAFONT() macro calls Graphics.getFont()
awt_Menu.cpp: AwtMenu::CountItem() calls Menu.countItems()
awt_Menu.cpp: AwtMenu::GetItem() calls Menu.getItem()
awt_MenuBar.cpp: AwtMenuBar::CountItem() calls MenuBar.getMenuCount()
awt_MenuBar.cpp: AwtMenuBar::GetItem() calls MenuBar.getMenu()
awt_PrintJob.cpp: getNumPages() calls java.awt.print.Pageable.getNumberOfPages()
awt_PrintJob.cpp: getPaper() calls java.awt.print.PageFormat.getPaper()
awt_PrintJob.cpp: setPaper() calls java.awt.print.PageFormat.setPaper()
awt_PrintJob.cpp: isPortraitOrientation() calls java.awt.print.PageFormat.getOrientation()
awt_PrintJob.cpp: setOrientation() calls java.awt.print.PageFormat.setOrientation()
awt_PrintJob.cpp: getPaperValues() calls java.awt.print.Paper.getWidth()
awt_PrintJob.cpp: getPaperValues() calls java.awt.print.Paper.getHeight()
awt_PrintJob.cpp: setPaperValues() calls java.awt.print.Paper.setSize()
awt_PrintJob.cpp: setPaperValues() calls java.awt.print.Paper.setImageableArea()

Some of these cases may not be running on the AWT-Windows thread.  Those cases
don't need any modification to comply.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: generic FIXED IN: 1.2fcs INTEGRATED IN: 1.2fcs
14-06-2004

EVALUATION I've fixed all of these cases to not call client code on the toolkit thread. fred.ecks@Eng 1998-08-16
16-08-1998