RFR: 8269429: Linux: Only the last APPLICATION_MODAL window behaves correctly [v2]

Kevin Rushforth kcr at openjdk.java.net
Fri Jul 9 18:44:54 UTC 2021


On Tue, 29 Jun 2021 21:58:36 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:

>> The PR approach is to set  `gtk_window_set_keep_above` to true on APPLICATION_MODAL windows, so they will not stay behind non APPLICATION_MODAL windows.
>> 
>> This is passed on WindowStage.java:198 as a mask.
>> 
>> The weird thing is that `_enterModal()` is never called. This seems the right function to be called for `APPLICATION_MODAL`, as `_enterModalWithWindow` fits for `WINDOW_MODAL`.
>
> Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Reuse existing set_modal (which was previously unused).

This looks fine to me. I'll test it on a couple different systems. I left one comment inline.

modules/javafx.graphics/src/main/native-glass/gtk/glass_window.cpp line 1436:

> 1434:             gtk_window_set_transient_for(GTK_WINDOW(gtk_widget), parent->get_gtk_window());
> 1435:         } else {
> 1436:             gtk_window_set_keep_above(GTK_WINDOW(gtk_widget), modal ? TRUE : FALSE);

The test of `modal` is unnecessary here, since this is all within an `if (modal)` block.

-------------

PR: https://git.openjdk.java.net/jfx/pull/551


More information about the openjfx-dev mailing list