diff --git a/core/src/display_object/graphic.rs b/core/src/display_object/graphic.rs index 58fc3aba9..33d2f7ab0 100644 --- a/core/src/display_object/graphic.rs +++ b/core/src/display_object/graphic.rs @@ -173,6 +173,7 @@ impl<'gc> TDisplayObject<'gc> for Graphic<'gc> { } else { tracing::warn!("PlaceObject: expected Graphic at character ID {}", id); } + self.invalidate_cached_bitmap(context.gc_context); } fn run_frame_avm1(&self, _context: &mut UpdateContext) { diff --git a/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/expected.png b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/expected.png new file mode 100644 index 000000000..fa8f3e23c Binary files /dev/null and b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/expected.png differ diff --git a/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/output.txt b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/output.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.fla b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.fla new file mode 100644 index 000000000..17d9b69a2 Binary files /dev/null and b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.fla differ diff --git a/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.swf b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.swf new file mode 100644 index 000000000..6e78ba3cb Binary files /dev/null and b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.swf differ diff --git a/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.toml b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.toml new file mode 100644 index 000000000..4a2532106 --- /dev/null +++ b/tests/tests/swfs/visual/cache_as_bitmap/shape_changed/test.toml @@ -0,0 +1,7 @@ +num_frames = 3 + +[image_comparison] +tolerance = 0 + +[player_options] +with_renderer = { optional = false, sample_count = 1 }