summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/tools/qdatetime.cpp7
-rw-r--r--src/corelib/tools/qtimezone.cpp2
-rw-r--r--src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowsdrag.cpp16
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.cpp14
-rw-r--r--src/testlib/qtestsystem.h4
-rw-r--r--tests/auto/network/access/qnetworkreply/BLACKLIST4
-rw-r--r--tests/auto/network/socket/qudpsocket/BLACKLIST4
8 files changed, 33 insertions, 20 deletions
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index df5e4e44e4..49e7173de0 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -357,7 +357,7 @@ static int fromOffsetString(const QStringRef &offsetString, bool *valid) Q_DECL_
there are in this date's month and year, respectively. The
isLeapYear() function indicates whether a date is in a leap year.
- \section1
+ \section1 Remarks
\section2 No Year 0
@@ -3047,7 +3047,7 @@ inline qint64 QDateTimePrivate::zoneMSecsToEpochMSecs(qint64 zoneMSecs, const QT
\note QDateTime does not account for leap seconds.
- \section1
+ \section1 Remarks
\section2 No Year 0
@@ -3065,8 +3065,7 @@ inline qint64 QDateTimePrivate::zoneMSecsToEpochMSecs(qint64 zoneMSecs, const QT
extreme values that you do not overflow the storage. The exact range of
supported values varies depending on the Qt::TimeSpec and time zone.
- \section2
- Use of System Timezone
+ \section2 Use of System Timezone
QDateTime uses the system's time zone information to determine the
offset of local time from UTC. If the system is not configured
diff --git a/src/corelib/tools/qtimezone.cpp b/src/corelib/tools/qtimezone.cpp
index 29299bfcd6..445ddeb31d 100644
--- a/src/corelib/tools/qtimezone.cpp
+++ b/src/corelib/tools/qtimezone.cpp
@@ -137,7 +137,7 @@ Q_GLOBAL_STATIC(QTimeZoneSingleton, global_tz);
\note For consistency with QDateTime, QTimeZone does not account for leap
seconds.
- \section1
+ \section1 Remarks
\section2 IANA Time Zone IDs
diff --git a/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp b/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp
index dbab2f6a24..b6051aaf3c 100644
--- a/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp
+++ b/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp
@@ -82,7 +82,7 @@ QEvdevTabletData::QEvdevTabletData(QEvdevTabletHandler *q_ptr)
{
memset(&minValues, 0, sizeof(minValues));
memset(&maxValues, 0, sizeof(maxValues));
- memset(&state, 0, sizeof(state));
+ memset(static_cast<void *>(&state), 0, sizeof(state));
}
void QEvdevTabletData::processInputEvent(input_event *ev)
diff --git a/src/plugins/platforms/windows/qwindowsdrag.cpp b/src/plugins/platforms/windows/qwindowsdrag.cpp
index 777c45ae86..db06f81434 100644
--- a/src/plugins/platforms/windows/qwindowsdrag.cpp
+++ b/src/plugins/platforms/windows/qwindowsdrag.cpp
@@ -248,6 +248,7 @@ private:
Mode m_mode;
QWindowsDrag *m_drag;
+ QPointer<QWindow> m_windowUnderMouse;
Qt::MouseButtons m_currentButtons;
ActionCursorMap m_cursors;
QWindowsDragCursorWindow *m_touchDragWindow;
@@ -260,6 +261,7 @@ private:
QWindowsOleDropSource::QWindowsOleDropSource(QWindowsDrag *drag)
: m_mode(QWindowsCursor::cursorState() != QWindowsCursor::CursorSuppressed ? MouseDrag : TouchDrag)
, m_drag(drag)
+ , m_windowUnderMouse(QWindowsContext::instance()->windowUnderMouse())
, m_currentButtons(Qt::NoButton)
, m_touchDragWindow(0)
{
@@ -400,7 +402,19 @@ QWindowsOleDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
case DRAGDROP_S_DROP:
case DRAGDROP_S_CANCEL:
QGuiApplicationPrivate::modifier_buttons = toQtKeyboardModifiers(grfKeyState);
- QGuiApplicationPrivate::mouse_buttons = buttons;
+ if (buttons != QGuiApplicationPrivate::mouse_buttons) {
+ if (m_windowUnderMouse.isNull() || m_mode == TouchDrag || fEscapePressed == TRUE) {
+ QGuiApplicationPrivate::mouse_buttons = buttons;
+ } else {
+ // QTBUG 66447: Synthesize a mouse release to the window under mouse at
+ // start of the DnD operation as Windows does not send any.
+ const QPoint globalPos = QWindowsCursor::mousePosition();
+ const QPoint localPos = m_windowUnderMouse->handle()->mapFromGlobal(globalPos);
+ QWindowSystemInterface::handleMouseEvent(m_windowUnderMouse.data(),
+ QPointF(localPos), QPointF(globalPos),
+ QWindowsMouseHandler::queryMouseButtons());
+ }
+ }
m_currentButtons = Qt::NoButton;
break;
diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
index 22d90d6ac2..db44e58cbb 100644
--- a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
+++ b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
@@ -306,13 +306,13 @@ QPlatformNativeInterface::NativeResourceForIntegrationFunction QXcbNativeInterfa
return func;
if (lowerCaseResource == "setstartupid")
- return NativeResourceForIntegrationFunction(setStartupId);
+ return NativeResourceForIntegrationFunction(reinterpret_cast<void *>(setStartupId));
if (lowerCaseResource == "generatepeekerid")
- return NativeResourceForIntegrationFunction(generatePeekerId);
+ return NativeResourceForIntegrationFunction(reinterpret_cast<void *>(generatePeekerId));
if (lowerCaseResource == "removepeekerid")
- return NativeResourceForIntegrationFunction(removePeekerId);
+ return NativeResourceForIntegrationFunction(reinterpret_cast<void *>(removePeekerId));
if (lowerCaseResource == "peekeventqueue")
- return NativeResourceForIntegrationFunction(peekEventQueue);
+ return NativeResourceForIntegrationFunction(reinterpret_cast<void *>(peekEventQueue));
return 0;
}
@@ -334,9 +334,9 @@ QPlatformNativeInterface::NativeResourceForScreenFunction QXcbNativeInterface::n
return func;
if (lowerCaseResource == "setapptime")
- return NativeResourceForScreenFunction(setAppTime);
+ return NativeResourceForScreenFunction(reinterpret_cast<void *>(setAppTime));
else if (lowerCaseResource == "setappusertime")
- return NativeResourceForScreenFunction(setAppUserTime);
+ return NativeResourceForScreenFunction(reinterpret_cast<void *>(setAppUserTime));
return 0;
}
@@ -388,7 +388,7 @@ QFunctionPointer QXcbNativeInterface::platformFunction(const QByteArray &functio
}
if (function == QXcbScreenFunctions::virtualDesktopNumberIdentifier())
- return QFunctionPointer(QXcbScreenFunctions::VirtualDesktopNumber(QXcbScreen::virtualDesktopNumberStatic));
+ return QFunctionPointer(QXcbScreenFunctions::VirtualDesktopNumber(reinterpret_cast<void *>(QXcbScreen::virtualDesktopNumberStatic)));
return nullptr;
}
diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h
index de6bd177d3..a6cea26884 100644
--- a/src/testlib/qtestsystem.h
+++ b/src/testlib/qtestsystem.h
@@ -112,7 +112,7 @@ namespace QTest
{
bool becameActive = qWaitFor([&]() { return window->isActive(); }, timeout);
- // Try ensuring the platform window receives the real position.
+ // Try ensuring the platform window receives the real position and geometry.
// (i.e. that window->pos() reflects reality)
// isActive() ( == FocusIn in case of X) does not guarantee this. It seems some WMs randomly
// send the final ConfigureNotify (the one with the non-bogus 0,0 position) after the FocusIn.
@@ -120,7 +120,7 @@ namespace QTest
// qWaitForWindowShown() will generate bogus results.
if (becameActive) {
int waitNo = 0; // 0, 0 might be a valid position after all, so do not wait for ever
- while (window->position().isNull()) {
+ while (window->frameGeometry().isNull()) {
if (waitNo++ > timeout / 10)
break;
qWait(10);
diff --git a/tests/auto/network/access/qnetworkreply/BLACKLIST b/tests/auto/network/access/qnetworkreply/BLACKLIST
index 0b691ada83..fab8224431 100644
--- a/tests/auto/network/access/qnetworkreply/BLACKLIST
+++ b/tests/auto/network/access/qnetworkreply/BLACKLIST
@@ -24,9 +24,9 @@ windows
# QTBUG-66602
[ioHttpRedirectMultipartPost]
*
+# QTBUG-66247
[ioHttpRedirectPolicy]
-b2qt 64bit
-linux
+*
[ioHttpRedirectPostPut]
linux
windows
diff --git a/tests/auto/network/socket/qudpsocket/BLACKLIST b/tests/auto/network/socket/qudpsocket/BLACKLIST
index a98c4d5c6b..0d56f6c827 100644
--- a/tests/auto/network/socket/qudpsocket/BLACKLIST
+++ b/tests/auto/network/socket/qudpsocket/BLACKLIST
@@ -21,6 +21,6 @@ osx
[zeroLengthDatagram]
osx
[linkLocalIPv6]
-redhatenterpriselinuxworkstation-6.6
+linux
[readyReadForEmptyDatagram]
-ubuntu-16.04
+linux