diff options
author | Alexander Larsson <alexl@redhat.com> | 2005-10-03 08:02:28 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2005-10-03 08:02:28 +0000 |
commit | db2e2f4f7481f4c5d08a3b729a8756a72e30f0e2 (patch) | |
tree | 610a6f5a42d9aa38d9434bb144b885bb795f1d90 | |
parent | ca9eb1c43bf01beec03ecc363b3d3015447fcc30 (diff) | |
download | nautilus-db2e2f4f7481f4c5d08a3b729a8756a72e30f0e2.tar.gz |
Don't crash if file removed during start of drag. (#158196) Patch from
2005-10-03 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-icon-container.c:
* libnautilus-private/nautilus-icon-private.h:
Don't crash if file removed during start of drag. (#158196)
Patch from Christian Neumair.
Remove remove_context_menu_timeout, which is not needed anymore.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | libnautilus-private/nautilus-icon-container.c | 15 | ||||
-rw-r--r-- | libnautilus-private/nautilus-icon-private.h | 1 |
3 files changed, 12 insertions, 13 deletions
@@ -1,5 +1,14 @@ 2005-10-03 Alexander Larsson <alexl@redhat.com> + * libnautilus-private/nautilus-icon-container.c: + * libnautilus-private/nautilus-icon-private.h: + Don't crash if file removed during start of drag. (#158196) + Patch from Christian Neumair. + + Remove remove_context_menu_timeout, which is not needed anymore. + +2005-10-03 Alexander Larsson <alexl@redhat.com> + * src/file-manager/nautilus-directory-view-ui.xml: Fix some spelling errors. Patch from Lukasz Stelmach <stlman@poczta.fm> diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c index 690d58f52..28103069e 100644 --- a/libnautilus-private/nautilus-icon-container.c +++ b/libnautilus-private/nautilus-icon-container.c @@ -3354,20 +3354,10 @@ nautilus_icon_container_did_not_drag (NautilusIconContainer *container, } static void -remove_context_menu_timeout (NautilusIconContainer *container) -{ - if (container->details->context_menu_timeout_id != 0) { - g_source_remove (container->details->context_menu_timeout_id); - container->details->context_menu_timeout_id = 0; - } -} - -static void clear_drag_state (NautilusIconContainer *container) { container->details->drag_icon = NULL; container->details->drag_state = DRAG_STATE_INITIAL; - remove_context_menu_timeout (container); } static gboolean @@ -3586,8 +3576,6 @@ motion_notify_event (GtkWidget *widget, container = NAUTILUS_ICON_CONTAINER (widget); details = container->details; - remove_context_menu_timeout (container); - if (details->drag_button != 0) { switch (details->drag_state) { case DRAG_STATE_MOVE_OR_COPY: @@ -4790,6 +4778,9 @@ icon_destroy (NautilusIconContainer *container, if (details->keyboard_icon_to_reveal == icon) { unschedule_keyboard_icon_reveal (container); } + if (details->drag_icon == icon) { + clear_drag_state (container); + } if (details->drop_target == icon) { details->drop_target = NULL; } diff --git a/libnautilus-private/nautilus-icon-private.h b/libnautilus-private/nautilus-icon-private.h index fbf4030e4..0c105417f 100644 --- a/libnautilus-private/nautilus-icon-private.h +++ b/libnautilus-private/nautilus-icon-private.h @@ -160,7 +160,6 @@ struct NautilusIconContainerDetails { DragState drag_state; gboolean drag_started; StretchState stretch_start; - int context_menu_timeout_id; gboolean icon_selected_on_button_down; NautilusIcon *double_click_icon[2]; /* Both clicks in a double click need to be on the same icon */ |