summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-01-07 01:01:16 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-01-07 07:28:00 +0100
commit0b14e657f4fcfd12377711d7835fb77cf6615bd5 (patch)
tree7cedaa1cf8da63c19654c5cd8910028c00df3b99
parent42ecdfe6f3bcbf3e35ca88b24af07249e3936fc7 (diff)
parentc75e8a661852952b12da95c48ad2c1b88e6cf7e1 (diff)
Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"
-rw-r--r--config_help.txt1
-rw-r--r--configure.json6
-rw-r--r--mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in28
-rw-r--r--mkspecs/features/qt_functions.prf2
-rw-r--r--qmake/doc/src/qmake-manual.qdoc6
-rw-r--r--src/corelib/tools/qeasingcurve.cpp2
-rw-r--r--src/gui/text/qtextdocument.cpp6
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp6
-rw-r--r--src/widgets/widgets/qmainwindowlayout_p.h4
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp13
10 files changed, 53 insertions, 21 deletions
diff --git a/config_help.txt b/config_help.txt
index 9b6a696527..5cba7316b1 100644
--- a/config_help.txt
+++ b/config_help.txt
@@ -258,6 +258,7 @@ Network options:
-no-openssl .......... Do not use OpenSSL [default on Apple and WinRT]
-openssl-linked ...... Use OpenSSL and link to libssl [no]
-openssl-runtime ..... Use OpenSSL and dynamically load libssl [auto]
+ -schannel ............ Use Secure Channel [no] (Windows only)
-securetransport ..... Use SecureTransport [auto] (Apple only)
-sctp ................ Enable SCTP support [no]
diff --git a/configure.json b/configure.json
index 30c5dd0420..1e8506f54d 100644
--- a/configure.json
+++ b/configure.json
@@ -776,12 +776,12 @@
},
"debug": {
"label": "Build for debugging",
- "autoDetect": "features.developer-build || config.win32 || config.darwin"
+ "autoDetect": "features.developer-build || (config.win32 && !config.gcc) || config.darwin"
},
"debug_and_release": {
"label": "Compile libs in debug and release mode",
- "autoDetect": "input.debug == ''",
- "condition": "config.darwin || (config.win32 && !config.gcc)",
+ "autoDetect": "input.debug == '' && !(config.win32 && config.gcc)",
+ "condition": "config.darwin || config.win32",
"output": [ "publicFeature", "publicQtConfig", "debugAndRelease" ]
},
"force_debug_info": {
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index 5077b8d8b4..26d4c17e6c 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -72,18 +72,28 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends \"${_prl_strings}\")
string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\")
set(_search_paths)
+ set(_framework_flag)
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
foreach(_flag ${_static_depends})
string(REPLACE \"\\\"\" \"\" _flag ${_flag})
- if(_flag MATCHES \"^-l(.*)$\")
- # Handle normal libraries passed as -lfoo
- set(_lib \"${CMAKE_MATCH_1}\")
- foreach(_standard_library ${_standard_libraries})
- if(_standard_library MATCHES \"^${_lib}(\\\\.lib)?$\")
- set(_lib_is_default_linked TRUE)
- break()
- endif()
- endforeach()
+ if(_flag MATCHES \"^-framework$\")
+ # Handle the next flag as framework name
+ set(_framework_flag 1)
+ elseif(_framework_flag OR _flag MATCHES \"^-l(.*)$\")
+ if(_framework_flag)
+ # Handle Darwin framework bundles passed as -framework Foo
+ unset(_framework_flag)
+ set(_lib ${_flag})
+ else()
+ # Handle normal libraries passed as -lfoo
+ set(_lib \"${CMAKE_MATCH_1}\")
+ foreach(_standard_library ${_standard_libraries})
+ if(_standard_library MATCHES \"^${_lib}(\\\\.lib)?$\")
+ set(_lib_is_default_linked TRUE)
+ break()
+ endif()
+ endforeach()
+ endif()
if (_lib_is_default_linked)
unset(_lib_is_default_linked)
elseif(_lib MATCHES \"^pthread$\")
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 661b7dd961..45d4492788 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -5,7 +5,7 @@ defineReplace(qtPlatformTargetSuffix) {
else: CONFIG(debug, debug|release) {
!debug_and_release|build_pass {
mac: return($${suffix}_debug)
- win32:!gcc: return($${suffix}d)
+ win32: return($${suffix}d)
}
}
return($$suffix)
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index 38b6d981ec..b002521a8e 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -1577,6 +1577,12 @@
\l{CONFIG}{CONFIG += lrelease} will be installed to. Does not have any
effect if \l{CONFIG}{CONFIG += embed_translations} is set.
+ \target QML_IMPORT_PATH
+ \section1 QML_IMPORT_PATH
+
+ This variable is only used by \l{Qt Creator Manual}{Qt Creator}.
+ See \l{Qt Creator: Using QML Modules with Plugins} for details.
+
\target QMAKE_systemvariable
\section1 QMAKE
diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp
index 7f9b6ef39f..84430ae49a 100644
--- a/src/corelib/tools/qeasingcurve.cpp
+++ b/src/corelib/tools/qeasingcurve.cpp
@@ -1512,7 +1512,7 @@ QDebug operator<<(QDebug debug, const QEasingCurve &item)
{
QDebugStateSaver saver(debug);
debug << "type:" << item.d_ptr->type
- << "func:" << item.d_ptr->func;
+ << "func:" << reinterpret_cast<const void *>(item.d_ptr->func);
if (item.d_ptr->config) {
debug << QString::fromLatin1("period:%1").arg(item.d_ptr->config->_p, 0, 'f', 20)
<< QString::fromLatin1("amp:%1").arg(item.d_ptr->config->_a, 0, 'f', 20)
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index fb75954d9c..2d7f2bb844 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -2301,10 +2301,8 @@ static QStringList resolvedFontFamilies(const QTextCharFormat &format)
{
QStringList fontFamilies = format.fontFamilies().toStringList();
const QString mainFontFamily = format.fontFamily();
- if (!mainFontFamily.isEmpty() && !fontFamilies.startsWith(mainFontFamily)) {
- fontFamilies.removeAll(mainFontFamily);
- fontFamilies.prepend(mainFontFamily);
- }
+ if (!mainFontFamily.isEmpty() && !fontFamilies.contains(mainFontFamily))
+ fontFamilies.append(mainFontFamily);
return fontFamilies;
}
diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
index bd62460b96..2d114c51b3 100644
--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
@@ -1252,14 +1252,16 @@ void QXcbConnection::xi2ReportTabletEvent(const void *event, TabletData *tabletD
if (Q_LIKELY(useValuators)) {
const qreal value = scaleOneValuator(normalizedValue, physicalScreenArea.x(), physicalScreenArea.width());
global.setX(value);
- local.setX(value - window->handle()->geometry().x());
+ // mapFromGlobal is ok for nested/embedded windows, but works only with whole-number QPoint;
+ // so map it first, then add back the sub-pixel position
+ local.setX(window->mapFromGlobal(QPoint(int(value), 0)).x() + (value - int(value)));
}
break;
case QXcbAtom::AbsY:
if (Q_LIKELY(useValuators)) {
qreal value = scaleOneValuator(normalizedValue, physicalScreenArea.y(), physicalScreenArea.height());
global.setY(value);
- local.setY(value - window->handle()->geometry().y());
+ local.setY(window->mapFromGlobal(QPoint(0, int(value))).y() + (value - int(value)));
}
break;
case QXcbAtom::AbsPressure:
diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h
index ebed47da30..d4f0bd4517 100644
--- a/src/widgets/widgets/qmainwindowlayout_p.h
+++ b/src/widgets/widgets/qmainwindowlayout_p.h
@@ -88,6 +88,10 @@ class QMainWindowLayoutSeparatorHelper
QWidget *window() { return layout()->parentWidget(); }
public:
+ Q_DISABLE_COPY_MOVE(QMainWindowLayoutSeparatorHelper)
+
+ QMainWindowLayoutSeparatorHelper() = default;
+
QList<int> hoverSeparator;
QPoint hoverPos;
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 6eae6db12a..10a627bb82 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -3603,7 +3603,18 @@ void tst_QTextDocument::mergeFontFamilies()
cursor.setPosition(QByteArray("Hello World").length(), QTextCursor::KeepAnchor);
cursor.mergeCharFormat(newFormat);
- QVERIFY(td.toHtml().contains(QLatin1String("font-family:'Jokerman','MS Shell Dlg 2';")));
+ QVERIFY(td.toHtml().contains(QLatin1String("font-family:'MS Shell Dlg 2','Jokerman';")));
+
+ QTextCharFormat newFormatFamilies;
+ newFormatFamilies.setFontFamilies({ QLatin1String("Arial"), QLatin1String("Helvetica") });
+ cursor.mergeCharFormat(newFormatFamilies);
+
+ QVERIFY(td.toHtml().contains(QLatin1String("font-family:'Arial','Helvetica','Jokerman'")));
+
+ newFormatFamilies.setFontFamilies({ QLatin1String("Arial"), QLatin1String("Jokerman"), QLatin1String("Helvetica") });
+ cursor.mergeCharFormat(newFormatFamilies);
+
+ QVERIFY(td.toHtml().contains(QLatin1String("font-family:'Arial','Jokerman','Helvetica'")));
}
void tst_QTextDocument::clearUndoRedoStacks()