-
Sometimes we were trying to lay down icons before size_allocate had been run. When this has happened, gtk_widget_get_allocation returns 1×1 as our size. This messes up the algorithm and causes icons to be overlapping on the canvas. This case happens when using Nautilus as the desktop in early-startup (e.g. from its XDG autostart file). It can happen that we have read the desktop files before the allocation has happened. We fix this by noticing if we're called before size_allocate and then deferring icon layout until later on, after size_allocate has happened. This behaviour was introduced in commit e0081be7, which sorts and freezes the desktop in early-startup. https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1611955 https://bugzilla.gnome.org/show_bug.cgi?id=765601
d82b5bb6