Open lesquoyb opened 2 years ago
When tabs are hidden, Eclipse considers views to be in a somewhat strange status. Somewhere between the normal status and the "detached" status. As a matter of fact, it is not considered a "correct" state. From my observation, on all OSes, it seems that a hidden
event is (wrongly) sent to the last opened view whenever a new one is selected. Now, on macOS and Linux, this event is immediately followed by a show
event (probably due to the layout resizing or something similar) ... but for some reason, not on Windows. This does not affect OpenGL displays, because we manually manage whether OpenGL surfaces are hidden or not in response to hide/show events (allowing to "filter out" bad events), but I still havent found how to catch or revert the wrong event on Windows in case of Java2D displays;
@AlexisDrogoul the recent changes in eclipse/swt changed a bit the final result, but didn't fix it, do you think it's fixable in a short amount of time ? Else we could temporarily go for a warning when setting tabs to false and force opengl on the library models so at least the next release is "clean"
I added back the tabs in the library models that were having that issue in my last commit, we'll need to remove them again once the issue fixed. Note: I noticed that the problem was not happening in 1.8.2-RC1, so probably something introduced with the big changes in displays between RC1 and RC2 (like the sync statement becoming global for example)
@AlexisDrogoul the recent changes in eclipse/swt changed a bit the final result, but didn't fix it, do you think it's fixable in a short amount of time ? Else we could temporarily go for a warning when setting tabs to false and force opengl on the library models so at least the next release is "clean"
I have issued a commit that does exactly this. The warning is only active when a 2d display is detected in output
or permanent
(whether it is explicit or set by default in the preferences), in conjunction with tabs: false
set in layout
. And of course only on Windows.
Good enough for gama 1.9.0, leaving it open for later fix
Describe the bug When using the layout statement, having the facet
If you run it as is, the first two displays do not show. Clicking on them makes them appear.
tabs
set at false give some strange behaviours. Here an example with theheatmap.gaml
model from Library Models:The stack layout is exactly as the horizontal one (which is probably normal with the tabs disabled).
If you change one non-working display to an opengl one it will crash gama with the same error message as in gama-platform/gama#3447 But if you comment the chart from a display you changed to opengl, then it will be displayed normally:
And everything seems to come from the
tabs
facet being false, as commenting it solves the problem