mirror of
https://github.com/brl/mutter.git
synced 2025-02-16 21:34:09 +00:00
texture: Move the material unref() in ::dispose
This commit is contained in:
parent
128e981f6c
commit
ba9aa3b332
@ -217,10 +217,12 @@ texture_free_gl_resources (ClutterTexture *texture)
|
|||||||
CLUTTER_MARK();
|
CLUTTER_MARK();
|
||||||
|
|
||||||
if (priv->material != COGL_INVALID_HANDLE)
|
if (priv->material != COGL_INVALID_HANDLE)
|
||||||
/* We want to keep the layer so that the filter settings will
|
{
|
||||||
remain but we want to free its resources so we clear the
|
/* We want to keep the layer so that the filter settings will
|
||||||
texture handle */
|
remain but we want to free its resources so we clear the
|
||||||
cogl_material_set_layer (priv->material, 0, COGL_INVALID_HANDLE);
|
texture handle */
|
||||||
|
cogl_material_set_layer (priv->material, 0, COGL_INVALID_HANDLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -734,21 +736,13 @@ static void
|
|||||||
clutter_texture_dispose (GObject *object)
|
clutter_texture_dispose (GObject *object)
|
||||||
{
|
{
|
||||||
ClutterTexture *texture = CLUTTER_TEXTURE (object);
|
ClutterTexture *texture = CLUTTER_TEXTURE (object);
|
||||||
|
ClutterTexturePrivate *priv = texture->priv;
|
||||||
|
|
||||||
texture_free_gl_resources (texture);
|
texture_free_gl_resources (texture);
|
||||||
texture_fbo_free_resources (texture);
|
texture_fbo_free_resources (texture);
|
||||||
|
|
||||||
clutter_texture_async_load_cancel (texture);
|
clutter_texture_async_load_cancel (texture);
|
||||||
|
|
||||||
G_OBJECT_CLASS (clutter_texture_parent_class)->dispose (object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
clutter_texture_finalize (GObject *object)
|
|
||||||
{
|
|
||||||
ClutterTexture *texture = CLUTTER_TEXTURE (object);
|
|
||||||
ClutterTexturePrivate *priv = texture->priv;
|
|
||||||
|
|
||||||
if (priv->material != COGL_INVALID_HANDLE)
|
if (priv->material != COGL_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
cogl_handle_unref (priv->material);
|
cogl_handle_unref (priv->material);
|
||||||
@ -761,6 +755,14 @@ clutter_texture_finalize (GObject *object)
|
|||||||
priv->pick_material = COGL_INVALID_HANDLE;
|
priv->pick_material = COGL_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (clutter_texture_parent_class)->dispose (object);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
clutter_texture_finalize (GObject *object)
|
||||||
|
{
|
||||||
|
ClutterTexturePrivate *priv = CLUTTER_TEXTURE (object)->priv;
|
||||||
|
|
||||||
g_free (priv->filename);
|
g_free (priv->filename);
|
||||||
|
|
||||||
G_OBJECT_CLASS (clutter_texture_parent_class)->finalize (object);
|
G_OBJECT_CLASS (clutter_texture_parent_class)->finalize (object);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user