]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
Remove unnecessary OW recognition.
[wxWidgets.git] / include / wx / defs.h
index 5384b976963e0663ebb5a65e8222045f000a13c7..0b3f4c8672c08be04a0266d8c9890f6641111d8e 100644 (file)
@@ -473,7 +473,18 @@ typedef int wxWindowID;
 /*  appending the current line number to the given identifier to reduce the */
 /*  probability of the conflict (it may still happen if this is used in the */
 /*  headers, hence you should avoid doing it or provide unique prefixes then) */
-#define wxCONCAT_LINE(text)         wxCONCAT(text, __LINE__)
+#if defined(__VISUALC__) && (__VISUALC__ >= 1300)
+    /*
+       __LINE__ handling is completely broken in VC++ when using "Edit and
+       Continue" (/ZI option) and results in preprocessor errors if we use it
+       inside the macros. Luckily VC7 has another standard macro which can be
+       used like this and is even better than __LINE__ because it is globally
+       unique.
+     */
+#   define wxCONCAT_LINE(text)         wxCONCAT(text, __COUNTER__)
+#else /* normal compilers */
+#   define wxCONCAT_LINE(text)         wxCONCAT(text, __LINE__)
+#endif
 #define wxMAKE_UNIQUE_NAME(text)    wxCONCAT_LINE(text)
 
 /*  symbolic constant used by all Find()-like functions returning positive */
@@ -796,7 +807,15 @@ inline wxUIntPtr wxPtrToUInt(const void *p)
 
 inline void *wxUIntToPtr(wxUIntPtr p)
 {
+#ifdef __VISUALC__
+    #pragma warning(disable: 4312) /* conversion to type of greater size */
+#endif
+
     return wx_reinterpret_cast(void *, p);
+
+#ifdef __VISUALC__
+    #pragma warning(default: 4312)
+#endif
 }
 #endif /*__cplusplus*/
 
@@ -1855,7 +1874,7 @@ enum wxKeyCode
     WXK_SPACE   =    32,
     WXK_DELETE  =    127,
 
-    WXK_START   = 300,
+    WXK_START   = 300, /* FIXME:  Conflicts with UNICODE */
     WXK_LBUTTON,
     WXK_RBUTTON,
     WXK_CANCEL,