After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 771295 - app window grows with each start due to incorrectly using gtk API (wayland)
app window grows with each start due to incorrectly using gtk API (wayland)
Status: RESOLVED INCOMPLETE
Product: epiphany
Classification: Core
Component: Interface
3.21.x
Other Linux
: Normal normal
: ---
Assigned To: Epiphany Maintainers
Epiphany Maintainers
Depends on:
Blocks: WaylandRelated
 
 
Reported: 2016-09-12 12:19 UTC by Kamil Páral
Modified: 2016-09-19 16:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kamil Páral 2016-09-12 12:19:22 UTC
Description of problem:
Since gtk3-3.21.5-1.fc25.x86_64 epiphany window grows with each start (on wayland). You can see the same issue with virt-manager here:
https://www.youtube.com/watch?v=NO6Wlaoq0x8
(the same issue applies to epiphany)

This has been reported against gtk:
https://bugzilla.gnome.org/show_bug.cgi?id=771112
and determined as an application bug:
https://bugzilla.gnome.org/show_bug.cgi?id=771112#c7

Quoting how to fix this:

~~~
https://wiki.gnome.org/HowDoI/SaveWindowState

Querying the window size and then setting it with GtkWindow API is perfectly fine.

Querying the window size with GtkWidget API and then setting it with GtkWindow API, *or* querying the window size with GtkWindow API and then setting it with GtkWidget API, is *not* okay, and only worked up until now with server-side decorations only on X11.
~~~

Version-Release number of selected component (if applicable):
epiphany-3.21.90-1.fc25.x86_64
gtk3-3.21.5-1.fc25.x86_64

How reproducible:
always

Steps to Reproduce:
1. start and close epiphany repeatedly, it will grow each time
Comment 1 Michael Catanzaro 2016-09-17 01:21:31 UTC
I can't reproduce it because it's a GTK+ 3.21 regression, but GTK+ 3.21 bumps the xdg-shell protocol version, so I can only test the X11 backend with system mutter, and I have no intention of manually installing newer mutter or trying out F25 right now.

So I decided to try to make a speculative patch, but it looks like we really do only use GtkWindow API: in ephy-session.c, we use gtk_window_set_default_size() in restore_geometry() and gtk_window_get_size() in get_window_geometry().

Hence this falls off my radar for now....
Comment 2 Jonas Ådahl 2016-09-17 09:17:30 UTC
Should be testable on X11 by using GTK_CSD=1 meaning you don't need any specific version of mutter to reproduce.
Comment 3 Michael Catanzaro 2016-09-17 14:56:30 UTC
We've been using GtkHeaderBar for years. Why should GTK_CSD=1 make any difference?
Comment 4 Michael Catanzaro 2016-09-17 15:01:09 UTC
(In reply to Jonas Ådahl from comment #2)
> Should be testable on X11 by using GTK_CSD=1 meaning you don't need any
> specific version of mutter to reproduce.

Nope, still can't reproduce. Kamil, are you sure this bug occurs with Epiphany? I see you filed it against many apps at once, is it possible you misjudged the window size?
Comment 5 Kamil Páral 2016-09-19 13:23:58 UTC
Sigh. I'm quite sure I reproduced this with Epiphany, but I can't anymore. I'm not sure what changed. Let's probably close this, I'll reopen when I can reliably make it happen again. Sorry.
Comment 6 Michael Catanzaro 2016-09-19 16:53:18 UTC
OK then