Merge remote-tracking branch 'origin/5.11' into dev

Change-Id: I1ce43c8a214a869c5c4ac4245bb92c88c6bc6999
bb10
Qt Forward Merge Bot 2018-02-28 10:32:56 +01:00
commit 96ffe48add
8 changed files with 33 additions and 20 deletions

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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;

View File

@ -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;
}

View File

@ -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);

View File

@ -24,9 +24,9 @@ windows
# QTBUG-66602
[ioHttpRedirectMultipartPost]
*
# QTBUG-66247
[ioHttpRedirectPolicy]
b2qt 64bit
linux
*
[ioHttpRedirectPostPut]
linux
windows

View File

@ -21,6 +21,6 @@ osx
[zeroLengthDatagram]
osx
[linkLocalIPv6]
redhatenterpriselinuxworkstation-6.6
linux
[readyReadForEmptyDatagram]
ubuntu-16.04
linux