summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2005-10-03 08:02:28 +0000
committerAlexander Larsson <alexl@src.gnome.org>2005-10-03 08:02:28 +0000
commitdb2e2f4f7481f4c5d08a3b729a8756a72e30f0e2 (patch)
tree610a6f5a42d9aa38d9434bb144b885bb795f1d90
parentca9eb1c43bf01beec03ecc363b3d3015447fcc30 (diff)
downloadnautilus-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--ChangeLog9
-rw-r--r--libnautilus-private/nautilus-icon-container.c15
-rw-r--r--libnautilus-private/nautilus-icon-private.h1
3 files changed, 12 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 28b7464cb..d05a44322 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 */