From e2d7ae5ffb54260c67b43eb9dba6ec19535e387f Mon Sep 17 00:00:00 2001 From: Hin-Tak Leung Date: Thu, 1 Feb 2024 17:57:17 +0000 Subject: [PATCH 1/2] Fixes Cairo-enabled build breakage from "Add C++17 compatibility in addition to C++11 (#194)" commit Commit e09185141949c259e6ba5110702605e193374bde missed a change in the cairo-related code. Fixes #195. --- svgnative/src/ports/cairo/CairoSVGRenderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svgnative/src/ports/cairo/CairoSVGRenderer.cpp b/svgnative/src/ports/cairo/CairoSVGRenderer.cpp index 0c86b039..398868fd 100644 --- a/svgnative/src/ports/cairo/CairoSVGRenderer.cpp +++ b/svgnative/src/ports/cairo/CairoSVGRenderer.cpp @@ -304,7 +304,7 @@ inline void createCairoPattern(const Paint& paint, float opacity, cairo_pattern_ { *pat = NULL; - if (paint.type() != typeid(Gradient)) + if (!SVGNative::holds_alternative(paint)) return; const auto& gradient = SVGNative::get(paint); From 6ab492722b4752eca44754d2a35fdaef75936468 Mon Sep 17 00:00:00 2001 From: Hin-Tak Leung Date: Thu, 20 Jul 2023 03:57:55 +0100 Subject: [PATCH 2/2] example/testCairo/TestCairo.cpp requires std::transform in c++ 17 --- svgnative/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/svgnative/CMakeLists.txt b/svgnative/CMakeLists.txt index 519580dd..9dbab9f8 100644 --- a/svgnative/CMakeLists.txt +++ b/svgnative/CMakeLists.txt @@ -88,6 +88,7 @@ endif() # setting for Cairo ################################ if(CAIRO) + set(CMAKE_CXX_STANDARD 17) # cmake wants to have full pathname of libcairo, instead of compiler flags. # thus FindCairo.cmake works better than pkg_check_modules(CAIRO cairo) include(FindCairo)