From 5981085fa98a7cc785524f89f107cc7ff43c8b42 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 26 Nov 2017 22:55:09 +0100 Subject: Make file update dialog transient for the main window This ensures the (modal) dialog is positioned on top of the Inkscape window in which the file will be opened. Before it could happen that the dialog was not even on the same monitor as the Inkscape window leaving Inkscape in a seemingly inaccessible state if it was overlooked. --- src/file-update.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/file-update.cpp b/src/file-update.cpp index 303a5c4f1..1d95b5d4c 100644 --- a/src/file-update.cpp +++ b/src/file-update.cpp @@ -318,6 +318,7 @@ void sp_file_convert_dpi(SPDocument *doc) bool backup = prefs->getBool("/options/dpifixbackup", true); if (INKSCAPE.use_gui() && sp_file_convert_dpi_method_commandline == -1) { Gtk::Dialog scale_dialog(_("Convert legacy Inkscape file")); + scale_dialog.set_transient_for( *(INKSCAPE.active_desktop()->getToplevel()) ); scale_dialog.set_border_width(10); scale_dialog.set_resizable(false); Gtk::Label explanation; -- cgit v1.2.3 From 392723017aebe8bcfcefa73107b65af0d29acd00 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 26 Nov 2017 23:03:19 +0100 Subject: Make bitmap export progress dialog transient for the main window --- src/ui/dialog/export.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp index 8c710c8e5..53629a1a2 100644 --- a/src/ui/dialog/export.cpp +++ b/src/ui/dialog/export.cpp @@ -901,6 +901,7 @@ void Export::setExporting(bool exporting, Glib::ustring const &text) Gtk::Dialog * Export::create_progress_dialog (Glib::ustring progress_text) { Gtk::Dialog *dlg = new Gtk::Dialog(_("Export in progress"), TRUE); + dlg->set_transient_for( *(INKSCAPE.active_desktop()->getToplevel()) ); Gtk::ProgressBar *prg = new Gtk::ProgressBar (); prg->set_text(progress_text); -- cgit v1.2.3 From b13fd6a2781560aab2f796e8944448f43c7f8570 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 30 Nov 2017 20:55:57 +0100 Subject: Packaging/MSYS2: include tcl/tk accessory files They are required for tkinter Fixed bugs: - https://bugs.launchpad.net/inkscape/+bug/1735451 - https://bugs.launchpad.net/inkscape/+bug/1695946 --- CMakeScripts/InstallMSYS2.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index a192f459f..891202fae 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -205,6 +205,13 @@ if(WIN32) ${MINGW_LIB}/enchant/libenchant_aspell.dll DESTINATION lib/enchant) + # tcl/tk related files (required for tkinter) + install(DIRECTORY + ${MINGW_PATH}/lib/tcl8 + ${MINGW_PATH}/lib/tcl8.6 + ${MINGW_PATH}/lib/tk8.6 + DESTINATION lib) + # Necessary to run extensions on windows if it is not in the path if (HAVE_MINGW64) install(FILES -- cgit v1.2.3 From 09f2a3f9b285498300b08af5080b62763684033d Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 30 Nov 2017 21:11:10 +0100 Subject: Packaging/MSYS2: remove unneeded libraries --- CMakeScripts/InstallMSYS2.cmake | 9 --------- 1 file changed, 9 deletions(-) diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 891202fae..6f66d5e26 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -39,7 +39,6 @@ if(WIN32) ${MINGW_BIN}/libfreetype-[0-9]*.dll ${MINGW_BIN}/libfribidi-[0-9]*.dll ${MINGW_BIN}/libgc-[0-9]*.dll - ${MINGW_BIN}/libgdbm-[0-9]*.dll ${MINGW_BIN}/libgdk-3-[0-9]*.dll ${MINGW_BIN}/libgdk_pixbuf-2.0-[0-9]*.dll ${MINGW_BIN}/libgdkmm-3.0-[0-9]*.dll @@ -50,8 +49,6 @@ if(WIN32) ${MINGW_BIN}/libglib-2.0-[0-9]*.dll ${MINGW_BIN}/libglibmm-2.4-[0-9]*.dll ${MINGW_BIN}/libgmodule-2.0-[0-9]*.dll - ${MINGW_BIN}/libgmp-[0-9]*.dll - ${MINGW_BIN}/libgnutls-[0-9]*.dll ${MINGW_BIN}/libgobject-2.0-[0-9]*.dll ${MINGW_BIN}/libgomp-[0-9]*.dll ${MINGW_BIN}/libgraphite[0-9]*.dll @@ -61,7 +58,6 @@ if(WIN32) ${MINGW_BIN}/libgtkmm-3.0-[0-9]*.dll ${MINGW_BIN}/libgtkspell3-3-[0-9]*.dll ${MINGW_BIN}/libharfbuzz-[0-9]*.dll - ${MINGW_BIN}/libhogweed-[0-9]*.dll ${MINGW_BIN}/libiconv-[0-9]*.dll ${MINGW_BIN}/libicudt[0-9]*.dll ${MINGW_BIN}/libicuin[0-9]*.dll @@ -71,14 +67,11 @@ if(WIN32) ${MINGW_BIN}/libjpeg-[0-9]*.dll ${MINGW_BIN}/liblcms2-[0-9]*.dll ${MINGW_BIN}/liblqr-1-[0-9]*.dll - ${MINGW_BIN}/libltdl-[0-9]*.dll ${MINGW_BIN}/liblzma-[0-9]*.dll - ${MINGW_BIN}/libnettle-[0-9]*.dll ${MINGW_BIN}/libnghttp2-[0-9]*.dll ${MINGW_BIN}/libnspr[0-9]*.dll ${MINGW_BIN}/libopenblas.dll ${MINGW_BIN}/libopenjp2-[0-9]*.dll - ${MINGW_BIN}/libp11-kit-[0-9]*.dll ${MINGW_BIN}/libpango-1.0-[0-9]*.dll ${MINGW_BIN}/libpangocairo-1.0-[0-9]*.dll ${MINGW_BIN}/libpangoft2-1.0-[0-9]*.dll @@ -99,13 +92,11 @@ if(WIN32) ${MINGW_BIN}/librevenge-0.[0-9]*.dll ${MINGW_BIN}/librevenge-stream-0.[0-9]*.dll ${MINGW_BIN}/librsvg-2-[0-9]*.dll - ${MINGW_BIN}/librtmp-[0-9]*.dll ${MINGW_BIN}/libsigc-2.0-[0-9]*.dll ${MINGW_BIN}/libsoup-2.4-[0-9]*.dll ${MINGW_BIN}/libsqlite3-[0-9]*.dll ${MINGW_BIN}/libssh2-[0-9]*.dll ${MINGW_BIN}/libstdc++-[0-9]*.dll - ${MINGW_BIN}/libtasn1-[0-9]*.dll ${MINGW_BIN}/libtermcap-[0-9]*.dll ${MINGW_BIN}/libtiff-[0-9]*.dll ${MINGW_BIN}/libunistring-[0-9]*.dll -- cgit v1.2.3 From f0be34d40fdb5840cb2ad4539db4f6dd3978cb3f Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 30 Nov 2017 22:04:34 +0100 Subject: Extensions: Don't crash on invalid effect extension output --- src/extension/implementation/script.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp index eb98711bc..23c97c3b0 100644 --- a/src/extension/implementation/script.cpp +++ b/src/extension/implementation/script.cpp @@ -732,9 +732,14 @@ void Script::effect(Inkscape::Extension::Effect *module, SPDocument * mydoc = NULL; if (data_read > 10) { - mydoc = Inkscape::Extension::open( - Inkscape::Extension::db.get(SP_MODULE_KEY_INPUT_SVG), - tempfilename_out.c_str()); + try { + mydoc = Inkscape::Extension::open( + Inkscape::Extension::db.get(SP_MODULE_KEY_INPUT_SVG), + tempfilename_out.c_str()); + } catch (const Inkscape::Extension::Input::open_failed &e) { + /// \todo Popup dialog here + g_warning("Extension returned output that could not be parsed: %s", e.what()); + } } // data_read pump_events(); -- cgit v1.2.3 From 4648a396a0325563e55fa3c99eaba7a4ee965064 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 30 Nov 2017 22:31:40 +0100 Subject: Add a warning dialog for previous commit --- src/extension/implementation/script.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp index 23c97c3b0..0f0a79bfb 100644 --- a/src/extension/implementation/script.cpp +++ b/src/extension/implementation/script.cpp @@ -737,8 +737,12 @@ void Script::effect(Inkscape::Extension::Effect *module, Inkscape::Extension::db.get(SP_MODULE_KEY_INPUT_SVG), tempfilename_out.c_str()); } catch (const Inkscape::Extension::Input::open_failed &e) { - /// \todo Popup dialog here g_warning("Extension returned output that could not be parsed: %s", e.what()); + Gtk::MessageDialog warning( + _("The output from the extension could not be parsed."), + false, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK, true); + warning.set_transient_for( *(INKSCAPE.active_desktop()->getToplevel()) ); + warning.run(); } } // data_read -- cgit v1.2.3