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 757471 - Desktop window misplaced with gtk+ 3.19
Desktop window misplaced with gtk+ 3.19
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: Desktop
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-11-02 12:41 UTC by Olivier Fourdan
Modified: 2015-11-12 10:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed fix (1.95 KB, patch)
2015-11-02 12:43 UTC, Olivier Fourdan
accepted-commit_now Details | Review

Description Olivier Fourdan 2015-11-02 12:41:49 UTC
Starting with gtk-+3.19.x, gtk+ will try to compensate for the client-side decorations when moving/resizing windows.
    
With this, the Nautilus desktop window is misplaced because at the time it's positioned, gtk+ cannot determine it will be undecorated eventually, both the gtk_window_set_decorated() and the type hint (_NET_WM_WINDOW_TYPE) are set after the move in nautilus-desktop-window.c, nautilus_desktop_window_constructed()
Comment 1 Olivier Fourdan 2015-11-02 12:43:42 UTC
Created attachment 314631 [details] [review]
Proposed fix

To avoid this, move gtk_window_move()  after gtk_window_set_decorated() so that gtk+ is aware that the window is not decorated and doesn't apply the offset to compensate for client-side decorations.
Comment 2 Carlos Soriano 2015-11-12 10:33:33 UTC
Review of attachment 314631 [details] [review]:

Looks logic to me, thanks!
Comment 3 Olivier Fourdan 2015-11-12 10:53:58 UTC
attachment 314631 [details] [review] pushed as commit e257e84 desktop: undecorate the window before positioning