JDK-4142011 : 1.2 Beta 4: Multiple AppContext objects not supported
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.2.0
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_2.5
  • CPU: generic
  • Submitted: 1998-05-26
  • 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 :  
Relates :  
Relates :  
Relates :  
Description
We've received numerous requests for multiple event queues in the AWT,
and if we're to do it in 1.2, now is the time.  We don't dare do such
a significant change a few months from now.

To implement multiple event queues, we really need to re-enable multiple
AppContexts, which was disabled by Tom on February 25th until the key
could be computed reliably.

The key for AppContexts was the security context.  My current
understanding of the problem was that if we were in priveleged code, the
security context was that of the priveleged code, so the AppContext was
computed incorrectly.

It seems to me that the needs of an AppContext key are different from
that of security.  When computing the AppContext, we are concerned with
the instance of the earliest AppContext-controlling object on the call
stack.  Entering priveleged code shouldn't affect this at all.

I anticipate that we'll need a method in the VM similar to
JVM_GetStackAccessControlContext() to do this for us, which we'll use
to find the current AppContext.

This is a significant departure from the earlier AppContext key based
on security context, but I think this makes sense.  My other
concern is performance.  It's hard to compete with stubbed code for
performance.  :-)

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

EVALUATION After getting the idea from Hans, I implemented AppContexts via indexing by ThreadGroup. I also updated appletviewer to call the new SunToolkit.createNewAppContext() method to demonstrate how AppContexts are created. fred.ecks@Eng 1998-06-25
25-06-1998