Skip to content
  • Carlos Soriano Sánchez's avatar
    general: only set icon position metadata when in desktop · 6205e6b2
    Carlos Soriano Sánchez authored
    We were setting the icon position metadata for any operation in any file
    due to legacy code where nautilus was able to have a
    freedom-of-placement canvas in the regular windows.
    
    However that changed and we can only have freedom-of-placement in the
    desktop window.
    
    Setting the metadata is a extremely expensive operation, and was causing
    issues, outlined in https://bugzilla.gnome.org/show_bug.cgi?id=757747,
    summarizing copy and move operations where really slow when using drag
    and drop, operations when we need to store the icon position when using
    a freedom-of-placement canvas view.
    
    This patch tries to only set the metadata when necessary, which is when
    using the desktop window. However the code is pretty integrated with the
    rest of Nautilus, so the patch was able to isolate the part when the
    metadata is set and only provide metadata when the target is the desktop.
    However, for unsetting the metadata the patch need to check if it's
    the desktop inside the file-operations, which is less than ideal.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=775910
    6205e6b2