summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog15
-rw-r--r--libnautilus-private/nautilus-icon-container.c9
-rw-r--r--libnautilus-private/nautilus-icon-private.h6
3 files changed, 21 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index bdca2e593..8224cf6ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;