diff options
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | libnautilus-private/nautilus-icon-container.c | 9 | ||||
-rw-r--r-- | libnautilus-private/nautilus-icon-private.h | 6 |
3 files changed, 21 insertions, 9 deletions
@@ -1,3 +1,18 @@ +2001-07-19 Darin Adler <darin@bentspoon.com> + + More fixes like the one Alex just did. + + * libnautilus-private/nautilus-icon-container.c: (destroy): + Move the call to unschedule_keyboard_icon_reveal into + nautilus_icon_container_clear. + (nautilus_icon_container_clear): Cancel both of the pending + icon reveals, since all the icons are gone. + (icon_destroy): Cancel a pending icon to reveal if the + icon being destroyed is that icon. + + * libnautilus-private/nautilus-icon-private.h: Remove some + unused fields. + 2001-07-19 Alex Larsson <alexl@redhat.com> * libnautilus-private/nautilus-icon-container.c (nautilus_icon_container_clear): diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c index 064fe61fc..ae9559278 100644 --- a/libnautilus-private/nautilus-icon-container.c +++ b/libnautilus-private/nautilus-icon-container.c @@ -2298,8 +2298,6 @@ destroy (GtkObject *object) nautilus_icon_dnd_fini (container); nautilus_icon_container_clear (container); - unschedule_keyboard_icon_reveal (container); - if (container->details->rubberband_info.timer_id != 0) { gtk_timeout_remove (container->details->rubberband_info.timer_id); } @@ -3585,7 +3583,10 @@ nautilus_icon_container_clear (NautilusIconContainer *container) end_renaming_mode (container, TRUE); clear_keyboard_focus (container); + unschedule_keyboard_icon_reveal (container); + set_pending_icon_to_reveal (container, NULL); details->stretch_icon = NULL; + details->drop_target = NULL; for (p = details->icons; p != NULL; p = p->next) { icon_free (p->data); @@ -3594,7 +3595,6 @@ nautilus_icon_container_clear (NautilusIconContainer *container) details->icons = NULL; g_list_free (details->new_icons); details->new_icons = NULL; - details->drop_target = NULL; nautilus_icon_container_update_scroll_region (container); } @@ -3663,6 +3663,9 @@ icon_destroy (NautilusIconContainer *container, if (details->drop_target == icon) { details->drop_target = NULL; } + if (details->pending_icon_to_reveal == icon) { + set_pending_icon_to_reveal (container, NULL); + } icon_free (icon); diff --git a/libnautilus-private/nautilus-icon-private.h b/libnautilus-private/nautilus-icon-private.h index b1b73c147..e46d7447b 100644 --- a/libnautilus-private/nautilus-icon-private.h +++ b/libnautilus-private/nautilus-icon-private.h @@ -160,12 +160,6 @@ struct NautilusIconContainerDetails { /* Idle handler for stretch code */ guint stretch_idle_id; - /* Timeout for selection in browser mode. */ - guint linger_selection_mode_timer_id; - - /* Icon to be selected at timeout in browser mode. */ - NautilusIcon *linger_selection_mode_icon; - /* DnD info. */ NautilusIconDndInfo *dnd_info; |