diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-03-28 07:49:04 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-03-28 07:49:04 +0100 |
| commit | b7da16d2dda3d90dbc47c4093efe37d4d5c92f27 (patch) | |
| tree | 31612a8fe027f3434d2b1220fa45657ebc6f6410 /src/toastoverlay.cpp | |
| parent | 6bcf6c01484c580b7b5846f9b0593e2b499d5aee (diff) | |
| download | libadwaitamm-b7da16d2dda3d90dbc47c4093efe37d4d5c92f27.tar.xz libadwaitamm-b7da16d2dda3d90dbc47c4093efe37d4d5c92f27.zip | |
adw: clean up wrap functions
Diffstat (limited to 'src/toastoverlay.cpp')
| -rw-r--r-- | src/toastoverlay.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/toastoverlay.cpp b/src/toastoverlay.cpp index d785e60..c50c62d 100644 --- a/src/toastoverlay.cpp +++ b/src/toastoverlay.cpp @@ -10,7 +10,9 @@ #include <glibmm/ustring.h> #include <glibmm/utility.h> #include <glibmm/variant.h> +#include <glibmm/wrap.h> +#include <gtkmm/object.h> #include <gtkmm/private/widget_p.h> #include <gtkmm/widget.h> @@ -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<struct Toast> 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<turns::adw::ToastOverlay> + auto wrap(AdwToastOverlay * object, bool copy) -> turns::adw::ToastOverlay * { - return Glib::make_refptr_for_instance<turns::adw::ToastOverlay>( - dynamic_cast<turns::adw::ToastOverlay *>(Glib::wrap_auto(G_OBJECT(object), copy))); + return dynamic_cast<turns::adw::ToastOverlay *>(Glib::wrap_auto(G_OBJECT(object), copy)); } } // namespace Glib
\ No newline at end of file |
