[gnome-builder] color-picker: fix unsafe gsettings unbinding
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] color-picker: fix unsafe gsettings unbinding
- Date: Wed, 19 Jul 2017 11:19:59 +0000 (UTC)
commit 634391a1a3b4dbd7347b662551f907e31780d979
Author: Christian Hergert <chergert redhat com>
Date: Fri Jul 14 19:48:45 2017 -0700
color-picker: fix unsafe gsettings unbinding
Settings are automatically unbound when the reference count
drops to zero. It is unsafe to call unbind on those from the
finalizer.
plugins/color-picker/gb-color-picker-prefs.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/plugins/color-picker/gb-color-picker-prefs.c b/plugins/color-picker/gb-color-picker-prefs.c
index 3465280..c8b597d 100644
--- a/plugins/color-picker/gb-color-picker-prefs.c
+++ b/plugins/color-picker/gb-color-picker-prefs.c
@@ -542,13 +542,13 @@ gb_color_picker_prefs_set_panel (GbColorPickerPrefs *self,
gb_color_picker_prefs_unbind_settings (self);
gstyle_color_panel_set_prefs_pages (self->panel, NULL, NULL, NULL, NULL);
gtk_list_box_bind_model (GTK_LIST_BOX (self->palettes_listbox), NULL, NULL, NULL, NULL);
- self->panel = NULL;
+ ide_clear_weak_pointer (&self->panel);
self->palette_widget = NULL;
}
- self->panel = panel;
if (panel != NULL && GSTYLE_IS_COLOR_PANEL (panel))
{
+ ide_set_weak_pointer (&self->panel, panel);
self->palette_widget = gstyle_color_panel_get_palette_widget (self->panel);
self->palettes_store = gstyle_palette_widget_get_store (self->palette_widget);
gtk_list_box_bind_model (GTK_LIST_BOX (self->palettes_listbox),
@@ -631,7 +631,7 @@ gb_color_picker_prefs_finalize (GObject *object)
{
GbColorPickerPrefs *self = (GbColorPickerPrefs *)object;
- gb_color_picker_prefs_set_panel (self, NULL);
+ ide_clear_weak_pointer (&self->panel);
g_clear_object (&self->components_page);
g_clear_object (&self->color_strings_page);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]