diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-04-03 22:40:01 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-04-03 22:40:01 +0200 |
| commit | 9d5512624637fad84c1b3edb97270c4f10c5056a (patch) | |
| tree | e95f691edae08e774905359953fb075f67aad0e4 /adw/src/application.cpp | |
| parent | 6e194d366e395312c5aa8e905445cd7f4b00ed5b (diff) | |
| download | turns-9d5512624637fad84c1b3edb97270c4f10c5056a.tar.xz turns-9d5512624637fad84c1b3edb97270c4f10c5056a.zip | |
adw: mimic gtkmm initialization
Diffstat (limited to 'adw/src/application.cpp')
| -rw-r--r-- | adw/src/application.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
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<Application> { - auto static did_init = false; + return Glib::RefPtr<Application>(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<Application>(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<GApplicationFlags>(flags), nullptr}} + , Gtk::Application{Glib::ConstructParams{custom_class_init(), "application_id", Glib::c_str_or_nullptr(id), "flags", static_cast<GApplicationFlags>(flags), nullptr}} { + adw_init(); } } // namespace turns::adw |
