app: GimpToolPalette: disconnect signals in dispose() not finalize()

This commit is contained in:
Michael Natterer
2017-05-09 23:14:24 +02:00
parent 70eff55215
commit 5355fe15b4

View File

@ -64,7 +64,7 @@ struct _GimpToolPalettePrivate
GimpToolPalettePrivate) GimpToolPalettePrivate)
static void gimp_tool_palette_finalize (GObject *object); static void gimp_tool_palette_dispose (GObject *object);
static void gimp_tool_palette_size_allocate (GtkWidget *widget, static void gimp_tool_palette_size_allocate (GtkWidget *widget,
GtkAllocation *allocation); GtkAllocation *allocation);
@ -89,6 +89,7 @@ static gboolean gimp_tool_palette_tool_button_press (GtkWidget *widget,
static void gimp_tool_palette_config_size_changed (GimpGuiConfig *config, static void gimp_tool_palette_config_size_changed (GimpGuiConfig *config,
GimpToolPalette *palette); GimpToolPalette *palette);
G_DEFINE_TYPE (GimpToolPalette, gimp_tool_palette, GTK_TYPE_TOOL_PALETTE) G_DEFINE_TYPE (GimpToolPalette, gimp_tool_palette, GTK_TYPE_TOOL_PALETTE)
#define parent_class gimp_tool_palette_parent_class #define parent_class gimp_tool_palette_parent_class
@ -100,7 +101,7 @@ gimp_tool_palette_class_init (GimpToolPaletteClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->finalize = gimp_tool_palette_finalize; object_class->dispose = gimp_tool_palette_dispose;
widget_class->size_allocate = gimp_tool_palette_size_allocate; widget_class->size_allocate = gimp_tool_palette_size_allocate;
widget_class->style_set = gimp_tool_palette_style_set; widget_class->style_set = gimp_tool_palette_style_set;
@ -130,10 +131,9 @@ gimp_tool_palette_init (GimpToolPalette *palette)
} }
static void static void
gimp_tool_palette_finalize (GObject *object) gimp_tool_palette_dispose (GObject *object)
{ {
GimpToolPalette *palette = GIMP_TOOL_PALETTE (object); GimpToolPalettePrivate *private = GET_PRIVATE (object);
GimpToolPalettePrivate *private = GET_PRIVATE (palette);
if (private->toolbox) if (private->toolbox)
{ {
@ -142,13 +142,12 @@ gimp_tool_palette_finalize (GObject *object)
if (context) if (context)
g_signal_handlers_disconnect_by_func (context->gimp->config, g_signal_handlers_disconnect_by_func (context->gimp->config,
G_CALLBACK (gimp_tool_palette_config_size_changed), G_CALLBACK (gimp_tool_palette_config_size_changed),
palette); object);
} }
G_OBJECT_CLASS (parent_class)->finalize (object); G_OBJECT_CLASS (parent_class)->dispose (object);
} }
static void static void
gimp_tool_palette_size_allocate (GtkWidget *widget, gimp_tool_palette_size_allocate (GtkWidget *widget,
GtkAllocation *allocation) GtkAllocation *allocation)