diff --git a/cogl/cogl/cogl-pipeline.c b/cogl/cogl/cogl-pipeline.c index da2d2ce7e..6a77cda7f 100644 --- a/cogl/cogl/cogl-pipeline.c +++ b/cogl/cogl/cogl-pipeline.c @@ -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);