JDK-4356756 : Need to return all screen devices when running in Xinerama mode
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.4.0
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_7
  • CPU: sparc
  • Submitted: 2000-07-26
  • Updated: 2001-07-31
  • Resolved: 2001-07-31
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.4.0 beta2Fixed
Related Reports
Relates :  
Relates :  
Description
Multiscreen systems, notably UNIX platforms using -Xinerama, have no way to distinguish between GraphicsDevices which represent actual physical display devices, and GraphicsDevices for a "virtual" display spanning several physical devices.  Client systems such as Java3D need to be able to make this distinction.  java.awt.GraphicsDevice enhancements akin to the following would remedy this situation:

/**
 * Returns true if this GraphicsDevice represents physical display hardware,
 * false if it represents a "virtual" display.
 */
public boolean isPhysicalDevice();

/**
 * This method returns an array of the physical GraphicsDevices spanned by
 * a virtual display.  If called on a GraphicsDevice which is itself a
 * physical display, rather than a virtual display, this method simply returns
 * a single-element array with a reference to itself.
 */
public GraphicsDevice[] getPhyicalScreens()


One is issue is how these methods should be implemented for printers.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-beta2 FIXED IN: merlin-beta2 INTEGRATED IN: merlin-beta2
14-06-2004

EVALUATION This needs to be done for Merlin. Committing. brent.christian@eng 2000-07-26 This is a bug in GraphicsEnvironment.getScreenDevices(). When run on an X server running in Xinerama mode, only one GraphicsDevice is returned, representing the entire virtual desktop. A separate GraphicsDevice should be returned for each physical display, as it is on Win32 and non-Xinerama X11. brent.christian@eng 2000-11-15 No resources for beta. We'll have to fix this in beta-refresh. eric.hawkes@eng 2001-04-17
15-11-2000