# HG changeset patch # User nadvornik # Date 1217096276 0 # Node ID a53f5141228bd560b84afa2403797f99741d515c # Parent c87e9835c443a6aac427be1aef48a91c0bb7900d allow only existing folders in destination dialog http://sourceforge.net/tracker/index.php?func=detail&aid=2011243&group_id=222125&atid=1054680 diff -r c87e9835c443 -r a53f5141228b src/typedefs.h --- a/src/typedefs.h Sat Jul 26 10:27:41 2008 +0000 +++ b/src/typedefs.h Sat Jul 26 18:17:56 2008 +0000 @@ -161,7 +161,8 @@ CHANGE_NO_WRITE_PERM_DEST_DIR = 1 << 6, CHANGE_NO_WRITE_PERM_DEST = 1 << 7, CHANGE_DEST_EXISTS = 1 << 8, - CHANGE_NO_SRC = 1 << 9 + CHANGE_NO_SRC = 1 << 9, + CHANGE_GENERIC_ERROR = 1 << 16 } ChangeError; #define MAX_SPLIT_IMAGES 4 diff -r c87e9835c443 -r a53f5141228b src/utilops.c --- a/src/utilops.c Sat Jul 26 10:27:41 2008 +0000 +++ b/src/utilops.c Sat Jul 26 18:17:56 2008 +0000 @@ -866,7 +866,12 @@ gint error = CHANGE_OK; gchar *desc = NULL; - if (ud->dir_fd) + if (ud->dest_path && !isdir(ud->dest_path)) + { + error = CHANGE_GENERIC_ERROR; + desc = g_strdup_printf(_("%s is not a directory"), ud->dest_path); + } + else if (ud->dir_fd) { error = file_data_sc_verify_ci(ud->dir_fd); if (error) desc = file_data_get_error_string(error); @@ -883,7 +888,6 @@ return; } - // FIXME: the dialogs needs better error messages with a list of files and error descriptions if (!(error & CHANGE_ERROR_MASK)) { /* just a warning */