diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2012-02-07 20:52:17 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2012-02-07 20:52:17 +0000 |
commit | 78f48b0b86c089fd28ae2d1d9c530e92659ef401 (patch) | |
tree | 5263160509c3ab4c0588538138c77d366633c100 /src | |
parent | 5598cf71eb19e81094a1c8e54080972c7a07e1d3 (diff) |
fix drag and drop
Diffstat (limited to 'src')
-rw-r--r-- | src/trg-client.c | 5 | ||||
-rw-r--r-- | src/trg-main-window.c | 37 |
2 files changed, 18 insertions, 24 deletions
diff --git a/src/trg-client.c b/src/trg-client.c index 7e0a84f..b3bc374 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -193,11 +193,10 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session) { TrgClientPrivate *priv = tc->priv; - if (priv->session) { + if (priv->session) json_object_unref(priv->session); - } else { + else priv->version = session_get_version(session); - } priv->session = session; json_object_ref(session); diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 3f63c1b..e1fd34c 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -2486,31 +2486,26 @@ static GtkTargetEntry target_list[] = { static guint n_targets = G_N_ELEMENTS(target_list); -static void -on_dropped_file(GtkWidget * widget, GdkDragContext * context, - gint x, gint y, GtkSelectionData * data, - guint info, guint time, gpointer user_data) -{ +static void on_dropped_file(GtkWidget * widget, GdkDragContext * context, + gint x, gint y, GtkSelectionData * data, guint info, guint time, + gpointer user_data) { TrgMainWindow *win = user_data; if ((gtk_selection_data_get_length(data) >= 0) - && (gtk_selection_data_get_format(data) == 8)) { - if (gdk_drag_context_get_actions(context) == GDK_ACTION_MOVE) { - gchar **uri_list = gtk_selection_data_get_uris(data); - guint num_files = g_strv_length(uri_list); - gchar **file_list = g_new0(gchar *, num_files + 1); - int i; - - for (i = 0; i < num_files; i++) - file_list[i] = - g_filename_from_uri(uri_list[i], NULL, NULL); - - g_strfreev(uri_list); - gtk_drag_finish(context, TRUE, FALSE, time); - trg_add_from_filename(win, file_list); - return; - } + && (gtk_selection_data_get_format(data) == 8)) { + gchar **uri_list = gtk_selection_data_get_uris(data); + guint num_files = g_strv_length(uri_list); + gchar **file_list = g_new0(gchar *, num_files + 1); + int i; + + for (i = 0; i < num_files; i++) + file_list[i] = g_filename_from_uri(uri_list[i], NULL, NULL); + + g_strfreev(uri_list); + gtk_drag_finish(context, TRUE, FALSE, time); + trg_add_from_filename(win, file_list); } + gtk_drag_finish(context, FALSE, FALSE, time); } |