From 09d90291bf20f0a92aac210afe764bfad36f9323 Mon Sep 17 00:00:00 2001 From: Mauro Balades Date: Sat, 6 Jul 2024 20:29:08 +0200 Subject: [PATCH] Fixed opening extensions (closes #34) --- src/gfx/wr/webrender/src/picture-rs.patch | 18 ++++++++++++++++++ src/gfx/wr/webrender/src/util-rs.patch | 15 --------------- 2 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 src/gfx/wr/webrender/src/picture-rs.patch delete mode 100644 src/gfx/wr/webrender/src/util-rs.patch diff --git a/src/gfx/wr/webrender/src/picture-rs.patch b/src/gfx/wr/webrender/src/picture-rs.patch new file mode 100644 index 000000000..fc5e22ff7 --- /dev/null +++ b/src/gfx/wr/webrender/src/picture-rs.patch @@ -0,0 +1,18 @@ +diff --git a/gfx/wr/webrender/src/picture.rs b/gfx/wr/webrender/src/picture.rs +index f22bcadd0624d9a22f5c3fa318d7795e102b890f..68d1eb55abde2a9b5779b1d07c5f111f46f177a8 100644 +--- a/gfx/wr/webrender/src/picture.rs ++++ b/gfx/wr/webrender/src/picture.rs +@@ -7449,7 +7449,12 @@ fn get_relative_scale_offset( + CoordinateSpaceMapping::Local => ScaleOffset::identity(), + CoordinateSpaceMapping::ScaleOffset(scale_offset) => scale_offset, + CoordinateSpaceMapping::Transform(m) => { +- ScaleOffset::from_transform(&m).expect("bug: pictures caches don't support complex transforms") ++ // Temporary fix when opening extensions (#34) ++ // TODO: Look more into this ++ ScaleOffset { ++ scale: Vector2D::new(m.m11, m.m22), ++ offset: Vector2D::new(m.m41, m.m42), ++ } + } + }; + diff --git a/src/gfx/wr/webrender/src/util-rs.patch b/src/gfx/wr/webrender/src/util-rs.patch deleted file mode 100644 index 21ac4b1fb..000000000 --- a/src/gfx/wr/webrender/src/util-rs.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/gfx/wr/webrender/src/util.rs b/gfx/wr/webrender/src/util.rs -index fa02d87b91c961c08da1a03357f514c71e508476..1d5ca171b7ac5c4369299a1623021279fd8801ad 100644 ---- a/gfx/wr/webrender/src/util.rs -+++ b/gfx/wr/webrender/src/util.rs -@@ -164,7 +164,9 @@ impl ScaleOffset { - m.m34.abs() > NEARLY_ZERO || - m.m43.abs() > NEARLY_ZERO || - (m.m44 - 1.0).abs() > NEARLY_ZERO { -- return None; -+ // Ignore this error, this change fixes the bug that crashes when opening an extension popup -+ printf("zen bug: Not a pure scale / translation"); -+ //return None; - } - - Some(ScaleOffset {