[gitg] Check valid filename on direct save
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gitg] Check valid filename on direct save
- Date: Sun, 17 Jan 2010 00:05:09 +0000 (UTC)
commit 37052f8002f92260281b42a5508d9dc659e312ba
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Sun Jan 17 01:04:48 2010 +0100
Check valid filename on direct save
gitg/gitg-dnd.c | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/gitg/gitg-dnd.c b/gitg/gitg-dnd.c
index 239f9bc..679a379 100644
--- a/gitg/gitg-dnd.c
+++ b/gitg/gitg-dnd.c
@@ -49,6 +49,7 @@ typedef struct
guint scroll_timeout;
gchar *xds_destination;
+ gchar *xds_filename;
} GitgDndData;
#define GITG_DND_DATA_KEY "GitgDndDataKey"
@@ -433,7 +434,7 @@ begin_drag (GtkWidget *widget,
(guchar *) filename,
strlen (filename));
- g_free (filename);
+ data->xds_filename = filename;
icon = create_revision_drag_icon (tree_view, revision);
@@ -815,7 +816,8 @@ get_xds_filename (GdkDragContext *context)
}
static gboolean
-has_direct_save (GdkDragContext *context)
+has_direct_save (GitgDndData *data,
+ GdkDragContext *context)
{
gboolean ret;
@@ -825,7 +827,7 @@ has_direct_save (GdkDragContext *context)
}
gchar *filename = get_xds_filename (context);
- ret = filename && *filename;
+ ret = filename && *filename && g_strcmp0 (data->xds_filename, filename) != 0;
g_free (filename);
return ret;
@@ -846,7 +848,7 @@ gitg_drag_source_data_get_cb (GtkWidget *widget,
GitgRepository *repository = GITG_REPOSITORY (gtk_tree_view_get_model (GTK_TREE_VIEW (widget)));
- if (has_direct_save (context))
+ if (has_direct_save (data, context))
{
gchar *destination = get_xds_filename (context);
@@ -944,6 +946,12 @@ gitg_drag_source_end_cb (GtkTreeView *tree_view,
g_free (data->xds_destination);
data->xds_destination = NULL;
}
+
+ if (data->xds_filename != NULL)
+ {
+ g_free (data->xds_filename);
+ data->xds_filename = NULL;
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]