summaryrefslogtreecommitdiffstats
path: root/WebCore/WebCorePrefix.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/WebCorePrefix.h')
-rw-r--r--WebCore/WebCorePrefix.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/WebCore/WebCorePrefix.h b/WebCore/WebCorePrefix.h
index c0d1e70..6c8e200 100644
--- a/WebCore/WebCorePrefix.h
+++ b/WebCore/WebCorePrefix.h
@@ -113,6 +113,13 @@
#include <stdio.h>
#else
#include <CoreServices/CoreServices.h>
+
+#if defined(WIN32) || defined(_WIN32)
+/* Including CoreServices.h on Windows doesn't include CFNetwork.h, so we do
+ it explicitly here to make Windows more consistent with Mac. */
+#include <CFNetwork/CFNetwork.h>
+#endif
+
#endif
#endif
@@ -125,8 +132,11 @@
#define delete ("if you use new/delete make sure to include config.h at the top of the file"())
#endif
-/* Work around a bug with C++ library that screws up Objective-C++ when exception support is disabled. */
-#if defined(__APPLE__)
+/* When C++ exceptions are disabled, the C++ library defines |try| and |catch|
+ * to allow C++ code that expects exceptions to build. These definitions
+ * interfere with Objective-C++ uses of Objective-C exception handlers, which
+ * use |@try| and |@catch|. As a workaround, undefine these macros. */
+#ifdef __OBJC__
#undef try
#undef catch
#endif