-
Bug
-
Resolution: Fixed
-
P3
-
jfx19
-
b12
IconifyTest is not robust on Linux. It fails occasionally on most distros and frequently on others. The problem is related to the way the Stages are created. The test creates a bottom stage and a top stage to verify that the top stage is not visible when that stage is iconfied (meaning that the bottom stage will be visible), and is visible when not iconified.
The problem arises on Linux due to the fact that both stages are created always-on-top. This sometimes causes the bottom stage to actually be on top. One potential problem is definitely a testbug, in that both stages are shown one after another -- meaning that the top stage doesn't wait for the bottom stage to be shown. There seems to also be a product bug where even if we do wait for the bottom stage to be shown before creating the top stage, it sometimes will still end up on top (I'll file a separate bug).
Since this test doesn't need to rely on having both stages be always-on-top, the fix is to change the bottom stage to not set that property. See the attached patch (which also removed the call to topStage.toFront() which was likely there as an earlier attempt to workaround this problem, but is not needed if topStage is the only always-on-top stage).
The problem arises on Linux due to the fact that both stages are created always-on-top. This sometimes causes the bottom stage to actually be on top. One potential problem is definitely a testbug, in that both stages are shown one after another -- meaning that the top stage doesn't wait for the bottom stage to be shown. There seems to also be a product bug where even if we do wait for the bottom stage to be shown before creating the top stage, it sometimes will still end up on top (I'll file a separate bug).
Since this test doesn't need to rely on having both stages be always-on-top, the fix is to change the bottom stage to not set that property. See the attached patch (which also removed the call to topStage.toFront() which was likely there as an earlier attempt to workaround this problem, but is not needed if topStage is the only always-on-top stage).
- relates to
-
JDK-8298499 Stacking order sometimes wrong on Linux when setting always-on-top for two Stages
- Open
-
JDK-8260528 Clean glass-gtk sizing and positioning code
- Resolved