mutter/tests/conform
Neil Roberts a3989d035e Fix removing layers when the pipeline is not the owner
If cogl_pipeline_remove_layer is called on a copied pipeline to remove
a parent layer then it will still end up calling
_cogl_pipeline_remove_layer_difference on the layer. This function
was directly trying to remove the layer from the pipeline's list of
layer differences. However in the child pipeline the layer isn't in
the list because it is unchanged from its parent. The function had an
assertion to verify that this situation wasn't hit so in a debug build
it would just bail out.

This patch removes the assertion and changes it to only remove the
layer if it is owned by the pipeline. Otherwise it just sets the
COGL_PIPELINE_STATE_LAYERS difference as normal and decrements the
number of layers. This will cause it to successfully remove the layer
because either it is the last layer in which case it will be ignored
after n_layers is decreased or if it is in the middle of the list then
the subsequent layers will all be shifted down so there will be a
replacement layer difference.

Reviewed-by: Robert Bragg <robert@linux.intel.com>

(cherry picked from commit 88e73dd93fa09a158064a946ab229591a5888b97)
2012-08-06 14:27:45 +01:00
..
config.env.in tests: Improve thoroughness and reporting of make test 2012-02-24 14:42:31 +00:00
Makefile.am Add a conformance test for removing a pipeline layer 2012-08-06 14:27:45 +01:00
run-tests.sh tests: Improve thoroughness and reporting of make test 2012-02-24 14:42:31 +00:00
test-atlas-migration.c Convert the test-atlas-migration test to a standalone Cogl test 2012-08-06 14:27:42 +01:00
test-backface-culling.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-bitmask.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-blend-strings.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-color-mask.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-conform-main.c Fix removing layers when the pipeline is not the owner 2012-08-06 14:27:45 +01:00
test-custom-attributes.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-depth-test.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-euler-quaternion.c Add a basic conformance test for eulers and quaternions 2012-08-06 14:27:43 +01:00
test-fixed.c Adds cogl_framebuffer_draw_[*_]rectangle functions 2012-03-20 12:33:40 +00:00
test-fixtures.c Adds cogl_framebuffer_draw_[*_]rectangle functions 2012-03-20 12:33:40 +00:00
test-gles2-context.c Fix a warning on test-gles2-context 2012-08-06 14:27:43 +01:00
test-just-vertex-shader.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-launcher.sh.in tests: Improve thoroughness and reporting of make test 2012-02-24 14:42:31 +00:00
test-layer-remove.c Add a conformance test for removing a pipeline layer 2012-08-06 14:27:45 +01:00
test-materials.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-multitexture.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-no-gl-header.c Adds libcogl-gles2 frontend GLES2 api 2012-08-06 14:27:42 +01:00
test-npot-texture.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-object.c Adds cogl_framebuffer_draw_[*_]rectangle functions 2012-03-20 12:33:40 +00:00
test-offscreen.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-path.c Replace cogl_path_{stroke,fill} with framebuffer API 2012-08-06 14:27:39 +01:00
test-pipeline-uniforms.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-pipeline-user-matrix.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-pixel-buffer.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-point-size.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-point-sprite.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-premult.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-primitive.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-read-texture-formats.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-readpixels.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-snippets.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-sparse-pipeline.c Adds cogl_framebuffer_draw_[*_]rectangle functions 2012-03-20 12:33:40 +00:00
test-sub-texture.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-texture-3d.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-texture-get-set-data.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-texture-mipmaps.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-texture-pixmap-x11.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-texture-rectangle.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-utils.c Adds gles2-context renderer constraint 2012-08-06 14:27:43 +01:00
test-utils.h Adds gles2-context renderer constraint 2012-08-06 14:27:43 +01:00
test-version.c Add a cogl-version header 2012-08-06 14:27:40 +01:00
test-vertex-buffer-contiguous.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-vertex-buffer-interleved.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-vertex-buffer-mutability.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-viewport.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-wrap-modes.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00
test-write-texture-formats.c Switch use of primitive glib types to c99 equivalents 2012-08-06 14:27:39 +01:00