summaryrefslogtreecommitdiff
path: root/adw/src/toastoverlay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'adw/src/toastoverlay.cpp')
-rw-r--r--adw/src/toastoverlay.cpp14
1 files changed, 8 insertions, 6 deletions
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 <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