Free state after freeing its contents
We are freeing the big state inside the CoglPipeline before freeing the snippets list, even though the snippets are stored in the big state. Fixes: #14
This commit is contained in:
parent
92d2741a40
commit
9ad01b067b
|
@ -492,9 +492,6 @@ _cogl_pipeline_free (CoglPipeline *pipeline)
|
|||
_cogl_bitmask_destroy (&uniforms_state->changed_mask);
|
||||
}
|
||||
|
||||
if (pipeline->differences & COGL_PIPELINE_STATE_NEEDS_BIG_STATE)
|
||||
g_slice_free (CoglPipelineBigState, pipeline->big_state);
|
||||
|
||||
if (pipeline->differences & COGL_PIPELINE_STATE_LAYERS)
|
||||
{
|
||||
g_list_foreach (pipeline->layer_differences,
|
||||
|
@ -508,6 +505,9 @@ _cogl_pipeline_free (CoglPipeline *pipeline)
|
|||
if (pipeline->differences & COGL_PIPELINE_STATE_FRAGMENT_SNIPPETS)
|
||||
_cogl_pipeline_snippet_list_free (&pipeline->big_state->fragment_snippets);
|
||||
|
||||
if (pipeline->differences & COGL_PIPELINE_STATE_NEEDS_BIG_STATE)
|
||||
g_slice_free (CoglPipelineBigState, pipeline->big_state);
|
||||
|
||||
g_list_free (pipeline->deprecated_get_layers_list);
|
||||
|
||||
recursively_free_layer_caches (pipeline);
|
||||
|
|
Loading…
Reference in New Issue