X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a9a0ceca5b549414a6119e98bc6d868c071a8b1b..50e27899137071a7379e0bcca3ced4097d982e5b:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index d5fc6c3c56..b3ae230a05 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -523,6 +523,17 @@ typedef int wxWindowID; #define wxDEPRECATED(x) x #endif +/* + Special variant of the macro above which should be used for the functions + which are deprecated but called by wx itself: this often happens with + deprecated virtual functions which are called by the library. + */ +#ifdef WXBUILDING +# define wxDEPRECATED_BUT_USED_INTERNALLY(x) x +#else +# define wxDEPRECATED_BUT_USED_INTERNALLY(x) wxDEPRECATED(x) +#endif + /* everybody gets the assert and other debug macros */ #include "wx/debug.h" @@ -1141,6 +1152,18 @@ typedef float wxFloat32; # endif #endif /* wxUSE_WCHAR_T */ +/* + This constant should be used instead of NULL in vararg functions taking + wxChar* arguments: passing NULL (which is the same as 0, unless the compiler + defines it specially, e.g. like gcc does with its __null built-in) doesn't + work in this case as va_arg() wouldn't interpret the integer 0 correctly + when trying to convert it to a pointer on architectures where sizeof(int) is + strictly less than sizeof(void *). + + Examples of places where this must be used include wxFileTypeInfo ctor. + */ +#define wxNullPtr ((void *)NULL) + /* ---------------------------------------------------------------------------- */ /* byte ordering related definition and macros */ /* ---------------------------------------------------------------------------- */