From eb24388f1730918edd9565d9e5d09340ec0b3b08 Mon Sep 17 00:00:00 2001
From: Harald van Dijk <harald@gigawatt.nl>
Date: Wed, 17 Feb 2021 09:13:49 +0000
Subject: [PATCH] Fix build with glib 2.67.3.

As of glib 2.67.3, <glib.h> can no longer be included in extern "C"
blocks. It was indirectly included by both "types.h" and "color.h".
"types.h" already does not need to be wrapped in an extern "C" block,
"color.h" does but can be modified not to, so with that changed they can
be moved out.
---
 src/3rdparty/autotrace/autotrace.h | 6 +++---
 src/3rdparty/autotrace/color.h     | 7 +++++++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/3rdparty/autotrace/autotrace.h b/src/3rdparty/autotrace/autotrace.h
index 2ce6f272a9..e56be9a74c 100644
--- a/src/3rdparty/autotrace/autotrace.h
+++ b/src/3rdparty/autotrace/autotrace.h
@@ -23,6 +23,9 @@
 
 #include <stdio.h>
 
+#include "types.h"
+#include "color.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif                          /* __cplusplus */
@@ -35,9 +38,6 @@ extern "C" {
  * Typedefs
  * ===================================================================== */
 
-#include "types.h"
-#include "color.h"
-
 /* Third degree is the highest we deal with.  */
   enum _at_polynomial_degree {
     AT_LINEARTYPE = 1,
diff --git a/src/3rdparty/autotrace/color.h b/src/3rdparty/autotrace/color.h
index e50ab30ae0..88651db9f7 100644
--- a/src/3rdparty/autotrace/color.h
+++ b/src/3rdparty/autotrace/color.h
@@ -24,6 +24,10 @@
 #include <glib.h>
 #include <glib-object.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif                          /* __cplusplus */
+
 typedef struct _at_color at_color;
 struct _at_color {
   guint8 r;
@@ -43,4 +47,7 @@ void at_color_free(at_color * color);
 GType at_color_get_type(void);
 #define AT_TYPE_COLOR (at_color_get_type ())
 
+#ifdef __cplusplus
+}
+#endif                          /* __cplusplus */
 #endif /* not AT_COLOR_H */
-- 
GitLab

