Fix object finalization.
This commit is contained in:
		@ -193,12 +193,6 @@ eek_key_iface_init (EekKeyIface *iface)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
eek_clutter_key_dispose (GObject *object)
 | 
					eek_clutter_key_dispose (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(object);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (priv->simple) {
 | 
					 | 
				
			||||||
        g_object_unref (priv->simple);
 | 
					 | 
				
			||||||
        priv->simple = NULL;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    clutter_group_remove_all (CLUTTER_GROUP(object));
 | 
					    clutter_group_remove_all (CLUTTER_GROUP(object));
 | 
				
			||||||
    G_OBJECT_CLASS (eek_clutter_key_parent_class)->dispose (object);
 | 
					    G_OBJECT_CLASS (eek_clutter_key_parent_class)->dispose (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -206,6 +200,9 @@ eek_clutter_key_dispose (GObject *object)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
eek_clutter_key_finalize (GObject *object)
 | 
					eek_clutter_key_finalize (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    EekClutterKeyPrivate *priv = EEK_CLUTTER_KEY_GET_PRIVATE(object);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_object_unref (priv->simple);
 | 
				
			||||||
    G_OBJECT_CLASS (eek_clutter_key_parent_class)->finalize (object);
 | 
					    G_OBJECT_CLASS (eek_clutter_key_parent_class)->finalize (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -185,12 +185,6 @@ eek_keyboard_iface_init (EekKeyboardIface *iface)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
eek_clutter_keyboard_dispose (GObject *object)
 | 
					eek_clutter_keyboard_dispose (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(object);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (priv->simple) {
 | 
					 | 
				
			||||||
        g_object_unref (priv->simple);
 | 
					 | 
				
			||||||
        priv->simple = NULL;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    clutter_group_remove_all (CLUTTER_GROUP(object));
 | 
					    clutter_group_remove_all (CLUTTER_GROUP(object));
 | 
				
			||||||
    G_OBJECT_CLASS (eek_clutter_keyboard_parent_class)->dispose (object);
 | 
					    G_OBJECT_CLASS (eek_clutter_keyboard_parent_class)->dispose (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -198,6 +192,9 @@ eek_clutter_keyboard_dispose (GObject *object)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
eek_clutter_keyboard_finalize (GObject *object)
 | 
					eek_clutter_keyboard_finalize (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    EekClutterKeyboardPrivate *priv = EEK_CLUTTER_KEYBOARD_GET_PRIVATE(object);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_object_unref (priv->simple);
 | 
				
			||||||
    G_OBJECT_CLASS (eek_clutter_keyboard_parent_class)->finalize (object);
 | 
					    G_OBJECT_CLASS (eek_clutter_keyboard_parent_class)->finalize (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -253,19 +253,16 @@ eek_section_iface_init (EekSectionIface *iface)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
eek_clutter_section_dispose (GObject *object)
 | 
					eek_clutter_section_dispose (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(object);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    clutter_group_remove_all (CLUTTER_GROUP(object));
 | 
					    clutter_group_remove_all (CLUTTER_GROUP(object));
 | 
				
			||||||
    if (priv->simple) {
 | 
					 | 
				
			||||||
        g_object_unref (priv->simple);
 | 
					 | 
				
			||||||
        priv->simple = NULL;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    G_OBJECT_CLASS (eek_clutter_section_parent_class)->dispose (object);
 | 
					    G_OBJECT_CLASS (eek_clutter_section_parent_class)->dispose (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
eek_clutter_section_finalize (GObject *object)
 | 
					eek_clutter_section_finalize (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    EekClutterSectionPrivate *priv = EEK_CLUTTER_SECTION_GET_PRIVATE(object);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_object_unref (priv->simple);
 | 
				
			||||||
    G_OBJECT_CLASS (eek_clutter_section_parent_class)->finalize (object);
 | 
					    G_OBJECT_CLASS (eek_clutter_section_parent_class)->finalize (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -196,18 +196,15 @@ eek_key_iface_init (EekKeyIface *iface)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
eek_gtk_key_dispose (GObject *object)
 | 
					eek_gtk_key_dispose (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    EekGtkKeyPrivate *priv = EEK_GTK_KEY_GET_PRIVATE(object);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (priv->simple) {
 | 
					 | 
				
			||||||
        g_object_unref (priv->simple);
 | 
					 | 
				
			||||||
        priv->simple = NULL;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    G_OBJECT_CLASS (eek_gtk_key_parent_class)->dispose (object);
 | 
					    G_OBJECT_CLASS (eek_gtk_key_parent_class)->dispose (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
eek_gtk_key_finalize (GObject *object)
 | 
					eek_gtk_key_finalize (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    EekGtkKeyPrivate *priv = EEK_GTK_KEY_GET_PRIVATE(object);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_object_unref (priv->simple);
 | 
				
			||||||
    G_OBJECT_CLASS (eek_gtk_key_parent_class)->finalize (object);
 | 
					    G_OBJECT_CLASS (eek_gtk_key_parent_class)->finalize (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -201,18 +201,15 @@ eek_keyboard_iface_init (EekKeyboardIface *iface)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
eek_gtk_keyboard_dispose (GObject *object)
 | 
					eek_gtk_keyboard_dispose (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(object);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (priv->simple) {
 | 
					 | 
				
			||||||
        g_object_unref (priv->simple);
 | 
					 | 
				
			||||||
        priv->simple = NULL;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    G_OBJECT_CLASS (eek_gtk_keyboard_parent_class)->dispose (object);
 | 
					    G_OBJECT_CLASS (eek_gtk_keyboard_parent_class)->dispose (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
eek_gtk_keyboard_finalize (GObject *object)
 | 
					eek_gtk_keyboard_finalize (GObject *object)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    EekGtkKeyboardPrivate *priv = EEK_GTK_KEYBOARD_GET_PRIVATE(object);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_object_unref (priv->simple);
 | 
				
			||||||
    G_OBJECT_CLASS (eek_gtk_keyboard_parent_class)->finalize (object);
 | 
					    G_OBJECT_CLASS (eek_gtk_keyboard_parent_class)->finalize (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -253,14 +253,7 @@ eek_gtk_section_dispose (GObject *object)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    num_rows = eek_section_get_rows (EEK_SECTION(object));
 | 
					    num_rows = eek_section_get_rows (EEK_SECTION(object));
 | 
				
			||||||
    for (i = 0; i < num_rows; i++)
 | 
					    for (i = 0; i < num_rows; i++)
 | 
				
			||||||
        if (priv->rows[i]) {
 | 
					        gtk_container_remove (GTK_CONTAINER(object), priv->rows[i]);
 | 
				
			||||||
            g_object_unref (priv->rows[i]);
 | 
					 | 
				
			||||||
            priv->rows[i] = NULL;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    if (priv->simple) {
 | 
					 | 
				
			||||||
        g_object_unref (priv->simple);
 | 
					 | 
				
			||||||
        priv->simple = NULL;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    G_OBJECT_CLASS (eek_gtk_section_parent_class)->dispose (object);
 | 
					    G_OBJECT_CLASS (eek_gtk_section_parent_class)->dispose (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -269,6 +262,7 @@ eek_gtk_section_finalize (GObject *object)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    EekGtkSectionPrivate *priv = EEK_GTK_SECTION_GET_PRIVATE(object);
 | 
					    EekGtkSectionPrivate *priv = EEK_GTK_SECTION_GET_PRIVATE(object);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    g_object_unref (priv->simple);
 | 
				
			||||||
    g_slice_free (GtkWidget *, priv->rows);
 | 
					    g_slice_free (GtkWidget *, priv->rows);
 | 
				
			||||||
    G_OBJECT_CLASS (eek_gtk_section_parent_class)->finalize (object);
 | 
					    G_OBJECT_CLASS (eek_gtk_section_parent_class)->finalize (object);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user