Several GTK issues on latest Ubuntu release
Kevin Rushforth
kevin.rushforth at oracle.com
Wed Oct 25 15:20:41 UTC 2023
Question for the original poster of this thread: Are you running the
Wayland server or the X.org server?
-- Kevin
On 10/24/2023 5:53 PM, Thiago Milczarek Sayão wrote:
> I suspect something changed on the window manager (mutter in the case
> of default Ubuntu/gnome).
>
> One problem is that focusing the window is restoring it's state - so
> if you focus a maximized window the window manager restores it - looks
> like a bug.
>
> In the case of JavaFX the native side is calling realize on the window
> which causes the underlying window to be created (X Window - the X11
> window) and I suspect its the source of the problem. Might still be a
> bug on the window manager, but the PR mentioned let's GTK realize the
> window first, so it doesn't change the "natural" order expected by GTK.
>
> I confirm that it fixes the window sizing problem reported on the issue.
>
> Not sure about other problems, but I suspect they might be gone after
> the fix (except for the state after focus).
>
> Thiago
>
>
>
>
>
>
> Em seg., 23 de out. de 2023 11:48, Christopher Schnick
> <crschnick at xpipe.io> escreveu:
>
> That is good to know that this issue is already being worked on.
> From the description of
> https://bugs.openjdk.org/browse/JDK-8316423, this issue is only
> tracked as affecting secondary stages? At least in our case it
> affects the primary stage as well, i.e. the one that is supplied
> via Application.start. Also, in this case it's not really about
> the scene dimensions, the stage doesn't even apply its own
> dimensions that were explicitly set before.
>
> On 10/23/2023 4:39 PM, Thiago Milczarek Sayão wrote:
>> Forgot to mention: except for the system tray, I'm not looking
>> into that.
>>
>> Em seg., 23 de out. de 2023 11:36, Thiago Milczarek Sayão
>> <thiago.sayao at gmail.com> escreveu:
>>
>> Hi Cristopher,
>>
>> https://github.com/openjdk/jfx/pull/1249
>>
>> We noticed it and I'm working on a fix.
>>
>> There's one issue that is probably a mutter bug:
>>
>> https://gitlab.gnome.org/GNOME/mutter/-/issues/3092
>>
>> -- Thiago
>>
>> Em seg., 23 de out. de 2023 10:05, Christopher Schnick
>> <crschnick at xpipe.io> escreveu:
>>
>> Hello,
>>
>> a user of our application xpipe
>> <https://github.com/xpipe-io/xpipe> reported several
>> issues after upgrading their Ubuntu version and I
>> investigated them myself. I want to note here that these
>> issues are exclusive to new Ubuntu versions. I did not
>> observe any of them on slightly older Ubuntu versions or
>> other Gnome-based desktop environments. I don't know
>> exactly which versions are affected, but 22.04 works fine
>> and Ubuntu 23.10 does not.
>>
>> I'm sorry that I'm not able to create fully reproducible
>> examples or dig deeper into the causes here, but I'm very
>> constrained on time right now. For reproduction, I just
>> installed a new default Ubuntu 23.10 VM and launched the
>> JavaFX 21 application straight out of the box.
>>
>> The first issue is that windows do not retain their
>> information when being hidden and then shown again. I.e.
>> after being shown for the second time, they will have
>> tiny dimensions and an GTK error is printed to stderr
>> about height < 0. For now I temporarily resolve this by
>> doing the following, which somehow fixes the issue:
>>
>> stage.show();
>>
>> // Due to some weird GTK bug, we have to set
>> these sizes every time we show a window again even though
>> they have been previously set
>> stage.setX(stage.getX());
>> stage.setY(stage.getY());
>> stage.setWidth(stage.getWidth());
>> stage.setHeight(stage.getHeight());
>>
>> Furthermore, while this is technically not purely JavaFX
>> related, there is also a total freeze of the platform
>> thread when it calls javax.swing.UIManager.setLookAndFeel
>> as it gets stuck in some GTK implementation method. This
>> is called by the fxtrayicon library, which calls this
>> method here
>> <https://github.com/dustinkredmond/FXTrayIcon/blob/81c99a7357d8f48d9547c0bdb54b848041ce67c6/src/main/java/com/dustinredmond/fxtrayicon/FXTrayIcon.java#L923>.
>> Since there is no native JavaFX tray integration, calling
>> these awt/swing related methods is quite important for
>> applications trying to use the system tray. This was a
>> very unfortunate issue for us as it caused applications
>> to not start up at all on affected systems.
>> I wasn't able to compare the behavior to Ubuntu 22.04 as
>> SystemTray.isSupported() returns false on Ubuntu 22.04
>> but returns true on Ubuntu 23.10. Should this even return
>> true on Ubuntu now or is this a bug?
>>
>> Again, these issues only occur on the very latest Ubuntu
>> release. I have tested on a lot of other different
>> distros, old and new, and they all worked flawlessly.
>>
>> Best regards, Christopher
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20231025/7f3ebb71/attachment-0001.htm>
More information about the openjfx-dev
mailing list