[epiphany/mcatanzaro/pages-view] pages-view: simplify weak ref usage
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany/mcatanzaro/pages-view] pages-view: simplify weak ref usage
- Date: Tue, 4 May 2021 20:29:21 +0000 (UTC)
commit 1dc8b79900b5237112b3ad6fd6f1800d30dba9c8
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Tue May 4 15:15:06 2021 -0500
pages-view: simplify weak ref usage
This code does not need to be threadsafe, so we can simplify it by using
g_object_add_weak_pointer() and g_clear_weak_pointer().
src/ephy-pages-view.c | 22 +++-------------------
1 file changed, 3 insertions(+), 19 deletions(-)
---
diff --git a/src/ephy-pages-view.c b/src/ephy-pages-view.c
index c4f565e11..6b0f57184 100644
--- a/src/ephy-pages-view.c
+++ b/src/ephy-pages-view.c
@@ -38,21 +38,6 @@ struct _EphyPagesView {
G_DEFINE_TYPE (EphyPagesView, ephy_pages_view, GTK_TYPE_BOX)
-static void
-drop_tab_view (EphyPagesView *self)
-{
- self->tab_view = NULL;
-}
-
-static void
-release_tab_view (EphyPagesView *self)
-{
- if (self->tab_view) {
- g_object_weak_unref (G_OBJECT (self->tab_view), (GWeakNotify)drop_tab_view, self);
- drop_tab_view (self);
- }
-}
-
static void
row_activated_cb (EphyPagesView *self,
EphyPageRow *row)
@@ -110,7 +95,7 @@ ephy_pages_view_dispose (GObject *object)
{
EphyPagesView *self = EPHY_PAGES_VIEW (object);
- release_tab_view (self);
+ g_clear_weak_pointer (&self->tab_view);
G_OBJECT_CLASS (ephy_pages_view_parent_class)->dispose (object);
}
@@ -154,13 +139,12 @@ ephy_pages_view_set_tab_view (EphyPagesView *self,
{
g_assert (EPHY_IS_PAGES_VIEW (self));
- if (self->tab_view)
- release_tab_view (self);
+ g_clear_weak_pointer (&self->tab_view);
if (!tab_view)
return;
- g_object_weak_ref (G_OBJECT (tab_view), (GWeakNotify)drop_tab_view, self);
+ g_object_add_weak_pointer (G_OBJECT (tab_view), (gpointer *)&self->tab_view);
self->tab_view = tab_view;
self->model = hdy_tab_view_get_pages (ephy_tab_view_get_tab_view (tab_view));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]