diff options
| -rw-r--r-- | src/inkscape-window.cpp | 14 | ||||
| -rw-r--r-- | src/inkscape-window.h | 6 |
2 files changed, 7 insertions, 13 deletions
diff --git a/src/inkscape-window.cpp b/src/inkscape-window.cpp index 600b602d1..8c0525a87 100644 --- a/src/inkscape-window.cpp +++ b/src/inkscape-window.cpp @@ -35,23 +35,15 @@ InkscapeWindow::InkscapeWindow(SPDocument* document) : _document(document) + , _app(nullptr) { if (!_document) { std::cerr << "InkscapeWindow::InkscapeWindow: null document!" << std::endl; return; } - ConcreteInkscapeApplication<Gtk::Application>& my_app = - ConcreteInkscapeApplication<Gtk::Application>::get_instance(); - - Glib::RefPtr<Gio::Application> gio_app = Gio::Application::get_default(); - Glib::RefPtr<Gtk::Application> gtk_app = Glib::RefPtr<Gtk::Application>::cast_dynamic(gio_app); - _app = Glib::RefPtr<InkscapeApplication>::cast_dynamic(gtk_app); - if (gtk_app) { - set_application(gtk_app); // Same as Gtk::Application::add_window() - } else { - std::cerr << "InkscapeWindow::InkscapeWindow:: Didn't get app!" << std::endl; - } + _app = &(ConcreteInkscapeApplication<Gtk::Application>::get_instance()); + _app->add_window(*this); set_resizable(true); diff --git a/src/inkscape-window.h b/src/inkscape-window.h index 9939fca37..1473c6a88 100644 --- a/src/inkscape-window.h +++ b/src/inkscape-window.h @@ -19,7 +19,8 @@ #include <gtkmm.h> -class InkscapeApplication; +#include "inkscape-application.h" + class SPDocument; class SPDesktop; class SPDesktopWidget; @@ -44,7 +45,8 @@ public: void change_document(SPDocument* document); private: - Glib::RefPtr<InkscapeApplication> _app; + ConcreteInkscapeApplication<Gtk::Application>* _app; + SPDocument* _document; SPDesktop* _desktop; SPDesktopWidget* _desktop_widget; |
