[librsvg: 12/13] acquire_ref the mask node so it doesn't allow cycles
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 12/13] acquire_ref the mask node so it doesn't allow cycles
- Date: Wed, 12 May 2021 01:04:22 +0000 (UTC)
commit 6bc3361eede88e8811d9de45f9c603125e328df6
Author: Federico Mena Quintero <federico gnome org>
Date: Tue May 11 18:04:51 2021 -0500
acquire_ref the mask node so it doesn't allow cycles
src/drawing_ctx.rs | 11 +++++++++++
1 file changed, 11 insertions(+)
---
diff --git a/src/drawing_ctx.rs b/src/drawing_ctx.rs
index abadf400..1e039d25 100644
--- a/src/drawing_ctx.rs
+++ b/src/drawing_ctx.rs
@@ -515,6 +515,17 @@ impl DrawingCtx {
return Ok(None);
}
+ let _mask_acquired = match acquired_nodes.acquire_ref(mask_node) {
+ Ok(n) => n,
+
+ Err(AcquireError::CircularReference(_)) => {
+ rsvg_log!("circular reference in element {}", mask_node);
+ return Ok(None);
+ }
+
+ _ => unreachable!(),
+ };
+
let mask = borrow_element_as!(mask_node, Mask);
let bbox_rect = bbox.rect.as_ref().unwrap();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]