Hello community, here is the log from the commit of package nautilus checked in at Fri Nov 7 15:27:09 CET 2008. -------- --- GNOME/nautilus/nautilus.changes 2008-10-29 13:49:40.000000000 +0100 +++ /mounts/work_src_done/STABLE/nautilus/nautilus.changes 2008-11-05 20:48:37.000000000 +0100 @@ -1,0 +2,7 @@ +Wed Nov 5 13:36:51 CST 2008 - federico@novell.com + +- Updated nautilus-sysadmin-desktop-items.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=438809 - Nautilus was + crashing when files got cut-and-pasted to the desktop. + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nautilus.spec ++++++ --- /var/tmp/diff_new_pack.N26748/_old 2008-11-07 15:24:42.000000000 +0100 +++ /var/tmp/diff_new_pack.N26748/_new 2008-11-07 15:24:42.000000000 +0100 @@ -41,7 +41,7 @@ License: GPL v2 or later Group: Productivity/File utilities Version: 2.24.1 -Release: 2 +Release: 3 Summary: The GNOME 2.x Desktop File Manager Source: ftp://ftp.gnome.org/pub/gnome/sources/nautilus/2.20/%{name}-%{version}.tar.bz2 Url: http://www.gnome.org @@ -209,6 +209,10 @@ %{_datadir}/gtk-doc/html/libnautilus-extension %changelog +* Wed Nov 05 2008 federico@novell.com +- Updated nautilus-sysadmin-desktop-items.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=438809 - Nautilus was + crashing when files got cut-and-pasted to the desktop. * Wed Oct 29 2008 rodrigo@novell.com - Remove nautilus-mime.patch, not needed anymore * Tue Oct 21 2008 maw@suse.de @@ -229,7 +233,7 @@ https://bugzilla.novell.com/show_bug.cgi?id=436750 - the built-in desktop links like Home, Trash, and volumes were not being shown at all. -* Fri Sep 26 2008 federico@novell.com +* Thu Sep 25 2008 federico@novell.com - Removed nautilus-bnc368446-network-in-places.patch to fix https://bugzilla.novell.com/show_bug.cgi?id=428968 - the Places sidebar had two "Network" items, as this patch had already been @@ -266,7 +270,7 @@ + Improve the “Clear History” confirmation dialog + Use GdkAppLaunchContext instead of EelAppLaunchContext + Fix small leaks. -* Thu Sep 04 2008 mboman@novell.com +* Wed Sep 03 2008 mboman@novell.com - Update to version 2.23.91: + Make autorun work for blank media + No more pixelated SVGs displayed for desktop items with absolute icon @@ -286,7 +290,7 @@ * Make scripts work when items in nested list view subdirectories are selected + Usual minor fix & polish galore -* Fri Aug 29 2008 maw@suse.de +* Thu Aug 28 2008 maw@suse.de - Update to version 2.23.90: + Truncate long item labels in the icon view and on the desktop * icon_view/text_ellipsis_limit and desktop/text_ellipsis_limit @@ -304,7 +308,7 @@ + Show file name instead of URI in the bookmark editor window for local files + Polish "Visible Columns" list view dialog. -* Sat Aug 09 2008 maw@suse.de +* Fri Aug 08 2008 maw@suse.de - Update to version 2.23.6.1: + Support transferring files with reserved FAT characters to a FAT file system; replace them with an underscore if neccessary @@ -382,14 +386,14 @@ + Respin the following patches: nautilus-bnc366100-bgo338933-ignore-foreign-desktop-files.diff and nautilus-bnc363122-lockdown-context-menus.diff. -* Sat Jun 07 2008 hpj@suse.de +* Fri Jun 06 2008 hpj@suse.de - Back out nautilus-bnc376669-always-update-thumbnail.patch (bnc#376669). * Fri Jun 06 2008 rodrigo@suse.de - Add nautilus-bnc397852-huge-memory-leak.patch (bnc#397852) -* Thu May 22 2008 hpj@suse.de +* Wed May 21 2008 hpj@suse.de - Add nautilus-bnc393226-dont-move-to-burn.patch (bnc#393226). -* Tue May 20 2008 hpj@suse.de +* Mon May 19 2008 hpj@suse.de - Add nautilus-bnc376669-always-update-thumbnail.patch (bnc#376669). * Thu May 01 2008 hpj@suse.de - Removed previously disabled patches that were made obsolete by @@ -432,7 +436,7 @@ * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support -* Thu Apr 03 2008 hpj@suse.de +* Wed Apr 02 2008 hpj@suse.de - Upgraded to version 2.22.1: * Fix crashes and leaks. * Fix emblem display in property page. @@ -464,7 +468,7 @@ - Add back gtk2-devel to the devel requires * Fri Mar 21 2008 vuntz@suse.de - Add a gnome-desktop-devel buildrequires to fix the build. -* Fri Mar 21 2008 jpr@suse.de +* Thu Mar 20 2008 jpr@suse.de - Remove obsolete -devel package requries - Remove medusa obsoletes, not relevant to any shipping distros * Thu Mar 13 2008 sbrabec@suse.cz @@ -486,7 +490,7 @@ - Use %%suse_update_desktop_file for nautilus-autorun-software and nautilus-folder-handler to mark them as translatable. - Add nautilus-bnc366455-change-ownership.patch to fix bnc#366455. -* Wed Mar 05 2008 maw@suse.de +* Tue Mar 04 2008 maw@suse.de - Update to version 2.21.92: + Build fixes + Fix crashes and leaks @@ -506,7 +510,7 @@ * Thu Feb 28 2008 rodrigo@suse.de - Added tags for all upstreamed patches, as well as bug numbers for all patches -* Thu Feb 21 2008 federico@novell.com +* Wed Feb 20 2008 federico@novell.com - Added nautilus-bnc363122-lockdown-disable-context-menus.diff to implement https://bugzilla.novell.com/show_bug.cgi?id=363122 - have a way to disable context menus in file views for quick-and-dirty kiosk setups. @@ -569,10 +573,10 @@ * Support direct save DnD (XDS) * Fix up octal permission display * Store window keep-above and stickines state across sessions -* Thu Sep 06 2007 maw@suse.de +* Wed Sep 05 2007 maw@suse.de - Don't require gnome2-user-docs, which now supplements nautilus (#297833). -* Thu Aug 30 2007 maw@suse.de +* Wed Aug 29 2007 maw@suse.de - Update to version 2.19.91: * Be more robust against broken extensions * Set current working directory right on desktop when running scripts @@ -589,7 +593,7 @@ CD and re-mounting the CD, Nautilus uses 100%% CPU. This simply includes the last patch from https://bugzilla.novell.com/show_bug.cgi?id=276193#c42 -* Sat Aug 11 2007 federico@novell.com +* Fri Aug 10 2007 federico@novell.com - Added nautilus-330298-297983-fix-overlapping-desktop-icons.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=297983 - desktop icons would overlap when inserting removable media, if the @@ -626,7 +630,7 @@ - Removed invalid desktop Category "Application" (#254654). * Mon Mar 26 2007 sbrabec@suse.cz - Fixed BuildRequires. -* Fri Mar 23 2007 maw@suse.de +* Thu Mar 22 2007 maw@suse.de - Update to version 2.18.0.1 - intltool is now a build requirement - Several code cleanups @@ -640,7 +644,7 @@ [#374623], #382207, #376952, #384078, #383840, #45953, #350579, [#318373], #132326, #372550, #338353, #372471, #330298, #155337, [#174766], #122688, #321175, #349840, #356124, #351713, #348161. -* Wed Feb 28 2007 dmueller@suse.de +* Tue Feb 27 2007 dmueller@suse.de - adjust BuildRequires: libexif->libexif-devel * Mon Feb 05 2007 sbrabec@suse.cz - Fixed Categories (#242053). @@ -697,18 +701,18 @@ when navigating to the x-nautilus-search:/// URI. (bnc #212649) * Sat Oct 14 2006 danw@suse.de - Remove dead patches -* Tue Oct 03 2006 jhargadon@suse.de +* Mon Oct 02 2006 jhargadon@suse.de - update to version 2.16.1 - Default to search in current directory for non-indexed search - Fix clash with symbol names in gtk+ * Wed Sep 20 2006 sbrabec@suse.cz - Update MIME database in scriptlets (#201729). -* Thu Sep 14 2006 jhargadon@suse.de +* Wed Sep 13 2006 jhargadon@suse.de - update to version 2.16.0 - Handle enter activation when using typeahead search - Avoid using gnome_vfs_is_local in wrong places - Translations -* Thu Aug 31 2006 jhargadon@suse.de +* Wed Aug 30 2006 jhargadon@suse.de - update to version 2.15.92.1 - Fix crash on startup - Fix crash on changing owner/group of file @@ -815,12 +819,12 @@ https://bugzilla.novell.com/show_bug.cgi?id=174766. This makes volume icons not overlap with other icons in the desktop when volumes get mounted. -* Tue May 23 2006 federico@novell.com +* Mon May 22 2006 federico@novell.com - Updated nautilus-158158-ignore-foreign-desktop-files.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=177777. All .desktop files were being filtered erroneously if they didn't have OnlyShowIn/NotShowIn keys. -* Tue May 23 2006 joeshaw@suse.de +* Mon May 22 2006 joeshaw@suse.de - Only patch in the nautilus-search.desktop file on SL, not SLE, since the new main menu has search built-in. (bnc #177551) * Wed May 17 2006 sbrabec@suse.cz @@ -829,25 +833,25 @@ - Fixed I18N problems: * untranslatable Search string (#173448) * uninitialized locale (#173448#c3) -* Wed May 17 2006 federico@novell.com +* Tue May 16 2006 federico@novell.com - Updated nautilus-158158-ignore-foreign-desktop-files.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=176123. The "OnlyShowIn" key in desktop files can contain multiple items. Also pay attention to the "NotShowIn" key. -* Tue May 16 2006 federico@novell.com +* Mon May 15 2006 federico@novell.com - Added nautilus-158279-add-location-toggle-button.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=158279. This adds a toggle button to the left of path bar in navigation windows. Pressing this button will switch to using a location entry instead of the path bar. -* Fri May 12 2006 federico@novell.com +* Thu May 11 2006 federico@novell.com - Updated nautilus-155010-desktop-volume-policy.diff; this fixes https://bugzilla.novell.com/show_bug.cgi?id=175076. This fixes a crash when dragging a volume to the trash. -* Thu May 11 2006 joeshaw@suse.de +* Wed May 10 2006 joeshaw@suse.de - Update search patch to remove annoying "queuing <whatever>" debug spew. -* Wed May 10 2006 federico@novell.com +* Tue May 09 2006 federico@novell.com - Added nautilus-142860-vfs-drive-for-extensions.diff to fix the Nautilus part of bug https://bugzilla.novell.com/show_bug.cgi?id=142860. This lets @@ -865,11 +869,11 @@ - Updated nautilus-155010-desktop-volume-policy.diff to fix bug https://bugzilla.novell.com/show_bug.cgi?id=168280. This makes Nautilus not display two volume icons for no-media-check devices. -* Wed Apr 19 2006 federico@suse.de +* Tue Apr 18 2006 federico@suse.de - Removed dot-hidden.dif. This fixes bug #158158 completely; that patch is obsoleted by the updated nautilus-158158-ignore-foreign-desktop-files.diff. -* Wed Apr 19 2006 federico@novell.com +* Tue Apr 18 2006 federico@novell.com - Added nautilus-158158-ignore-foreign-desktop-files.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=158158. This makes Nautilus ignore .desktop files whose OnlyShowIn property indicates @@ -877,7 +881,7 @@ * Tue Apr 18 2006 joeshaw@suse.de - Update nautilus-search patch to correctly handle a search URI being passed into nautilus on the command-line. (bnc #166158) -* Tue Apr 18 2006 federico@novell.com +* Mon Apr 17 2006 federico@novell.com - Added nautilus-155010-desktop-volume-policy.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=155010. This makes Nautilus display the same set of drives and volumes as GTK+'s file @@ -894,7 +898,7 @@ - Added nautilus-155337-icon-positioning-on-reload.diff to fix bug [#155337]. Now icons in the desktop are not repositioned if the desktop gets reloaded. -* Fri Mar 17 2006 federico@novell.com +* Thu Mar 16 2006 federico@novell.com - Added nautilus-perf-no-burn-uri-for-desktop.diff. This makes Nautilus not do unnecessary work when initializing the desktop, saving 1 second during login. @@ -905,7 +909,7 @@ - use beagle on ppc64 as well * Thu Mar 02 2006 sbrabec@suse.cz - Translations from upstream moved to gnome-patch-translation. -* Fri Feb 24 2006 federico@novell.com +* Thu Feb 23 2006 federico@novell.com - Added nautilus-130796-bad-icon-placement.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=130796. This makes desktop icons with very wide labels be placed correctly, instead of @@ -917,9 +921,9 @@ isn't running. * Sun Feb 19 2006 aj@suse.de - Reduce BuildRequires. -* Sat Feb 18 2006 gekker@suse.de +* Fri Feb 17 2006 gekker@suse.de - ficup .desktop files for UI team -* Tue Feb 14 2006 federico@novell.com +* Mon Feb 13 2006 federico@novell.com - Added nautilus-130796-bad-icon-placement.diff to fix https://bugzilla.novell.com/show_bug.cgi?id=130796. This makes desktop icons with very wide labels be placed correctly, instead of @@ -940,12 +944,12 @@ - converted neededforbuild to BuildRequires * Mon Jan 23 2006 joeshaw@suse.de - Update search patch to only search the files backend -* Wed Jan 18 2006 gekker@suse.de +* Tue Jan 17 2006 gekker@suse.de - Remove Requires: on control-center2 and gnome-themes (#142237) * Tue Dec 06 2005 sbrabec@suse.cz - Do not require beagle on ppc64. - Enabled parallel build. -* Tue Dec 06 2005 federico@novell.com +* Mon Dec 05 2005 federico@novell.com - Removed nautilus-136167-no-default-window.diff. This is not the right fix, as external apps rely on being to call just "nautilus" without command-line arguments, so that Nautilus will open a window showing your Home directory. Moreover, there's no way for @@ -954,17 +958,17 @@ * Thu Dec 01 2005 federico@novell.com - Updated nautilus-6014-network-servers-desktop-icon.diff. When doing "Clean up by Name", the Network Servers icon will now be put after your Home icon. -* Thu Dec 01 2005 federico@novell.com +* Wed Nov 30 2005 federico@novell.com - Added nautilus-6014-network-servers-desktop-icon.diff to fix bug #6014. This Creates a "Network Servers" icon in the desktop. - Added nautilus-136167-no-default-window.diff to fix bug #136167. When restarted abnormally, Nautilus will no longer open a window for your home directory. -* Thu Dec 01 2005 gekker@suse.de +* Wed Nov 30 2005 gekker@suse.de - Update to version 2.12.2 -* Tue Nov 29 2005 gekker@suse.de +* Mon Nov 28 2005 gekker@suse.de - Enable nauilus sidebar by default (#132383). -* Thu Nov 17 2005 federico@novell.com +* Wed Nov 16 2005 federico@novell.com - Added nautilus-default-thumbnail-size.diff. This makes the default size for thumbnails be 64 pixels, which looks better with the default theme than the old value of 96 pixels. @@ -972,20 +976,20 @@ - Update nautilus-search patch to 20051101. - Add patch to hide the zoom and "view as" controls from the location bar. -* Tue Nov 08 2005 federico@novell.com +* Mon Nov 07 2005 federico@novell.com - Added nautilus-115467-dont-overlap-volume-icons.diff to fix part of bug #115467. With this, Nautilus will not overlap the icons when you insert a CD or USB stick. -* Wed Nov 02 2005 federico@novell.com +* Tue Nov 01 2005 federico@novell.com - Updated nautilus-submount.patch to fix bug #127509. With this, the "Unmount volume" command will appear again for network volumes. -* Fri Oct 14 2005 gekker@suse.de +* Thu Oct 13 2005 gekker@suse.de - Update to version 2.12.1 - Remove upstreamed patch - Re-diff some patches so that they apply to new version -* Sat Oct 08 2005 jpr@suse.de +* Fri Oct 07 2005 jpr@suse.de - Update beagle search patch -* Fri Oct 07 2005 federico@novell.com +* Thu Oct 06 2005 federico@novell.com - Added nautilus-desktop-file-fallback-icons.diff so that .desktop files which don't have an Icon property will fall back to some reasonable icons depending on the type of the .desktop file. @@ -993,13 +997,13 @@ - Add DocPath to .desktop file * Thu Oct 06 2005 sbrabec@suse.de - Require gnome-themes. -* Wed Oct 05 2005 federico@novell.com +* Tue Oct 04 2005 federico@novell.com - Added nautilus-consistent-home-folder-name.diff to make the name of $HOME consistent between the path bar and side bar in Nautilus and GtkFileChooser. -* Fri Sep 23 2005 clahey@suse.de +* Thu Sep 22 2005 clahey@suse.de - Turn off computer icon by default. -* Fri Sep 16 2005 clahey@suse.de +* Thu Sep 15 2005 clahey@suse.de - Added nautilus-icon.patch to change main icon. bug #117333 * Thu Sep 08 2005 federico@novell.com - Added nautilus-114914-trash-unmount-removable-volume.diff to fix bug @@ -1021,9 +1025,9 @@ - Update to version 2.11.92 * Tue Aug 16 2005 sbrabec@suse.cz - Updated nautilus-search patch from Joe Shaw. -* Fri Aug 12 2005 gekker@suse.de +* Thu Aug 11 2005 gekker@suse.de - Update to version 2.11.91 -* Wed Aug 03 2005 gekker@suse.de +* Tue Aug 02 2005 gekker@suse.de - Update to version 2.11.90 * Wed Jul 13 2005 sbrabec@suse.cz - Updated to version 2.11.2. @@ -1045,11 +1049,11 @@ kde services (#58875) * Mon Mar 14 2005 clahey@suse.de - Remove nautilus-background-memory.patch. Fixes 72063. -* Thu Mar 10 2005 gekker@suse.de +* Wed Mar 09 2005 gekker@suse.de - Update to version 2.10.0 (GNOME 2.10). * Mon Mar 07 2005 gekker@suse.de - Add nautilus-background-memory.patch -* Fri Mar 04 2005 gekker@suse.de +* Thu Mar 03 2005 gekker@suse.de - Update to version 2.9.92 * Fri Feb 11 2005 gekker@suse.de - Update to 2.9.91 @@ -1072,7 +1076,7 @@ - fix filelist * Thu Dec 16 2004 hvogel@suse.de - require gnome-icon-theme for the desktop file icons -* Thu Dec 16 2004 hvogel@suse.de +* Wed Dec 15 2004 hvogel@suse.de - fix desktop file * Tue Nov 23 2004 hhetter@suse.de - require gnome2-user-docs (#48272) @@ -1096,26 +1100,26 @@ * Tue Sep 21 2004 hhetter@suse.de - show "drives:" location instead of "computer:" and recognize /var/lib/Desktop -* Wed Sep 08 2004 clahey@suse.de +* Tue Sep 07 2004 clahey@suse.de - Added OnlyShowIn=GNOME;. * Tue Aug 24 2004 dave@suse.de - Added nautilus-location-crash.patch, ximian bug #63445 -* Fri Aug 20 2004 dave@suse.de +* Thu Aug 19 2004 dave@suse.de - Added nautilus-submount.patch, fixes ximian bug #63101 * Tue Aug 17 2004 dave@suse.de - Added nautilus-startup-notify.patch, fixes ximian bug #62605 -* Fri Aug 13 2004 dave@suse.de +* Thu Aug 12 2004 dave@suse.de - Added patches: nautilus-hide-desktop-files.patch - Update of nautilus-hide-separators.patch, fixes ximian bug #62339 nautilus-trim-desktop-menu.patch - fixes ximian bug #59110 -* Fri Jul 30 2004 dave@suse.de +* Thu Jul 29 2004 dave@suse.de - Added patches: nautilus-desktop-keybindings.patch nautilus-hide-separators.patch nautilus-name-length.patch nautilus-netscape-url-dnd-format.patch -* Wed Jun 23 2004 dave@suse.de +* Tue Jun 22 2004 dave@suse.de - Added nautilus-view-dispose.patch * Thu Jun 17 2004 dave@suse.de - Updated to nautilus-2.6.3 @@ -1269,7 +1273,7 @@ - gnome-common in #neededforbuild * Fri Jun 07 2002 hhetter@suse.de - really build nautilus treeview and notes -* Thu Jun 06 2002 ro@suse.de +* Wed Jun 05 2002 ro@suse.de - fix libdir usage * Wed Jun 05 2002 hhetter@suse.de - added missing pkgtool files @@ -1283,7 +1287,7 @@ * Tue May 07 2002 ro@suse.de - up to 1.1.15 - added gail to neededforbuild (for eel2) -* Fri Feb 01 2002 ro@suse.de +* Thu Jan 31 2002 ro@suse.de - changed neededforbuild <libpng> to <libpng-devel-packages> * Thu Jan 24 2002 hhetter@suse.de - initial SuSE package for GNOME 2.0 platform ++++++ nautilus-sysadmin-desktop-items.diff ++++++ --- /var/tmp/diff_new_pack.N26748/_old 2008-11-07 15:24:44.000000000 +0100 +++ /var/tmp/diff_new_pack.N26748/_new 2008-11-07 15:24:45.000000000 +0100 @@ -1,5 +1,9 @@ -Sysadmin-defined desktop items for Nautilus -http://www.gnome.org/~federico/news-2008-08.html#nautilus-predefined-desktop... +Support desktop items defined by the sysadmin + +This adds a GConf key /apps/nautilus/desktop/predefined_items_dir which points to +a directory which holds .desktop files. These files will be shown in the user's desktop. + +Git repository at http://gitorious.org/projects/nautilus/repos/mainline - branch sysadmin-desktop-items diff --git a/libnautilus-private/apps_nautilus_preferences.schemas.in b/libnautilus-private/apps_nautilus_preferences.schemas.in index ca45081..c180132 100644 @@ -98,7 +102,7 @@ void nautilus_debug_log (gboolean is_milestone, const char *domain, const char *format, ...); diff --git a/libnautilus-private/nautilus-desktop-directory.c b/libnautilus-private/nautilus-desktop-directory.c -index 0c5333e..b08abef 100644 +index 0c5333e..f8970ef 100644 --- a/libnautilus-private/nautilus-desktop-directory.c +++ b/libnautilus-private/nautilus-desktop-directory.c @@ -24,34 +24,83 @@ @@ -189,7 +193,7 @@ } MergedCallback; -@@ -64,24 +113,48 @@ typedef struct { +@@ -64,24 +113,50 @@ typedef struct { } MergedMonitor; static void desktop_directory_changed_callback (gpointer data); @@ -197,6 +201,8 @@ + +static gboolean directories_are_done_loading (NautilusDesktopDirectory *directory); +static void predefined_items_dir_changed_callback (gpointer data); ++ ++static void forward_files_changed_cover (NautilusDirectory *directory, GList *files, gpointer callback_data); GNOME_CLASS_BOILERPLATE (NautilusDesktopDirectory, nautilus_desktop_directory, NautilusDirectory, NAUTILUS_TYPE_DIRECTORY) @@ -241,7 +247,7 @@ } static guint -@@ -114,15 +187,72 @@ merged_callback_destroy (MergedCallback *merged_callback) +@@ -114,15 +189,72 @@ merged_callback_destroy (MergedCallback *merged_callback) g_assert (NAUTILUS_IS_DESKTOP_DIRECTORY (merged_callback->desktop_dir)); g_list_free (merged_callback->non_ready_directories); @@ -316,14 +322,14 @@ return; } -@@ -130,10 +260,18 @@ merged_callback_check_done (MergedCallback *merged_callback) +@@ -130,10 +262,18 @@ merged_callback_check_done (MergedCallback *merged_callback) g_hash_table_steal (merged_callback->desktop_dir->details->callbacks, merged_callback); /* We are ready, so do the real callback. */ - (* merged_callback->callback) (NAUTILUS_DIRECTORY (merged_callback->desktop_dir), - merged_callback->merged_file_list, + -+ files = get_file_list (NAUTILUS_DIRECTORY (desktop), TRUE); ++ files = get_file_list (desktop, TRUE); + + nautilus_debug_log_with_file_list (FALSE, NAUTILUS_DEBUG_LOG_DOMAIN_DEBUG_DESKTOP_ITEMS, files, + "merged_callback_check_done: we are done; calling callback with files"); @@ -337,7 +343,7 @@ /* And we are done. */ merged_callback_destroy (merged_callback); } -@@ -144,7 +282,330 @@ merged_callback_remove_directory (MergedCallback *merged_callback, +@@ -144,7 +284,330 @@ merged_callback_remove_directory (MergedCallback *merged_callback, { merged_callback->non_ready_directories = g_list_remove (merged_callback->non_ready_directories, directory); @@ -669,7 +675,7 @@ } static void -@@ -153,6 +614,8 @@ directory_ready_callback (NautilusDirectory *directory, +@@ -153,6 +616,8 @@ directory_ready_callback (NautilusDirectory *directory, gpointer callback_data) { MergedCallback *merged_callback; @@ -678,7 +684,7 @@ g_assert (NAUTILUS_IS_DIRECTORY (directory)); g_assert (callback_data != NULL); -@@ -160,13 +623,13 @@ directory_ready_callback (NautilusDirectory *directory, +@@ -160,13 +625,13 @@ directory_ready_callback (NautilusDirectory *directory, merged_callback = callback_data; g_assert (g_list_find (merged_callback->non_ready_directories, directory) != NULL); @@ -696,7 +702,7 @@ } static void -@@ -179,6 +642,12 @@ desktop_call_when_ready (NautilusDirectory *directory, +@@ -179,6 +644,12 @@ desktop_call_when_ready (NautilusDirectory *directory, NautilusDesktopDirectory *desktop; MergedCallback search_key, *merged_callback; @@ -709,7 +715,7 @@ desktop = NAUTILUS_DESKTOP_DIRECTORY (directory); /* Check to be sure we aren't overwriting. */ -@@ -194,36 +663,49 @@ desktop_call_when_ready (NautilusDirectory *directory, +@@ -194,36 +665,49 @@ desktop_call_when_ready (NautilusDirectory *directory, merged_callback->desktop_dir = desktop; merged_callback->callback = callback; merged_callback->callback_data = callback_data; @@ -770,7 +776,7 @@ } static void -@@ -235,6 +717,10 @@ desktop_cancel_callback (NautilusDirectory *directory, +@@ -235,6 +719,10 @@ desktop_cancel_callback (NautilusDirectory *directory, MergedCallback search_key, *merged_callback; GList *node; @@ -781,7 +787,7 @@ desktop = NAUTILUS_DESKTOP_DIRECTORY (directory); /* Find the entry in the table. */ -@@ -267,15 +753,19 @@ merged_monitor_destroy (MergedMonitor *monitor) +@@ -267,15 +755,19 @@ merged_monitor_destroy (MergedMonitor *monitor) /* Call through to the real directory remove calls. */ nautilus_directory_file_monitor_remove (desktop->details->real_directory, monitor); @@ -804,7 +810,7 @@ { GList **merged_list; -@@ -285,6 +775,66 @@ build_merged_callback_list (NautilusDirectory *directory, +@@ -285,6 +777,66 @@ build_merged_callback_list (NautilusDirectory *directory, } static void @@ -871,7 +877,7 @@ desktop_monitor_add (NautilusDirectory *directory, gconstpointer client, gboolean monitor_hidden_files, -@@ -295,7 +845,14 @@ desktop_monitor_add (NautilusDirectory *directory, +@@ -295,7 +847,14 @@ desktop_monitor_add (NautilusDirectory *directory, { NautilusDesktopDirectory *desktop; MergedMonitor *monitor; @@ -887,7 +893,7 @@ desktop = NAUTILUS_DESKTOP_DIRECTORY (directory); -@@ -315,25 +872,40 @@ desktop_monitor_add (NautilusDirectory *directory, +@@ -315,25 +874,40 @@ desktop_monitor_add (NautilusDirectory *directory, monitor->monitor_backup_files = monitor_backup_files; monitor->monitor_attributes = file_attributes; @@ -944,7 +950,7 @@ } static void -@@ -342,6 +914,10 @@ desktop_monitor_remove (NautilusDirectory *directory, +@@ -342,6 +916,10 @@ desktop_monitor_remove (NautilusDirectory *directory, { NautilusDesktopDirectory *desktop; MergedMonitor *monitor; @@ -955,7 +961,7 @@ desktop = NAUTILUS_DESKTOP_DIRECTORY (directory); -@@ -354,55 +930,143 @@ desktop_monitor_remove (NautilusDirectory *directory, +@@ -354,55 +932,143 @@ desktop_monitor_remove (NautilusDirectory *directory, } static void @@ -1114,7 +1120,7 @@ } NautilusDirectory * -@@ -412,7 +1076,6 @@ nautilus_desktop_directory_get_real_directory (NautilusDesktopDirectory *desktop +@@ -412,7 +1078,6 @@ nautilus_desktop_directory_get_real_directory (NautilusDesktopDirectory *desktop return desktop->details->real_directory; } @@ -1122,7 +1128,7 @@ static void desktop_finalize (GObject *object) { -@@ -422,39 +1085,431 @@ desktop_finalize (GObject *object) +@@ -422,39 +1087,455 @@ desktop_finalize (GObject *object) nautilus_directory_unref (desktop->details->real_directory); @@ -1267,6 +1273,30 @@ + is_predefined_dir ? "predefined items" : "user items", + uri); + ++ pair = g_hash_table_lookup (desktop->details->file_to_pairs_hash, file); ++ if (pair != NULL) { ++ GList node; ++ ++ /* Sometimes we get a files-added signal from one of the ++ * child directories, even though the file in question ++ * *has* already been emitted by a files-changed signal. ++ * In that case, we already know about the file and ++ * should not create a new pair for it. We'll handle ++ * that case as if the file had just been changed. ++ */ ++ ++ node.data = file; ++ node.prev = NULL; ++ node.next = NULL; ++ ++ nautilus_debug_log (FALSE, NAUTILUS_DEBUG_LOG_DOMAIN_DEBUG_DESKTOP_ITEMS, ++ "Got 'added' for %s but we already knew about it; will consider it as a file that changed", ++ uri); ++ forward_files_changed_cover (directory, &node, desktop); ++ g_free (uri); ++ continue; ++ } ++ + pair = create_file_pair (desktop, NAUTILUS_FILE (l->data), is_predefined_dir, &is_new_pair); + log_pair (pair, is_new_pair); + predefined_was_being_used = pair->predefined_overrides_user; @@ -1561,7 +1591,7 @@ } static void -@@ -464,17 +1519,10 @@ update_desktop_directory (NautilusDesktopDirectory *desktop) +@@ -464,17 +1545,10 @@ update_desktop_directory (NautilusDesktopDirectory *desktop) char *desktop_uri; NautilusDirectory *real_directory; @@ -1582,7 +1612,7 @@ desktop_path = nautilus_get_desktop_directory (); desktop_uri = g_filename_to_uri (desktop_path, NULL, NULL); -@@ -482,6 +1530,8 @@ update_desktop_directory (NautilusDesktopDirectory *desktop) +@@ -482,6 +1556,8 @@ update_desktop_directory (NautilusDesktopDirectory *desktop) g_free (desktop_uri); g_free (desktop_path); @@ -1591,7 +1621,7 @@ g_signal_connect_object (real_directory, "done_loading", G_CALLBACK (done_loading_callback), desktop, 0); g_signal_connect_object (real_directory, "files_added", -@@ -490,6 +1540,7 @@ update_desktop_directory (NautilusDesktopDirectory *desktop) +@@ -490,6 +1566,7 @@ update_desktop_directory (NautilusDesktopDirectory *desktop) G_CALLBACK (forward_files_changed_cover), desktop, 0); desktop->details->real_directory = real_directory; @@ -1599,7 +1629,7 @@ } static void -@@ -500,8 +1551,64 @@ desktop_directory_changed_callback (gpointer data) +@@ -500,8 +1577,64 @@ desktop_directory_changed_callback (gpointer data) } static void @@ -1664,7 +1694,7 @@ desktop->details = g_new0 (NautilusDesktopDirectoryDetails, 1); desktop->details->callbacks = g_hash_table_new_full -@@ -510,11 +1617,19 @@ nautilus_desktop_directory_instance_init (NautilusDesktopDirectory *desktop) +@@ -510,11 +1643,19 @@ nautilus_desktop_directory_instance_init (NautilusDesktopDirectory *desktop) desktop->details->monitors = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)merged_monitor_destroy); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org