From c4c2bb69cd50ec9ed48e9be5101a9906a8891369 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 28 Mar 2025 07:49:04 +0100 Subject: adw: clean up wrap functions --- adw/src/toastoverlay.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'adw/src/toastoverlay.cpp') diff --git a/adw/src/toastoverlay.cpp b/adw/src/toastoverlay.cpp index d785e60..c50c62d 100644 --- a/adw/src/toastoverlay.cpp +++ b/adw/src/toastoverlay.cpp @@ -10,7 +10,9 @@ #include #include #include +#include +#include #include #include @@ -30,7 +32,7 @@ namespace turns::adw if (!gtype_) { class_init_func_ = &class_init_function; - gtype_ = adw_toast_overlay_get_type(); + register_derived_type(adw_toast_overlay_get_type()); } return *this; } @@ -56,9 +58,10 @@ namespace turns::adw return adw_toast_overlay_get_type(); } - auto ToastOverlay::add(Toast && toast) -> void + auto ToastOverlay::add(Glib::RefPtr const & toast) -> void { - adw_toast_overlay_add_toast(gobj(), toast.gobj_copy()); + // Take a copy since the overlay will take ownership of the toast. + adw_toast_overlay_add_toast(Glib::unwrap(this), Glib::unwrap_copy(toast)); } ToastOverlay::ToastOverlay(Glib::ConstructParams const & params) @@ -81,9 +84,8 @@ namespace turns::adw namespace Glib { - auto wrap(AdwToastOverlay * object, bool copy) -> Glib::RefPtr + auto wrap(AdwToastOverlay * object, bool copy) -> turns::adw::ToastOverlay * { - return Glib::make_refptr_for_instance( - dynamic_cast(Glib::wrap_auto(G_OBJECT(object), copy))); + return dynamic_cast(Glib::wrap_auto(G_OBJECT(object), copy)); } } // namespace Glib \ No newline at end of file -- cgit v1.2.3