GNOME Bugzilla – Bug 776821
Scale factor not properly propagated upon reparent
Last modified: 2017-02-18 02:52:06 UTC
Created attachment 342773 [details] Issue This bug is a bit tricky to reproduce : - you need to run under a wayland compositor. - you need to have a primary screen at scaling factor of 2 and secondary screen of scaling factor 1 If you open devhelp on the secondary screen, the scaling factor is right in the first tab. But if you open another tab, the scaling factor will be the one of the primary screen. This will be fixed if you move the devhelp window from the secondary to primary screen and back. Attached is a video of issue, I could only record the problem in a nested compositor (because video encoder limitations with regards of the texture size). You can have the same setup by launching mutter with : MUTTER_DEBUG_NUM_DUMMY_MONITORS=2 MUTTER_DEBUG_DUMMY_MONITOR_SCALES=2,1 mutter --wayland --nested And devhelp with : WAYLAND_DISPLAY=wayland-1 devhelp
Created attachment 343131 [details] [review] widget: propagate scale factor upon reparenting a widget
Turns out it's a Gtk+ issue.
Ping?
Review of attachment 343131 [details] [review]: Looks plausible to me. Although I would say: the scale factor should always be the scale factor of the monitor. The parent widget is only indirectly involved here
Review of attachment 343131 [details] [review]: The parent widget will get its scaling factor from the window which is the top widget knowing on what monitor it currently is.
Review of attachment 343131 [details] [review]: Pushed to 3.22 branch.
Please also push to master when applicable. I'll cherry-pick it to there.