summaryrefslogtreecommitdiff
path: root/msvc_extra_headers
diff options
context:
space:
mode:
authorJohn Emmas <johne53@tiscali.co.uk>2015-11-23 16:28:43 +0000
committerJohn Emmas <johne53@tiscali.co.uk>2015-12-23 15:09:16 +0000
commitbb520c26adf8da82d0f614dd3a18dbf5076e592d (patch)
tree1d19781201317fdc66cc882110bdd5c073d0a06e /msvc_extra_headers
parent7eddc61a3059ae0c54f0f18bfb518859eef72830 (diff)
Move the preprocessor directive GTKMM_ATKMM_ENABLED so it'll get #defined at an earlier stage
When building any program that uses Gtkmm (with Atkmm support) ALL modules need to agree about the status of GTKMM_ATKMM_ENABLED. Otherwise 'Gtk::Widget' can have different sizes in different modules. If that happens we can end up with all manner of inexplicable run-time crashes and hangs. GTKMM_ATKMM_ENABLED gets #defined in 'gtkmmconfig.h'. So let's #include that file at the earliest possible opportunity (where we know it'll then have a consistent value for every compilation unit).
Diffstat (limited to 'msvc_extra_headers')
-rw-r--r--msvc_extra_headers/ardourext/sys/targetsxs.h.input9
1 files changed, 9 insertions, 0 deletions
diff --git a/msvc_extra_headers/ardourext/sys/targetsxs.h.input b/msvc_extra_headers/ardourext/sys/targetsxs.h.input
index 6569407ac8..24d1b29ab3 100644
--- a/msvc_extra_headers/ardourext/sys/targetsxs.h.input
+++ b/msvc_extra_headers/ardourext/sys/targetsxs.h.input
@@ -64,6 +64,15 @@ __declspec(selectany) int _forceAtlDllManifestRTM;
implementation for commonly used integer types. */
#include <stdint.h>
+/* When building Gtkmm with Atkmm support, ALL modules need
+ to agree about the status of GTKMM_ATKMM_ENABLED. Otherwise
+ we end up with all manner of imexplicable run time crashes
+ and hangs (due to Gtk::Widget having different sizes in
+ different modules). GTKMM_ATKMM_ENABLED gets #defined in
+ 'gtkmmconfig.h'. So let's #include that file here, where
+ we know it'll get #included for every compilation unit. */
+#include <gtkmmconfig.h>
+
#if defined(_MSC_VER) && !defined(__MINGW__) && !defined(__MINGW32__)
/* Define these libraries as getting built as DLLs */
#define LIBAUDIOGRAPHER_DLL