diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2012-01-03 10:40:32 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-06 19:24:23 +0100 |
commit | 50e18de5161633802a88bd405b7c33cfcaaca3f7 (patch) | |
tree | 492a58c69729d9c8b3f928a6b082a91b8886ee0f /src | |
parent | 1ff1288c04e8ae531ed3b405e4c2f826119160d5 (diff) |
Windows: Run on Windows XP.
Replace Q_ASSERT() on missing functions from User32.dll by
qFatal() with error message. Do not check "UpdateLayeredWindowIndirect"
as it was introduced with Windows Vista.
Task-number: QTBUG-23351
Change-Id: I0064611351c687f0c3c6e13156dd534b9f7a5d75
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/platforms/windows/qwindowscontext.cpp | 7 | ||||
-rw-r--r-- | src/plugins/platforms/windows/qwindowscontext.h | 2 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp index 70d879e19f..3600c66114 100644 --- a/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/src/plugins/platforms/windows/qwindowscontext.cpp @@ -164,11 +164,10 @@ void QWindowsUser32DLL::init() // MinGW (g++ 3.4.5) accepts only C casts. setLayeredWindowAttributes = (SetLayeredWindowAttributes)(library.resolve("SetLayeredWindowAttributes")); updateLayeredWindow = (UpdateLayeredWindow)(library.resolve("UpdateLayeredWindow")); - updateLayeredWindowIndirect = (UpdateLayeredWindowIndirect)(library.resolve("UpdateLayeredWindowIndirect")); - - Q_ASSERT(setLayeredWindowAttributes && updateLayeredWindow - && updateLayeredWindowIndirect); + if (!setLayeredWindowAttributes || !updateLayeredWindow) + qFatal("This version of Windows is not supported (User32.dll is missing the symbols 'SetLayeredWindowAttributes', 'UpdateLayeredWindow')."); + updateLayeredWindowIndirect = (UpdateLayeredWindowIndirect)(library.resolve("UpdateLayeredWindowIndirect")); isHungAppWindow = (IsHungAppWindow)library.resolve("IsHungAppWindow"); } diff --git a/src/plugins/platforms/windows/qwindowscontext.h b/src/plugins/platforms/windows/qwindowscontext.h index db57f7c097..9a8acbbb51 100644 --- a/src/plugins/platforms/windows/qwindowscontext.h +++ b/src/plugins/platforms/windows/qwindowscontext.h @@ -77,9 +77,9 @@ struct QWindowsUser32DLL // Functions missing in Q_CC_GNU stub libraries. SetLayeredWindowAttributes setLayeredWindowAttributes; UpdateLayeredWindow updateLayeredWindow; - UpdateLayeredWindowIndirect updateLayeredWindowIndirect; // Functions missing in older versions of Windows + UpdateLayeredWindowIndirect updateLayeredWindowIndirect; IsHungAppWindow isHungAppWindow; // Touch functions from Windows 7 onwards (also for use with Q_CC_MSVC). |