X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a6384ca1e6e9a84f755dbca28875a5e89267766..f242653114d93920f01390320bc69923a8f2c3d9:/src/common/utilscmn.cpp diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index 4bafd05df1..303e31881f 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -96,6 +96,7 @@ #if defined(__WXMSW__) #include "wx/msw/private.h" #include "wx/msw/registry.h" + #include // needed for SHELLEXECUTEINFO #endif #if wxUSE_BASE @@ -940,8 +941,10 @@ wxChar *wxStripMenuCodes(const wxChar *in, wxChar *out) return out; } -wxString wxStripMenuCodes(const wxString& in) +wxString wxStripMenuCodes(const wxString& in, int flags) { + wxASSERT_MSG( flags, _T("this is useless to call without any flags") ); + wxString out; size_t len = in.length(); @@ -950,7 +953,7 @@ wxString wxStripMenuCodes(const wxString& in) for ( size_t n = 0; n < len; n++ ) { wxChar ch = in[n]; - if ( ch == _T('&') ) + if ( (flags & wxStrip_Mnemonics) && ch == _T('&') ) { // skip it, it is used to introduce the accel char (or to quote // itself in which case it should still be skipped): note that it @@ -965,7 +968,7 @@ wxString wxStripMenuCodes(const wxString& in) ch = in[n]; } } - else if ( ch == _T('\t') ) + else if ( (flags & wxStrip_Accel) && ch == _T('\t') ) { // everything after TAB is accel string, exit the loop break;