mate-desktop / caja

Caja, the file manager for the MATE desktop
https://mate-desktop.org/
Other
264 stars 145 forks source link

icon view: Fix positioning overflowing icons on the desktop #1678

Closed cwendling closed 1 year ago

cwendling commented 1 year ago

Properly update the icon data before placing the icon, because positioning might depend on full icon contents on the desktop, whereas updating contents don't care about position.

When an icon position overflows the desktop area, it is clamped to stay in the visible area, but this computation depends on accurate icon and label sizes, which is only available when the icon is fully loaded.

Fix the code to first load the contents and then position instead of the other way around, which was actually trivial.

Note that visible positions were most often correct anyway for two reasons:

  1. Most of the time icons do not overflow, as they are positioned on the final desktop size anyway. It however can easily happen reducing monitor resolution or increasing desktop view zoom. (see also #1676)
  2. A second layout pass happens most of the time (I'm not yet sure why and when though), but not when an update is triggered before the previous one terminated (e.g. quickly hitting F5 twice).
lukefromdc commented 1 year ago

Again calling for another review if we can get one