diff options
Diffstat (limited to 'app-arch/xarchiver/files/xarchiver-0.5.2-drag-n-drop_escaped_path.patch')
-rw-r--r-- | app-arch/xarchiver/files/xarchiver-0.5.2-drag-n-drop_escaped_path.patch | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/app-arch/xarchiver/files/xarchiver-0.5.2-drag-n-drop_escaped_path.patch b/app-arch/xarchiver/files/xarchiver-0.5.2-drag-n-drop_escaped_path.patch new file mode 100644 index 000000000000..ff0d928b935c --- /dev/null +++ b/app-arch/xarchiver/files/xarchiver-0.5.2-drag-n-drop_escaped_path.patch @@ -0,0 +1,15 @@ +http://bugzilla.xfce.org/show_bug.cgi?id=5187 +http://bugs.gentoo.org/show_bug.cgi?id=262519 + +--- src/window.c ++++ src/window.c +@@ -1724,6 +1724,9 @@ + gtk_tree_selection_selected_foreach (selection,(GtkTreeSelectionForeachFunc) xa_concat_selected_filenames,&names); + archive->full_path = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->extract_full)); + archive->overwrite = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->overwrite_check)); ++ gchar *unescaped_extraction_path = archive->extraction_path; ++ archive->extraction_path = xa_escape_filename(unescaped_extraction_path, "$'`\"\\!?* ()[]&|:;<>#"); ++ g_free(unescaped_extraction_path); + (*archive->extract) (archive,names); + + g_list_foreach (row_list,(GFunc) gtk_tree_path_free,NULL); |