]> git.saurik.com Git - wxWidgets.git/commitdiff
Define colours for all wxSYS_COLOUR_XXX values in wxUniv.
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 23 Jul 2010 23:32:35 +0000 (23:32 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 23 Jul 2010 23:32:35 +0000 (23:32 +0000)
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

src/univ/settingsuniv.cpp

index ebe9d190d46e7167589aaf3ee310d069788d2407..a382d39219ce19e8c5d0eef917742be816a1162c 100644 (file)
@@ -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") );