Code

Patch by Adib for 429529
authorscislac <scislac@users.sourceforge.net>
Sun, 18 Oct 2009 19:17:16 +0000 (19:17 +0000)
committerscislac <scislac@users.sourceforge.net>
Sun, 18 Oct 2009 19:17:16 +0000 (19:17 +0000)
src/extension/system.cpp
src/file.cpp

index f41217959d6e1a0dc24ab9dfbcb9d3ee3a25f747..6ffa7f57f8428b6c3c60edf4efa48390c2e18b0a 100644 (file)
@@ -206,7 +206,7 @@ save(Extension *key, SPDocument *doc, gchar const *filename, bool setextension,
         }
         /* If autodetect fails, save as Inkscape SVG */
         if (omod == NULL) {
-            omod = dynamic_cast<Output *>(db.get(SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE));
+            // omod = dynamic_cast<Output *>(db.get(SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE)); use exception and let user choose
         }
     } else {
         omod = dynamic_cast<Output *>(key);
index 4964d30d59c0d1a1a75f5755e00af291592d8b06..e0ecd50843f8b96e1f298fbb6c3e45c593d10f66 100644 (file)
@@ -883,6 +883,10 @@ sp_file_save_document(Gtk::Window &parentWindow, SPDocument *doc)
                 ext = fn.substr( pos );
             }
             success = file_save(parentWindow, doc, fn, Inkscape::Extension::db.get(ext.c_str()), FALSE, TRUE, Inkscape::Extension::FILE_SAVE_METHOD_SAVE_AS);
+            if (success == false) {
+                // give the user the chance to change filename or extension
+                return sp_file_save_dialog(parentWindow, doc, Inkscape::Extension::FILE_SAVE_METHOD_INKSCAPE_SVG);
+            }
         }
     } else {
         SP_ACTIVE_DESKTOP->messageStack()->flash(Inkscape::WARNING_MESSAGE, _("No changes need to be saved."));