X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d9c0e97c580cff977d75760dc0d82c5852eec2c..cf2372509cef60accf833de95b1688e0c28b0567:/src/msw/uxtheme.cpp diff --git a/src/msw/uxtheme.cpp b/src/msw/uxtheme.cpp index e41159bad0..a28d3311e3 100644 --- a/src/msw/uxtheme.cpp +++ b/src/msw/uxtheme.cpp @@ -1,19 +1,19 @@ /////////////////////////////////////////////////////////////////////////////// // Name: src/msw/uxtheme.cpp // Purpose: implements wxUxThemeEngine class: support for XP themes -// Author: +// Author: // Modified by: // Created: 2003 // RCS-ID: $Id$ -// Copyright: (c) 2003 wxWindows Dev-Team -// License: wxWindows license +// Copyright: (c) 2003 wxWidgets Dev-Team +// License: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ // declarations // ============================================================================ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "uxtheme.h" #endif @@ -39,10 +39,7 @@ #include "wx/module.h" -#include "wx/msw/wrapwin.h" - #include "wx/msw/uxtheme.h" -#include "wx/msw/private.h" // ============================================================================ // wxUxThemeModule @@ -52,11 +49,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 @@ -66,12 +63,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) @@ -111,6 +108,16 @@ wxUxThemeEngine* wxUxThemeEngine::Get() bool wxUxThemeEngine::Initialize() { + if ( wxTheApp->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; + if ( !m_dllUxTheme.Load(_T("uxtheme.dll")) ) return false;