|
Description
|
java\awt\FullScreen\NonfocusableFrameFullScreenTest\NonfocusableFrameFullScreenTest.java fails in windows
with 1.6.0_10 builds.
Steps to reproduce:
Run the above testcase
Click on "setAlwaysOnTop"
Observe the frame is always on top.
Click on "to full-screen"
Click on "to windowed"
Observe that the frame is not always on top . Expected result is it has to be on top.
I tested this with 1.6.0 b104 build where it is passing.
And with 1.6.0_10 b11,b12,b13,b14 it is failing.
Posted Date : 2008-04-01 06:12:24.0
|
|
Evaluation
|
We could reproduce this with JDK6u10b21 and JDK6u10b27 on WindowsXP box with Classical theme.
Not reproducible with JDK6.0b105 in the same environment. Not tried with JDK7.
Posted Date : 2008-05-20 17:03:53.0
When the D3D pipeline can not be enabled
we use GDI for "full screen exclusive" mode - which is basically
emulated by making the window maximized and always on top on
the native level:
awt_Win32GraphicsDevice.cpp:enterFullScreenExclusive:
if (!::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE|SWP_NOOWNERZORDER|SWP_NOSIZE))
awt_Win32GraphicsDevice.cpp:exitFullScreenExclusive:
if (!::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP_NOMOVE|SWP_NOOWNERZORDER|SWP_NOSIZE))
We should only remove TOPMOST if the frame is not "always
on top". This can be done either at the java (in Win32GD), or on the
native level.
The D3DGraphicsDevice has some code that does this already,
but Win32GraphicsDevice doesn't.
Posted Date : 2008-05-27 22:58:08.0
It appears this is not in fact a regression in the GDI code - the bug was already
there - but 6u10 exposed the bug as it disables DDraw. But that could already happen,
and is in fact the default on Vista.
NB There is a JDK 7 port, but after the merge of the D3D port into JDK 7,
that fix should be re-verified.
Posted Date : 2008-07-25 23:13:51.0
It would be fine if we can fix this in 6u16 - the fix is ready in JDK7 and looks pretty small and safe.
Posted Date : 2009-04-10 16:58:16.0
|