[librsvg: 21/30] Return errors from set_gradient




commit 1079040aaea0b6c069fa93667cf52c062f0fba89
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon Jun 21 19:28:00 2021 -0500

    Return errors from set_gradient
    
    Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/516>

 src/drawing_ctx.rs | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/src/drawing_ctx.rs b/src/drawing_ctx.rs
index a1db311f..fb8c4a73 100644
--- a/src/drawing_ctx.rs
+++ b/src/drawing_ctx.rs
@@ -946,7 +946,7 @@ impl DrawingCtx {
         Ok(surface)
     }
 
-    fn set_gradient(self: &mut DrawingCtx, gradient: &UserSpaceGradient) {
+    fn set_gradient(self: &mut DrawingCtx, gradient: &UserSpaceGradient) -> Result<(), cairo::Error> {
         let g = match gradient.variant {
             GradientVariant::Linear { x1, y1, x2, y2 } => {
                 cairo::Gradient::clone(&cairo::LinearGradient::new(x1, y1, x2, y2))
@@ -977,8 +977,7 @@ impl DrawingCtx {
             );
         }
 
-        let cr = self.cr.clone();
-        cr.set_source(&g);
+        Ok(self.cr.set_source(&g)?)
     }
 
     fn set_pattern(
@@ -1096,7 +1095,7 @@ impl DrawingCtx {
     ) -> Result<bool, RenderingError> {
         match *paint_source {
             UserSpacePaintSource::Gradient(ref gradient, _c) => {
-                self.set_gradient(gradient);
+                self.set_gradient(gradient)?;
                 Ok(true)
             }
             UserSpacePaintSource::Pattern(ref pattern, c) => {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]