summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>2013-01-07 16:57:32 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-07 18:07:29 +0100
commitae2359d49e171c61450b17b1eb0e0dd7a20c7ca4 (patch)
treefbf5ef281002a47659d80405ae38f48b57e19c22 /src/plugins/platforms/windows
parent998899cf3a2501d3bf30ad06ce47a2cf81e1d60b (diff)
parentcdf13ce286b14273e1e29c5bb02cbc880f31b786 (diff)
Merge "Merge branch 'stable' into dev" into refs/staging/dev
Diffstat (limited to 'src/plugins/platforms/windows')
-rw-r--r--src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp6
-rw-r--r--src/plugins/platforms/windows/qwindowsbackingstore.cpp13
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.cpp4
3 files changed, 15 insertions, 8 deletions
diff --git a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
index f1bdc77303..5902f05663 100644
--- a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
+++ b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
@@ -767,9 +767,11 @@ HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accChild(VARIANT varChildI
// actually ask for the same object. As a consequence, we need to clone ourselves:
if (QAccessibleInterface *par = accessible->parent()) {
const int indexOf = par->indexOfChild(accessible);
- QAccessibleInterface *clone = par->child(indexOf);
+ if (indexOf == -1)
+ qWarning() << "inconsistent hierarchy, parent:" << par << "child:" << accessible;
+ else
+ acc = par->child(indexOf);
delete par;
- acc = clone;
}
}
}
diff --git a/src/plugins/platforms/windows/qwindowsbackingstore.cpp b/src/plugins/platforms/windows/qwindowsbackingstore.cpp
index 04fe558541..b7937b4d84 100644
--- a/src/plugins/platforms/windows/qwindowsbackingstore.cpp
+++ b/src/plugins/platforms/windows/qwindowsbackingstore.cpp
@@ -100,10 +100,15 @@ void QWindowsBackingStore::flush(QWindow *window, const QRegion &region,
POINT ptDst = {r.x(), r.y()};
POINT ptSrc = {0, 0};
BLENDFUNCTION blend = {AC_SRC_OVER, 0, (BYTE)(255.0 * rw->opacity()), AC_SRC_ALPHA};
- RECT dirty = {dirtyRect.x(), dirtyRect.y(),
- dirtyRect.x() + dirtyRect.width(), dirtyRect.y() + dirtyRect.height()};
- UPDATELAYEREDWINDOWINFO info = {sizeof(info), NULL, &ptDst, &size, m_image->hdc(), &ptSrc, 0, &blend, ULW_ALPHA, &dirty};
- QWindowsContext::user32dll.updateLayeredWindowIndirect(rw->handle(), &info);
+
+ if (QWindowsContext::user32dll.updateLayeredWindowIndirect) {
+ RECT dirty = {dirtyRect.x(), dirtyRect.y(),
+ dirtyRect.x() + dirtyRect.width(), dirtyRect.y() + dirtyRect.height()};
+ UPDATELAYEREDWINDOWINFO info = {sizeof(info), NULL, &ptDst, &size, m_image->hdc(), &ptSrc, 0, &blend, ULW_ALPHA, &dirty};
+ QWindowsContext::user32dll.updateLayeredWindowIndirect(rw->handle(), &info);
+ } else {
+ QWindowsContext::user32dll.updateLayeredWindow(rw->handle(), NULL, &ptDst, &size, m_image->hdc(), &ptSrc, 0, &blend, ULW_ALPHA);
+ }
} else {
#endif
const HDC dc = rw->getDC();
diff --git a/src/plugins/platforms/windows/qwindowsintegration.cpp b/src/plugins/platforms/windows/qwindowsintegration.cpp
index f6011ae082..f5ad442e68 100644
--- a/src/plugins/platforms/windows/qwindowsintegration.cpp
+++ b/src/plugins/platforms/windows/qwindowsintegration.cpp
@@ -419,9 +419,9 @@ inline bool isQMLApplication()
{
// check if the QtQuick library is loaded
#ifdef _DEBUG
- HMODULE handle = GetModuleHandle(L"QtQuick" QT_LIBINFIX L"d5.dll");
+ HMODULE handle = GetModuleHandle(L"Qt5Quick" QT_LIBINFIX L"d.dll");
#else
- HMODULE handle = GetModuleHandle(L"QtQuick" QT_LIBINFIX L"5.dll");
+ HMODULE handle = GetModuleHandle(L"Qt5Quick" QT_LIBINFIX L".dll");
#endif
return (handle != NULL);
}