X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/031943ac4ca536d38af4951248fbea39c51694df..6e2717981772a139d3cd9e51d497b13792fe662d:/src/msw/app.cpp diff --git a/src/msw/app.cpp b/src/msw/app.cpp index e7733b748c..d6fc28e390 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -25,6 +25,8 @@ #endif #ifndef WX_PRECOMP + #include "wx/msw/wrapcctl.h" + #include "wx/dynarray.h" #include "wx/frame.h" #include "wx/app.h" #include "wx/utils.h" @@ -38,15 +40,13 @@ #include "wx/dialog.h" #include "wx/msgdlg.h" #include "wx/intl.h" - #include "wx/dynarray.h" #include "wx/wxchar.h" - #include "wx/icon.h" #include "wx/log.h" + #include "wx/module.h" #endif #include "wx/apptrait.h" #include "wx/filename.h" -#include "wx/module.h" #include "wx/dynlib.h" #include "wx/evtloop.h" @@ -77,8 +77,6 @@ #include #include -#include "wx/msw/wrapcctl.h" - // For MB_TASKMODAL #ifdef __WXWINCE__ #include "wx/msw/wince/missing.h" @@ -110,8 +108,6 @@ // global variables // --------------------------------------------------------------------------- -extern wxList WXDLLEXPORT wxPendingDelete; - #if !defined(__WXMICROWIN__) && !defined(__WXWINCE__) extern void wxSetKeyboardHook(bool doIt); #endif @@ -229,20 +225,27 @@ bool wxGUIAppTraits::DoMessageFromThreadWait() return evtLoop->Dispatch(); } -wxToolkitInfo& wxGUIAppTraits::GetToolkitInfo() +wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const { - static wxToolkitInfo info; - wxToolkitInfo& baseInfo = wxAppTraits::GetToolkitInfo(); - info.versionMajor = baseInfo.versionMajor; - info.versionMinor = baseInfo.versionMinor; - info.os = baseInfo.os; - info.shortName = _T("msw"); - info.name = _T("wxMSW"); -#ifdef __WXUNIVERSAL__ - info.shortName << _T("univ"); - info.name << _T("/wxUniversal"); + OSVERSIONINFO info; + wxZeroMemory(info); + + // on Windows, the toolkit version is the same of the OS version + // as Windows integrates the OS kernel with the GUI toolkit. + info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + if ( ::GetVersionEx(&info) ) + { + if ( majVer ) + *majVer = info.dwMajorVersion; + if ( minVer ) + *minVer = info.dwMinorVersion; + } + +#if defined(__WXHANDHELD__) || defined(__WXWINCE__) + return wxPORT_WINCE; +#else + return wxPORT_MSW; #endif - return info; } // =========================================================================== @@ -313,7 +316,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv) // fails to find a device. SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX); #endif - + wxOleInitialize(); RegisterWindowClasses(); @@ -591,7 +594,7 @@ int wxApp::GetComCtl32Version() // we're prepared to handle the errors wxLogNull noLog; - + #if wxUSE_DYNLIB_CLASS // do we have it? wxDynamicLibrary dllComCtl32(_T("comctl32.dll"), wxDL_VERBATIM); @@ -650,7 +653,7 @@ int wxApp::GetComCtl32Version() } } } -#endif +#endif } return s_verComCtl32;