Blame 0003-Try-to-fix-bool-snap-lifetimes.patch

4308ea6
From 8386824b825351b200df88e7a71f57d1652f08ea Mon Sep 17 00:00:00 2001
4308ea6
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
4308ea6
Date: Sun, 29 Jul 2018 17:34:45 -0400
4308ea6
Subject: [PATCH 3/3] Try to fix bool snap lifetimes.
4308ea6
4308ea6
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
4308ea6
---
4308ea6
 src/_mplcairo.cpp | 4 ++--
4308ea6
 src/_mplcairo.h   | 2 +-
4308ea6
 2 files changed, 3 insertions(+), 3 deletions(-)
4308ea6
4308ea6
diff --git a/src/_mplcairo.cpp b/src/_mplcairo.cpp
4308ea6
index 5bb34e7..15897f6 100644
4308ea6
--- a/src/_mplcairo.cpp
4308ea6
+++ b/src/_mplcairo.cpp
4308ea6
@@ -542,12 +542,12 @@ void GraphicsContextRenderer::set_linewidth(double lw)
4308ea6
   cairo_set_miter_limit(cr_, cairo_get_line_width(cr_));
4308ea6
 }
4308ea6
 
4308ea6
-void GraphicsContextRenderer::set_snap(std::optional<bool> snap)
4308ea6
+void GraphicsContextRenderer::set_snap(py::object snap)
4308ea6
 {
4308ea6
   // NOTE: We treat None (snap if only vertical or horizontal lines) as True.
4308ea6
   // NOTE: It appears that even when rcParams["path.snap"] is False, this is
4308ea6
   // sometimes set to True.
4308ea6
-  get_additional_state().snap = snap.value_or(true);
4308ea6
+  get_additional_state().snap = snap.is(py::none{}) ? true : snap.cast<bool>();
4308ea6
 }
4308ea6
 
4308ea6
 void GraphicsContextRenderer::set_url(std::optional<std::string> url)
4308ea6
diff --git a/src/_mplcairo.h b/src/_mplcairo.h
4308ea6
index 934fd9a..1693a22 100644
4308ea6
--- a/src/_mplcairo.h
4308ea6
+++ b/src/_mplcairo.h
4308ea6
@@ -75,7 +75,7 @@ class GraphicsContextRenderer {
4308ea6
   void set_hatch_color(py::object hatch);
4308ea6
   void set_joinstyle(std::string js);
4308ea6
   void set_linewidth(double lw);
4308ea6
-  void set_snap(std::optional<bool> snap);
4308ea6
+  void set_snap(py::object snap);
4308ea6
   void set_url(std::optional<std::string> url);
4308ea6
 
4308ea6
   AdditionalState const& get_additional_state() const;
4308ea6
-- 
4308ea6
2.17.1
4308ea6