RFR: 8354943: [Linux] Simplify and update glass gtk backend: window sizing, positioning, and state management issues [v12]

Thiago Milczarek Sayao tsayao at openjdk.org
Tue May 6 13:10:04 UTC 2025


On Fri, 2 May 2025 08:22:18 GMT, Lukasz Kostyra <lkostyra at openjdk.org> wrote:

>> Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix test on SizingTest
>
> modules/javafx.graphics/src/main/native-glass/gtk/GlassApplication.cpp line 486:
> 
>> 484:                 case GDK_PROPERTY_NOTIFY:
>> 485:                     ctx->process_property_notify(&event->property);
>> 486:                     gtk_main_do_event(event);
> 
> Some event types first call respective `ctx->process` and then `gtk_main_do_event`, while others do it the other way around. Is there a specific reason why?

Yes, Gtk updates the window state (maximized, fullscreen, iconified) values that are used after on the `process_configure` and `process_state`. I added a comment.

> modules/javafx.graphics/src/main/native-glass/gtk/GlassRobot.cpp line 22:
> 
>> 20:  *
>> 21:  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
>> 22:  * or visit www.oracle.com if you need additiFonal information or have any
> 
> Coincidental change in copyright header

Fixed

> modules/javafx.graphics/src/main/native-glass/gtk/glass_general.h line 251:
> 
>> 249: #define LOG5(msg, param1, param2, param3, param4, param5) {printf(msg, param1, param2, param3, param4, param5);fflush(stdout);}
>> 250: #define LOG6(msg, param1, param2, param3, param4, param5, param6) {printf(msg, param1, param2, param3, param4, param5, param6);fflush(stdout);}
>> 251: #define LOG10(msg, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10) \
> 
> Instead of adding more `LOG*` macros consider replacing them with `#define LOG(...) { printf(__VA_ARGS__); fflush(stdout); }`
> 
> Eventually I would accept filing a separate change for improving this if we don't have one already. Seems like the `ERROR` macros below could also be improved in this way.

Nice tip, thanks.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1789#discussion_r2075438459
PR Review Comment: https://git.openjdk.org/jfx/pull/1789#discussion_r2075440319
PR Review Comment: https://git.openjdk.org/jfx/pull/1789#discussion_r2075438879


More information about the openjfx-dev mailing list