From: Vadim Zeitlin Date: Fri, 23 Jul 2010 23:32:35 +0000 (+0000) Subject: Define colours for all wxSYS_COLOUR_XXX values in wxUniv. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/81214330309a52427f2795a78fce7b4abb488ed7?ds=inline Define colours for all wxSYS_COLOUR_XXX values in wxUniv. Ensure that we have enough elements in the array used by wxSystemSettings::GetColour() in wxUniv to avoid the assert which happened when e.g. wxSYS_COLOUR_LISTBOXTEXT was requested from it. This resulted in an infinite stream of asserts and a crash when trying to use wxTreeCtrl in wxUniv. Closes #11702. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/univ/settingsuniv.cpp b/src/univ/settingsuniv.cpp index ebe9d190d4..a382d39219 100644 --- a/src/univ/settingsuniv.cpp +++ b/src/univ/settingsuniv.cpp @@ -72,8 +72,17 @@ wxColour wxSystemSettings::GetColour(wxSystemColour index) wxColourScheme::MAX /* wxSYS_COLOUR_INFOTEXT */, wxColourScheme::MAX /* wxSYS_COLOUR_INFOBK */, wxColourScheme::WINDOW /* wxSYS_COLOUR_LISTBOX */, + wxColourScheme::MAX /* wxSYS_COLOUR_HOTLIGHT */, + wxColourScheme::TITLEBAR_ACTIVE_TEXT /* wxSYS_COLOUR_GRADIENTACTIVECAPTION */, + wxColourScheme::TITLEBAR_TEXT /* wxSYS_COLOUR_GRADIENTINACTIVECAPTION */, + wxColourScheme::MAX /* wxSYS_COLOUR_MENUHILIGHT */, + wxColourScheme::MAX /* wxSYS_COLOUR_MENUBAR */, + wxColourScheme::CONTROL_TEXT /* wxSYS_COLOUR_LISTBOXTEXT */, }; + wxCOMPILE_TIME_ASSERT( WXSIZEOF(s_mapSysToThemeCol) == wxSYS_COLOUR_MAX, + StdColDefsMismatch ); + wxCHECK_MSG( index < (int)WXSIZEOF(s_mapSysToThemeCol), wxNullColour, wxT("invalid wxSystemColour") );