[cogl/cogl.windows.fixes: 8/8] cogl/cogl-debug.h: Export and properly use extern variables



commit bbc97b4910be94905dde0592bcc5a6e61e169fe8
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Feb 13 17:36:22 2019 +0800

    cogl/cogl-debug.h: Export and properly use extern variables
    
    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.

 cogl/cogl-debug.h | 9 +++++----
 1 file 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) \


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