Author: colossus Date: 2008-08-28 06:17:47 +0000 (Thu, 28 Aug 2008) New Revision: 27599
Modified: xarchiver/trunk/src/string_utils.c xarchiver/trunk/src/window.c Log: Made the "Allow subdirs with drag and drop" option to work. Avoid returning an allocated string in xa_strip_current_working_dir_from_path() in string_utils.c. Modified: xarchiver/trunk/src/string_utils.c =================================================================== --- xarchiver/trunk/src/string_utils.c 2008-08-27 13:20:05 UTC (rev 27598) +++ xarchiver/trunk/src/string_utils.c 2008-08-28 06:17:47 UTC (rev 27599) @@ -228,21 +228,20 @@ gchar *xa_escape_filename (gchar *filename,gchar *meta_chars) { - return xa_escape_common_chars (filename , meta_chars, '\\', 0); + return xa_escape_common_chars (filename,meta_chars,'\\',0); } gchar *xa_strip_current_working_dir_from_path(gchar *working_dir,gchar *filename) { - gchar *basename,*slash; + gchar *slash; int len = 0; len = strlen(working_dir)+1; slash = g_strrstr(filename,"/"); if (slash == NULL) - return g_strdup(filename); + return filename; - basename = g_strndup(filename+len,strlen(filename) - len); - return basename; + return filename+len; } void xa_cat_filenames (XArchive *archive,GSList *list,GString *data) @@ -258,7 +257,6 @@ { basename = xa_strip_current_working_dir_from_path(archive->working_dir,slist->data); name = g_strconcat(archive->location_entry_path,basename,NULL); - g_free(basename); e_filename = xa_escape_filename(name,"$'`\"\\!?* ()[]&|:;<>#"); g_string_prepend (data,e_filename); g_string_prepend_c (data,' '); @@ -279,7 +277,6 @@ { basename = xa_strip_current_working_dir_from_path(archive->working_dir,slist->data); e_filename = xa_escape_filename(basename,"$'`\"\\!?* ()[]&|:;<>#"); - g_free(basename); g_string_prepend (data,e_filename); g_string_prepend_c (data,' '); } Modified: xarchiver/trunk/src/window.c =================================================================== --- xarchiver/trunk/src/window.c 2008-08-27 13:20:05 UTC (rev 27598) +++ xarchiver/trunk/src/window.c 2008-08-28 06:17:47 UTC (rev 27599) @@ -1951,7 +1951,7 @@ gtk_drag_finish(context,FALSE,FALSE,time); return; } - _current_dir = g_path_get_dirname (array[0]); + _current_dir = g_path_get_dirname(array[0]); if (archive[idx]->working_dir != NULL) { g_free(archive[idx]->working_dir); @@ -1965,8 +1965,8 @@ list = g_slist_append(list,filename); len++; } - archive[idx]->full_path = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (add_window->store_path)); - archive[idx]->add_recurse = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (add_window->recurse)); + archive[idx]->full_path = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (add_window->store_path)); + archive[idx]->add_recurse = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (prefs_window->allow_sub_dir)); xa_execute_add_commands(archive[idx],list,NULL); g_strfreev (array); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits