diff options
author | Alexander Larsson <alexl@redhat.com> | 2009-01-13 09:08:08 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2009-01-13 09:08:08 +0000 |
commit | afadb31464943e31edfa291f88e896bfb2653dd4 (patch) | |
tree | e699fda4dff0662516d0cd8f8beed00e42acf7aa /src | |
parent | e89e44c7ad921686e8fb4d62c7ee4c7ccaba0a82 (diff) | |
download | nautilus-afadb31464943e31edfa291f88e896bfb2653dd4.tar.gz |
Only set window icon if it really changed.
2009-01-13 Alexander Larsson <alexl@redhat.com>
* src/nautilus-window-slot.c (nautilus_window_slot_update_icon):
Only set window icon if it really changed.
svn path=/trunk/; revision=14844
Diffstat (limited to 'src')
-rw-r--r-- | src/nautilus-window-slot.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c index 253872aa8..569921a54 100644 --- a/src/nautilus-window-slot.c +++ b/src/nautilus-window-slot.c @@ -346,7 +346,13 @@ nautilus_window_slot_update_icon (NautilusWindowSlot *slot) if (info) { icon_name = nautilus_icon_info_get_used_name (info); if (icon_name != NULL) { - gtk_window_set_icon_name (GTK_WINDOW (window), icon_name); + /* Gtk+ doesn't short circuit this (yet), so avoid lots of work + * if we're setting to the same icon. This happens a lot e.g. when + * the trash directory changes due to the file count changing. + */ + if (g_strcmp0 (icon_name, gtk_window_get_icon_name (GTK_WINDOW (window))) != 0) { + gtk_window_set_icon_name (GTK_WINDOW (window), icon_name); + } } else { pixbuf = nautilus_icon_info_get_pixbuf_nodefault (info); |