libgimpwidgets: set GimpColorSelector's config to NULL in dispose()

so the subclasses have a chance to release their stuff.
This commit is contained in:
Michael Natterer
2011-12-11 02:43:14 +01:00
parent 12a8eec444
commit 94c322ff70

View File

@ -55,6 +55,9 @@ enum
}; };
static void gimp_color_selector_dispose (GObject *object);
G_DEFINE_TYPE (GimpColorSelector, gimp_color_selector, GTK_TYPE_BOX) G_DEFINE_TYPE (GimpColorSelector, gimp_color_selector, GTK_TYPE_BOX)
#define parent_class gimp_color_selector_parent_class #define parent_class gimp_color_selector_parent_class
@ -65,6 +68,10 @@ static guint selector_signals[LAST_SIGNAL] = { 0 };
static void static void
gimp_color_selector_class_init (GimpColorSelectorClass *klass) gimp_color_selector_class_init (GimpColorSelectorClass *klass)
{ {
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->dispose = gimp_color_selector_dispose;
selector_signals[COLOR_CHANGED] = selector_signals[COLOR_CHANGED] =
g_signal_new ("color-changed", g_signal_new ("color-changed",
G_TYPE_FROM_CLASS (klass), G_TYPE_FROM_CLASS (klass),
@ -116,6 +123,14 @@ gimp_color_selector_init (GimpColorSelector *selector)
selector->channel = GIMP_COLOR_SELECTOR_HUE; selector->channel = GIMP_COLOR_SELECTOR_HUE;
} }
static void
gimp_color_selector_dispose (GObject *object)
{
gimp_color_selector_set_config (GIMP_COLOR_SELECTOR (object), NULL);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
GtkWidget * GtkWidget *
gimp_color_selector_new (GType selector_type, gimp_color_selector_new (GType selector_type,
const GimpRGB *rgb, const GimpRGB *rgb,