From 9d5512624637fad84c1b3edb97270c4f10c5056a Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 3 Apr 2025 22:40:01 +0200 Subject: adw: mimic gtkmm initialization --- adw/src/application.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'adw/src/application.cpp') diff --git a/adw/src/application.cpp b/adw/src/application.cpp index b8f5af9..5da1a5c 100644 --- a/adw/src/application.cpp +++ b/adw/src/application.cpp @@ -59,16 +59,20 @@ namespace turns::adw auto Application::create(Glib::ustring const & id, Gio::Application::Flags flags) -> Glib::RefPtr { - auto static did_init = false; + return Glib::RefPtr(new Application(id, flags)); + } + Glib::Class const & Application::custom_class_init() + { + + auto static did_init{false}; if (!did_init) { Gtk::init_gtkmm_internals(); - turns::adw::wrap_init(); - did_init = true; + adw::wrap_init(); } - return Glib::RefPtr(new Application(id, flags)); + return _class.init(); } Application::Application(Glib::ConstructParams const & params) @@ -83,8 +87,9 @@ namespace turns::adw Application::Application(Glib::ustring const & id, Gio::Application::Flags flags) : Glib::ObjectBase{nullptr} - , Gtk::Application{Glib::ConstructParams{_class.init(), "application_id", Glib::c_str_or_nullptr(id), "flags", static_cast(flags), nullptr}} + , Gtk::Application{Glib::ConstructParams{custom_class_init(), "application_id", Glib::c_str_or_nullptr(id), "flags", static_cast(flags), nullptr}} { + adw_init(); } } // namespace turns::adw -- cgit v1.2.3