[librsvg: 19/30] SavedCr::new - return the error from cr.save
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 19/30] SavedCr::new - return the error from cr.save
- Date: Wed, 23 Jun 2021 23:05:39 +0000 (UTC)
commit b0e4f3f8889f0eb618ae5eda6d2d6dc49c59a7bc
Author: Federico Mena Quintero <federico gnome org>
Date: Mon Jun 21 18:37:13 2021 -0500
SavedCr::new - return the error from cr.save
Hmmmm, we can't deal with impl Drop in the same way, since destructors
can't fail.
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/516>
src/drawing_ctx.rs | 12 ++++++------
src/handle.rs | 4 ++--
2 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/src/drawing_ctx.rs b/src/drawing_ctx.rs
index 89a2162d..e6f41992 100644
--- a/src/drawing_ctx.rs
+++ b/src/drawing_ctx.rs
@@ -250,9 +250,9 @@ pub fn draw_tree(
pub struct SavedCr(cairo::Context);
impl SavedCr {
- pub fn new(cr: &cairo::Context) -> SavedCr {
- cr.save();
- SavedCr(cr.clone())
+ pub fn new(cr: &cairo::Context) -> Result<SavedCr, cairo::Error> {
+ cr.save()?;
+ Ok(SavedCr(cr.clone()))
}
}
@@ -675,7 +675,7 @@ impl DrawingCtx {
let res = if clipping {
draw_fn(acquired_nodes, self)
} else {
- let _saved_cr = SavedCr::new(&self.cr);
+ let _saved_cr = SavedCr::new(&self.cr)?;
let Opacity(UnitInterval(opacity)) = stacking_ctx.opacity;
@@ -1311,7 +1311,7 @@ impl DrawingCtx {
clipping,
None,
&mut |_an, dc| {
- let _saved_cr = SavedCr::new(&dc.cr);
+ let _saved_cr = SavedCr::new(&dc.cr)?;
if let Some(_params) =
dc.push_new_viewport(Some(vbox), image.rect, image.aspect, clip_mode)
@@ -1346,7 +1346,7 @@ impl DrawingCtx {
let mut bbox = bbox.unwrap();
- let _saved_cr = SavedCr::new(&self.cr);
+ let _saved_cr = SavedCr::new(&self.cr)?;
self.cr
.set_antialias(cairo::Antialias::from(span.text_rendering));
diff --git a/src/handle.rs b/src/handle.rs
index 830f4e6d..db15281c 100644
--- a/src/handle.rs
+++ b/src/handle.rs
@@ -253,7 +253,7 @@ impl Handle {
let viewport = Rect::from(*viewport);
- let _saved_cr = SavedCr::new(&cr);
+ let _saved_cr = SavedCr::new(&cr)?;
let res = draw_tree(
DrawingMode::LimitToStack { node, root },
@@ -345,7 +345,7 @@ impl Handle {
// Render, transforming so element is at the new viewport's origin
- let _saved_cr = SavedCr::new(&cr);
+ let _saved_cr = SavedCr::new(&cr)?;
let factor =
(element_viewport.width / ink_r.width()).min(element_viewport.height / ink_r.height());
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]