summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2019-02-13 17:36:22 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2019-02-13 17:36:22 +0800
commite2eff444ef77d31daf3c74a7803db531366f0aa2 (patch)
tree1a8ef842497a6e545e6c29c3ef0a782960e512b9
parent50add85a26a7b1835a897a3ede81d6d497fca7cd (diff)
downloadcogl.msvc.new.tar.gz
cogl/cogl-debug.h: Export and properly use extern variablescogl.msvc.new
We need to export the extern variables _cogl_debug_instances and _cogl_debug_flags for their consumption in Cogl-Pango and Cogl-Path, so that these variables can be properly referred to by these libraries, and hence any other libraries that make use of them, such as Clutter. On Visual Studio DLL builds, these variables *must* also be marked with __declspec(dllimport) when Cogl-Path and Cogl-Pango is being built against Cogl so that they can be referred to properly, otherwise one will be subject to crashes as a result.
-rw-r--r--cogl/cogl-debug.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/cogl/cogl-debug.h b/cogl/cogl-debug.h
index 91a49e16..f59f3c87 100644
--- a/cogl/cogl-debug.h
+++ b/cogl/cogl-debug.h
@@ -79,12 +79,13 @@ typedef enum {
COGL_DEBUG_N_FLAGS
} CoglDebugFlags;
-extern GHashTable *_cogl_debug_instances;
+/* _cogl_debug_flags and _cogl_debug_instances currently needs to exported
+ * outside of the shared library for cogl-pango and cogl-path. The special
+ * COGL_EXPORT macro is needed to get this to work when building with MSVC.
+ */
+COGL_EXPORT extern GHashTable *_cogl_debug_instances;
#define COGL_DEBUG_N_LONGS COGL_FLAGS_N_LONGS_FOR_SIZE (COGL_DEBUG_N_FLAGS)
-/* _cogl_debug_flags currently needs to exported outside of the shared
- library for cogl-pango. The special COGL_EXPORT macro is needed to
- get this to work when building with MSVC */
COGL_EXPORT extern unsigned long _cogl_debug_flags[COGL_DEBUG_N_LONGS];
#define COGL_DEBUG_ENABLED(flag) \