aboutsummaryrefslogtreecommitdiff
path: root/src/mimeview.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-26 10:57:24 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-26 10:57:24 +0000
commit48420a4ea6c0a4ccd8a52964c2415ccd1a2c5d92 (patch)
tree956bae78f424441db177bbd1d25791e82efdb313 /src/mimeview.c
parenta995a308a0ea0dbc92d14bb62d1fe1d1c87a355b (diff)
improved DnD.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@291 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/mimeview.c')
-rw-r--r--src/mimeview.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mimeview.c b/src/mimeview.c
index 40d2fb14..b847e117 100644
--- a/src/mimeview.c
+++ b/src/mimeview.c
@@ -387,6 +387,9 @@ void mimeview_clear(MimeView *mimeview)
g_free(mimeview->file);
mimeview->file = NULL;
+
+ g_free(mimeview->drag_file);
+ mimeview->drag_file = NULL;
}
void mimeview_destroy(MimeView *mimeview)
@@ -948,9 +951,10 @@ static void mimeview_drag_begin(GtkWidget *widget, GdkDragContext *drag_context,
if (procmime_get_part(filename, mimeview->file, partinfo) < 0) {
g_warning(_("Can't save the part of multipart message."));
- g_free(filename);
} else
- mimeview->drag_file = filename;
+ mimeview->drag_file = encode_uri(filename);
+
+ g_free(filename);
gtk_drag_set_icon_default(drag_context);
}
@@ -971,14 +975,11 @@ static void mimeview_drag_data_get(GtkWidget *widget,
guint time,
MimeView *mimeview)
{
- gchar *uriname;
-
if (!mimeview->drag_file) return;
- uriname = g_strconcat("file://", mimeview->drag_file, NULL);
gtk_selection_data_set(selection_data, selection_data->target, 8,
- uriname, strlen(uriname));
- g_free(uriname);
+ mimeview->drag_file,
+ strlen(mimeview->drag_file));
}
static void mimeview_display_as_text(MimeView *mimeview)