diff --git a/docs/doxygen/mainpages/const_cpp.h b/docs/doxygen/mainpages/const_cpp.h index f097a08c9e..62408d8461 100644 --- a/docs/doxygen/mainpages/const_cpp.h +++ b/docs/doxygen/mainpages/const_cpp.h @@ -199,6 +199,13 @@ Currently the following symbols exist: @itemdef{wxHAS_RAW_KEY_CODES, Defined if raw key codes (see wxKeyEvent::GetRawKeyCode are supported.} @itemdef{wxHAS_REGEX_ADVANCED, Defined if advanced syntax is available in wxRegEx.} @itemdef{wxHAS_TASK_BAR_ICON, Defined if wxTaskBarIcon is available on the current platform.} +@itemdef{wxHAS_MODE_T, Defined when wxWidgets defines @c mode_t typedef for the + compilers not providing it. If another library used in a wxWidgets + application, such as ACE (http://www.cs.wustl.edu/~schmidt/ACE.html), also + defines @c mode_t, this symbol can be predefined after including the other + library header, such as @c "ace/os_include/sys/os_types.h" in ACE case, + but before including any wxWidgets headers, to prevent a definition + conflict.} @endDefList diff --git a/include/wx/filefn.h b/include/wx/filefn.h index 0a7915db07..5a585bd9e5 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -44,7 +44,10 @@ // constants // ---------------------------------------------------------------------------- -#if defined(__VISUALC__) +// MSVC doesn't define mode_t, so do it ourselves unless someone else +// had already predefined it. +#if defined(__VISUALC__) && !defined(wxHAS_MODE_T) + #define wxHAS_MODE_T typedef int mode_t; #endif