diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2019-01-16 12:52:26 +0000 |
|---|---|---|
| committer | Tavmjong Bah <tavmjong@free.fr> | 2019-01-16 12:52:26 +0000 |
| commit | fb992706b0cd8a209534ebfdfc595dc3d1bd87ad (patch) | |
| tree | d41d5dcad2eea018138876e3d07396138df50d3c /src/inkscape-window.cpp | |
| parent | Merge branch 'master' of gitlab.com:inkscape/inkscape (diff) | |
| download | inkscape-fb992706b0cd8a209534ebfdfc595dc3d1bd87ad.tar.gz inkscape-fb992706b0cd8a209534ebfdfc595dc3d1bd87ad.zip | |
Make InkscapeWindow responsible for adding window to app.
Prevents premature program termination if original window deleted.
Diffstat (limited to 'src/inkscape-window.cpp')
| -rw-r--r-- | src/inkscape-window.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/inkscape-window.cpp b/src/inkscape-window.cpp index 7227993cf..e6f488215 100644 --- a/src/inkscape-window.cpp +++ b/src/inkscape-window.cpp @@ -18,12 +18,26 @@ #include "inkscape-window.h" #include "inkscape.h" // SP_ACTIVE_DESKTOP #include "shortcuts.h" +#include "inkscape-application.h" #include "widgets/desktop-widget.h" InkscapeWindow::InkscapeWindow(SPDocument* document) : _document(document) { + if (!_document) { + std::cerr << "InkscapeWindow::InkscapeWindow: null document!" << std::endl; + return; + } + + Glib::RefPtr<Gio::Application> gio_app = Gio::Application::get_default(); + Glib::RefPtr<Gtk::Application> app = Glib::RefPtr<Gtk::Application>::cast_dynamic(gio_app); + if (app) { + set_application(app); // Same as Gtk::Application::add_window() + } else { + std::cerr << "InkscapeWindow::InkscapeWindow:: Didn't get app!" << std::endl; + } + set_resizable(true); // Callbacks |
