X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7f9fe7891d7a8f8fd24c7c7261c28cb2e8329a79..af27647706cb7ca50cf04814ff867532919a252c:/src/msw/uxtheme.cpp diff --git a/src/msw/uxtheme.cpp b/src/msw/uxtheme.cpp index dee239cd43..f850095db2 100644 --- a/src/msw/uxtheme.cpp +++ b/src/msw/uxtheme.cpp @@ -1,22 +1,18 @@ /////////////////////////////////////////////////////////////////////////////// // Name: src/msw/uxtheme.cpp // Purpose: implements wxUxThemeEngine class: support for XP themes -// Author: +// Author: John Platts, Vadim Zeitlin // Modified by: // Created: 2003 // RCS-ID: $Id$ -// Copyright: (c) 2003 wxWindows Dev-Team -// License: wxWindows license +// Copyright: (c) 2003 John Platts, Vadim Zeitlin +// License: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ // declarations // ============================================================================ -#ifdef __GNUG__ - #pragma implementation "uxtheme.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -35,10 +31,9 @@ #include "wx/toplevel.h" #include "wx/string.h" #include "wx/log.h" + #include "wx/module.h" #endif //WX_PRECOMP -#include "wx/module.h" - #include "wx/msw/uxtheme.h" // ============================================================================ @@ -49,11 +44,11 @@ class wxUxThemeModule : public wxModule { public: - virtual bool OnInit() { return true; } - virtual void OnExit() - { - if ( wxUxThemeEngine::ms_themeEngine ) - { + virtual bool OnInit() { return true; } + virtual void OnExit() + { + if ( wxUxThemeEngine::ms_themeEngine ) + { // this is probably not necessary right now but try to be careful // and avoid the problems which we might have if someone ever // decides to show a message box using the theme engine from @@ -63,12 +58,12 @@ public: wxUxThemeEngine::ms_themeEngine = NULL; wxUxThemeEngine::ms_isThemeEngineAvailable = false; - delete themeEngine; - } - } + delete themeEngine; + } + } - DECLARE_DYNAMIC_CLASS(wxUxThemeModule) + DECLARE_DYNAMIC_CLASS(wxUxThemeModule) }; IMPLEMENT_DYNAMIC_CLASS(wxUxThemeModule, wxModule) @@ -108,6 +103,13 @@ wxUxThemeEngine* wxUxThemeEngine::Get() bool wxUxThemeEngine::Initialize() { + if ( wxApp::GetComCtl32Version() < 600 ) + { + // not using theme-aware comctl32.dll anyhow, don't even try to use + // themes + return false; + } + // we're prepared to handle the errors wxLogNull noLog; @@ -173,4 +175,3 @@ bool wxUxThemeEngine::Initialize() } #endif // wxUSE_UXTHEME -