Merge "Merge remote-tracking branch 'origin/5.12.0' into 5.12" into refs/staging/5.12

This commit is contained in:
Liang Qi 2018-12-07 20:25:11 +00:00 committed by The Qt Project
commit 153726bc16
4 changed files with 15 additions and 2 deletions

View File

@ -231,7 +231,7 @@ for(ever) {
!isEmpty(MODULE_MODULE) {
contains(MODULE_CONFIG, lib_bundle) {
framework = $$MODULE_MODULE
qtConfig(debug_and_release):!macx-xcode {
qtConfig(debug_and_release):qt_link_suffixed_framework:!macx-xcode {
platform_target_suffix = $$qtPlatformTargetSuffix()
!isEmpty(platform_target_suffix): \
# The -framework linker argument supports a name[,suffix] version,

View File

@ -21,6 +21,9 @@ testcase_lowdpi {
}
}
# Make sure we explicitly link to the debug version of the Qt libraries if needed
macos: CONFIG += qt_link_suffixed_framework
benchmark: type = benchmark
else: type = check

View File

@ -674,6 +674,13 @@ public class QtActivityDelegate
Bundle extras = m_activity.getIntent().getExtras();
if (extras != null) {
try {
// do NOT remove !!!!
final String dc = "--Added-by-androiddeployqt--/debugger.command";
new BufferedReader(new InputStreamReader(m_activity.getAssets().open(dc))).readLine();
// do NOT remove !!!!
// The previous lines are needed to check if the debug mode is enabled.
// We are not allowed to use extraenvvars or extraappparams in a non debuggable environment.
if (extras.containsKey("extraenvvars")) {
try {
m_environmentVariables += "\t" + new String(Base64.decode(extras.getString("extraenvvars"), Base64.DEFAULT), "UTF-8");

View File

@ -582,6 +582,7 @@ bool QWindowsPointerHandler::translateTouchEvent(QWindow *window, HWND hwnd,
QList<QWindowSystemInterface::TouchPoint> touchPoints;
bool primaryPointer = false;
bool pressRelease = false;
if (QWindowsContext::verbose > 1)
qCDebug(lcQpaEvents).noquote().nospace() << showbase
@ -618,9 +619,11 @@ bool QWindowsPointerHandler::translateTouchEvent(QWindow *window, HWND hwnd,
if (touchInfo[i].pointerInfo.pointerFlags & POINTER_FLAG_DOWN) {
touchPoint.state = Qt::TouchPointPressed;
m_lastTouchPositions.insert(touchPoint.id, touchPoint.normalPosition);
pressRelease = true;
} else if (touchInfo[i].pointerInfo.pointerFlags & POINTER_FLAG_UP) {
touchPoint.state = Qt::TouchPointReleased;
m_lastTouchPositions.remove(touchPoint.id);
pressRelease = true;
} else {
touchPoint.state = stationaryTouchPoint ? Qt::TouchPointStationary : Qt::TouchPointMoved;
m_lastTouchPositions.insert(touchPoint.id, touchPoint.normalPosition);
@ -633,7 +636,7 @@ bool QWindowsPointerHandler::translateTouchEvent(QWindow *window, HWND hwnd,
// Avoid getting repeated messages for this frame if there are multiple pointerIds
QWindowsContext::user32dll.skipPointerFrameMessages(touchInfo[i].pointerInfo.pointerId);
}
if (primaryPointer) {
if (primaryPointer && !pressRelease) {
// Postpone event delivery to avoid hanging inside DoDragDrop().
// Only the primary pointer will generate mouse messages.
enqueueTouchEvent(window, touchPoints, QWindowsKeyMapper::queryKeyboardModifiers());