From 41b07f2eb061ec5a3d2cc90bc946074bf12b4ba6 Mon Sep 17 00:00:00 2001 From: buliabyak Date: Mon, 2 Feb 2009 15:49:47 +0000 Subject: [PATCH] use the same steps to figure out dir for bitmap copy as in export dialog --- src/selection-chemistry.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index 9081bbdb2..badf27ecb 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -82,6 +82,7 @@ #include "libnr/nr-convert2geom.h" #include "display/curve.h" #include "display/canvas-bpath.h" +#include "inkscape-private.h" // For clippath editing #include "tools-switch.h" @@ -2516,8 +2517,16 @@ sp_selection_create_bitmap_copy (SPDesktop *desktop) // Imagemagick is known not to handle spaces in filenames, so we replace anything but letters, // digits, and a few other chars, with "_" filename = g_strcanon (filename, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.=+~$#@^&!?", '_'); - // Build the complete path by adding document->base if set - gchar *filepath = g_build_filename (document->base?document->base:"", filename, NULL); + + // Build the complete path by adding document base dir, if set, otherwise home dir + gchar * directory = NULL; + if (SP_DOCUMENT_URI(document)) { + directory = g_dirname(SP_DOCUMENT_URI(document)); + } + if (directory == NULL) { + directory = homedir_path(NULL); + } + gchar *filepath = g_build_filename (directory, filename, NULL); //g_print ("%s\n", filepath); -- 2.30.2