Merge remote-tracking branch 'origin/4.10'

Change-Id: Id9cab641788f93cda9a81da9f156614b91d87b2a
This commit is contained in:
Eike Ziller
2019-08-01 11:58:56 +02:00
16 changed files with 97 additions and 29 deletions

View File

@@ -364,7 +364,7 @@ function(add_qtc_plugin target_name)
cmake_parse_arguments(_arg cmake_parse_arguments(_arg
"EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL" "EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL"
"VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME" "VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME"
"CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;INCLUDES;PUBLIC_INCLUDES;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;SOURCES;EXPLICIT_MOC" "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;SOURCES;EXPLICIT_MOC"
${ARGN} ${ARGN}
) )
@@ -501,6 +501,7 @@ function(add_qtc_plugin target_name)
target_compile_definitions(${target_name} target_compile_definitions(${target_name}
PRIVATE ${EXPORT_SYMBOL} ${DEFAULT_DEFINES} ${_arg_DEFINES} ${TEST_DEFINES} PRIVATE ${EXPORT_SYMBOL} ${DEFAULT_DEFINES} ${_arg_DEFINES} ${TEST_DEFINES}
PUBLIC ${_arg_PUBLIC_DEFINES}
) )
add_qtc_depends(${target_name} add_qtc_depends(${target_name}
@@ -548,7 +549,7 @@ function(extend_qtc_target target_name)
cmake_parse_arguments(_arg cmake_parse_arguments(_arg
"" ""
"SOURCES_PREFIX" "SOURCES_PREFIX"
"CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC" "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC"
${ARGN} ${ARGN}
) )
@@ -567,7 +568,10 @@ function(extend_qtc_target target_name)
PRIVATE ${_arg_DEPENDS} PRIVATE ${_arg_DEPENDS}
PUBLIC ${_arg_PUBLIC_DEPENDS} PUBLIC ${_arg_PUBLIC_DEPENDS}
) )
target_compile_definitions(${target_name} PRIVATE ${_arg_DEFINES}) target_compile_definitions(${target_name}
PRIVATE ${_arg_DEFINES}
PUBLIC ${_arg_PUBLIC_DEFINES}
)
target_include_directories(${target_name} PRIVATE ${_arg_INCLUDES}) target_include_directories(${target_name} PRIVATE ${_arg_INCLUDES})
set_public_includes(${target_name} "${_arg_PUBLIC_INCLUDES}") set_public_includes(${target_name} "${_arg_PUBLIC_INCLUDES}")

View File

@@ -14,6 +14,7 @@ you can check out from the public Git repository. For example:
* Removed support for KDE code paster after removal of official API * Removed support for KDE code paster after removal of official API
* Added option for pinning files so they stay open when closing all files (QTCREATORBUG-21899) * Added option for pinning files so they stay open when closing all files (QTCREATORBUG-21899)
* Fixed low contrast of hovered folding markers (QTCREATORBUG-21702) * Fixed low contrast of hovered folding markers (QTCREATORBUG-21702)
* Fixed infinite global search in case of symlink loop (QTCREATORBUG-22662)
### Generic Highlighter ### Generic Highlighter
@@ -120,12 +121,22 @@ you can check out from the public Git repository. For example:
## Debugging ## Debugging
* Added pretty printer for `QMargin` * Added pretty printer for `QMargin`
* Fixed pretty printer for `std::vector` and `std::basic_string` with custom allocator
* Fixed pretty printer for `std::map<K,V>::iterator`
* Fixed issues with restoring layout (QTCREATORBUG-21669) * Fixed issues with restoring layout (QTCREATORBUG-21669)
### CDB ### CDB
* Fixed loading of custom debugging helpers (QTCREATORBUG-20481) * Fixed loading of custom debugging helpers (QTCREATORBUG-20481)
## Clang Analyzer Tools
* Fixed display of diagnostic for files outside of project directory (QTCREATORBUG-22213)
## QML Profiler
* Improved behavior in case of slow connections (QTCREATORBUG-22641)
## Perf Profiler ## Perf Profiler
* Changed format of saved traces * Changed format of saved traces
@@ -151,6 +162,7 @@ you can check out from the public Git repository. For example:
* Added support for different reset types in `Branches` view * Added support for different reset types in `Branches` view
* Added choice of build system to `Git Clone` wizard if cloned project supports multiple * Added choice of build system to `Git Clone` wizard if cloned project supports multiple
build systems (QTCREATORBUG-17828) build systems (QTCREATORBUG-17828)
* Fixed popping stash after checkout from `Branches` view
## Test Integration ## Test Integration
@@ -182,13 +194,14 @@ you can check out from the public Git repository. For example:
in its install step (QTCREATORBUG-21855) in its install step (QTCREATORBUG-21855)
* Added support for opening remote terminal with run environment * Added support for opening remote terminal with run environment
* Added option for `rsync` flags for deployment (QTCREATORBUG-22352) * Added option for `rsync` flags for deployment (QTCREATORBUG-22352)
* Fixed deployment of files with `executable` `CONFIG` value (QTCREATORBUG-22663)
* Fixed `Unexpected stat output for remote file` (QTCREATORBUG-22603)
### Bare Metal ### Bare Metal
* Added include path detection and output parsers for `IAR`, `KEIL` and `SDCC` toolchains * Added include path detection and output parsers for `IAR`, `KEIL` and `SDCC` toolchains
## Credits for these changes go to: ## Credits for these changes go to:
Aleksei German Aleksei German
Alessandro Ambrosano Alessandro Ambrosano
Alessandro Portale Alessandro Portale
@@ -221,6 +234,7 @@ Kavindra Palaraja
Knud Dollereder Knud Dollereder
Leena Miettinen Leena Miettinen
Luca Carlon Luca Carlon
Marc Mutz
Marco Bubke Marco Bubke
Martin Haase Martin Haase
Michael Weghorn Michael Weghorn
@@ -230,6 +244,7 @@ Oliver Wolff
Orgad Shaneh Orgad Shaneh
Przemyslaw Gorszkowski Przemyslaw Gorszkowski
Robert Löhning Robert Löhning
Thiago Macieira
Thomas Hartmann Thomas Hartmann
Thomas Otto Thomas Otto
Tim Henning Tim Henning
@@ -238,4 +253,5 @@ Tobias Hunger
Tor Arne Vestbø Tor Arne Vestbø
Uladzislau Paulovich Uladzislau Paulovich
Ulf Hermann Ulf Hermann
Vikas Pachdha
Ville Nummela Ville Nummela

View File

@@ -1994,14 +1994,16 @@ class DumperBase:
with Children(self): with Children(self):
self.putQObjectGutsHelper(0, 0, -1, metaObjectPtr, 'QMetaObject') self.putQObjectGutsHelper(0, 0, -1, metaObjectPtr, 'QMetaObject')
with SubItem(self, '[connections]'): if False:
with SubItem(self, '[connections]'):
if connectionListsPtr: if connectionListsPtr:
typeName = '@QObjectConnectionListVector' typeName = '@QObjectConnectionListVector'
self.putItem(self.createValue(connectionListsPtr, typeName)) self.putItem(self.createValue(connectionListsPtr, typeName))
else: else:
self.putItemCount(0) self.putItemCount(0)
with SubItem(self, '[signals]'): if False:
with SubItem(self, '[signals]'):
self.putItemCount(signalCount) self.putItemCount(signalCount)
if self.isExpanded(): if self.isExpanded():
with Children(self): with Children(self):

View File

@@ -227,7 +227,9 @@ def qdump__QStandardItemData(d, value):
def qdump__QStandardItem(d, value): def qdump__QStandardItem(d, value):
vtable, dptr = value.split('pp') vtable, dptr = value.split('pp')
if d.isMsvcTarget(): # There used to be a virtual destructor that got removed in
# 88b6abcebf29b455438 on Apr 18 17:01:22 2017
if d.qtVersion() >= 0x050900 or d.isMsvcTarget():
model, parent, values, children, rows, cols, item = d.split('ppPPIIp', dptr) model, parent, values, children, rows, cols, item = d.split('ppPPIIp', dptr)
else: else:
vtable1, model, parent, values, children, rows, cols, item = d.split('pppPPIIp', dptr) vtable1, model, parent, values, children, rows, cols, item = d.split('pppPPIIp', dptr)
@@ -603,7 +605,16 @@ def qdump__QFile(d, value):
# 9fc0965 and a373ffcd change the layout of the private structure # 9fc0965 and a373ffcd change the layout of the private structure
qtVersion = d.qtVersion() qtVersion = d.qtVersion()
is32bit = d.ptrSize() == 4 is32bit = d.ptrSize() == 4
if qtVersion >= 0x050700: if qtVersion >= 0x050600 and d.qtTypeInfoVersion() >= 17:
# Some QRingBuffer member got removed in 8f92baf5c9
if d.isWindowsTarget():
if d.isMsvcTarget():
offset = 164 if is32bit else 224
else:
offset = 160 if is32bit else 224
else:
offset = 156 if is32bit else 224
elif qtVersion >= 0x050700:
if d.isWindowsTarget(): if d.isWindowsTarget():
if d.isMsvcTarget(): if d.isMsvcTarget():
offset = 176 if is32bit else 248 offset = 176 if is32bit else 248
@@ -1200,7 +1211,8 @@ def qdump__QMetaObject(d, value):
d.putMembersItem(value) d.putMembersItem(value)
def qdump__QObjectPrivate__ConnectionList(d, value): if False:
def qdump__QObjectPrivate__ConnectionList(d, value):
d.putNumChild(1) d.putNumChild(1)
if d.isExpanded(): if d.isExpanded():
i = 0 i = 0
@@ -1937,7 +1949,8 @@ def qdump__QVector(d, value):
d.putItemCount(size) d.putItemCount(size)
d.putPlotData(data, size, value.type[0]) d.putPlotData(data, size, value.type[0])
def qdump__QObjectConnectionList(d, value): if False:
def qdump__QObjectConnectionList(d, value):
dd = d.extractPointer(value) dd = d.extractPointer(value)
data, size, alloc = d.vectorDataHelper(dd) data, size, alloc = d.vectorDataHelper(dd)
d.check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000) d.check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000)

View File

@@ -67,8 +67,6 @@
#include <tokencommand.h> #include <tokencommand.h>
#include <removesharedmemorycommand.h> #include <removesharedmemorycommand.h>
#include <utils/algorithm.h>
#include <QDebug> #include <QDebug>
#include <QQmlEngine> #include <QQmlEngine>
#include <QQmlApplicationEngine> #include <QQmlApplicationEngine>
@@ -460,7 +458,7 @@ void NodeInstanceServer::setupImports(const QVector<AddImportContainer> &contain
delete m_importComponent.data(); delete m_importComponent.data();
delete m_importComponentObject.data(); delete m_importComponentObject.data();
const QStringList importStatementList = Utils::toList(importStatementSet); const QStringList importStatementList = QtHelpers::toList(importStatementSet);
const QStringList fullImportStatementList(QStringList(qtQuickImport) + importStatementList); const QStringList fullImportStatementList(QStringList(qtQuickImport) + importStatementList);
// check possible import statements combinations // check possible import statements combinations

View File

@@ -35,6 +35,18 @@
#include "servernodeinstance.h" #include "servernodeinstance.h"
#include "debugoutputcommand.h" #include "debugoutputcommand.h"
namespace QtHelpers {
template <class T>
QList<T>toList(const QSet<T> &set)
{
#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
return set.toList();
#else
return QList<T>(set.begin(), set.end());
#endif
}
} //QtHelpers
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QFileSystemWatcher; class QFileSystemWatcher;
class QQmlView; class QQmlView;

View File

@@ -60,8 +60,6 @@
#include <designersupportdelegate.h> #include <designersupportdelegate.h>
#include <utils/algorithm.h>
namespace QmlDesigner { namespace QmlDesigner {
Qt5InformationNodeInstanceServer::Qt5InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) : Qt5InformationNodeInstanceServer::Qt5InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
@@ -169,13 +167,13 @@ void Qt5InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
if (!informationChangedInstanceSet.isEmpty()) if (!informationChangedInstanceSet.isEmpty())
nodeInstanceClient()->informationChanged( nodeInstanceClient()->informationChanged(
createAllInformationChangedCommand(Utils::toList(informationChangedInstanceSet))); createAllInformationChangedCommand(QtHelpers::toList(informationChangedInstanceSet)));
if (!propertyChangedList.isEmpty()) if (!propertyChangedList.isEmpty())
nodeInstanceClient()->valuesChanged(createValuesChangedCommand(propertyChangedList)); nodeInstanceClient()->valuesChanged(createValuesChangedCommand(propertyChangedList));
if (!m_parentChangedSet.isEmpty()) { if (!m_parentChangedSet.isEmpty()) {
sendChildrenChangedCommand(Utils::toList(m_parentChangedSet)); sendChildrenChangedCommand(QtHelpers::toList(m_parentChangedSet));
m_parentChangedSet.clear(); m_parentChangedSet.clear();
} }

View File

@@ -60,8 +60,6 @@
#include <designersupportdelegate.h> #include <designersupportdelegate.h>
#include <utils/algorithm.h>
namespace QmlDesigner { namespace QmlDesigner {
Qt5RenderNodeInstanceServer::Qt5RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) : Qt5RenderNodeInstanceServer::Qt5RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
@@ -96,7 +94,7 @@ void Qt5RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
clearChangedPropertyList(); clearChangedPropertyList();
if (!m_dirtyInstanceSet.isEmpty()) { if (!m_dirtyInstanceSet.isEmpty()) {
nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(Utils::toList(m_dirtyInstanceSet))); nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(QtHelpers::toList(m_dirtyInstanceSet)));
m_dirtyInstanceSet.clear(); m_dirtyInstanceSet.clear();
} }

View File

@@ -62,8 +62,6 @@
#include <designersupportdelegate.h> #include <designersupportdelegate.h>
#include <utils/algorithm.h>
namespace QmlDesigner { namespace QmlDesigner {
Qt5TestNodeInstanceServer::Qt5TestNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) Qt5TestNodeInstanceServer::Qt5TestNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient)
@@ -291,7 +289,7 @@ void QmlDesigner::Qt5TestNodeInstanceServer::collectItemChangesAndSendChangeComm
if (!informationChangedInstanceSet.isEmpty()) { if (!informationChangedInstanceSet.isEmpty()) {
InformationChangedCommand command InformationChangedCommand command
= createAllInformationChangedCommand(Utils::toList(informationChangedInstanceSet)); = createAllInformationChangedCommand(QtHelpers::toList(informationChangedInstanceSet));
command.sort(); command.sort();
nodeInstanceClient()->informationChanged(command); nodeInstanceClient()->informationChanged(command);
} }
@@ -302,7 +300,7 @@ void QmlDesigner::Qt5TestNodeInstanceServer::collectItemChangesAndSendChangeComm
} }
if (!parentChangedSet.isEmpty()) if (!parentChangedSet.isEmpty())
sendChildrenChangedCommand(Utils::toList(parentChangedSet)); sendChildrenChangedCommand(QtHelpers::toList(parentChangedSet));
} }
} }

View File

@@ -53,6 +53,7 @@ Section {
maximumValue: 0xffff maximumValue: 0xffff
minimumValue: -0xffff minimumValue: -0xffff
decimals: 0 decimals: 0
realDragRange: 5000
} }
Item { Item {
@@ -70,6 +71,7 @@ Section {
maximumValue: 0xffff maximumValue: 0xffff
minimumValue: -0xffff minimumValue: -0xffff
decimals: 0 decimals: 0
realDragRange: 5000
} }
ExpandingSpacer { ExpandingSpacer {
@@ -92,6 +94,7 @@ Section {
maximumValue: 0xffff maximumValue: 0xffff
minimumValue: 0 minimumValue: 0
decimals: 0 decimals: 0
realDragRange: 5000
} }
Item { Item {
@@ -109,6 +112,7 @@ Section {
maximumValue: 0xffff maximumValue: 0xffff
minimumValue: 0 minimumValue: 0
decimals: 0 decimals: 0
realDragRange: 5000
} }
ExpandingSpacer { ExpandingSpacer {

View File

@@ -41,6 +41,8 @@ Item {
property alias backendValue: spinBox.backendValue property alias backendValue: spinBox.backendValue
property alias sliderIndicatorVisible: spinBox.sliderIndicatorVisible property alias sliderIndicatorVisible: spinBox.sliderIndicatorVisible
property alias realDragRange: spinBox.realDragRange
width: 96 width: 96
implicitHeight: spinBox.height implicitHeight: spinBox.height

View File

@@ -232,6 +232,12 @@ void OutputWindow::wheelEvent(QWheelEvent *e)
if (d->zoomEnabled) { if (d->zoomEnabled) {
if (e->modifiers() & Qt::ControlModifier) { if (e->modifiers() & Qt::ControlModifier) {
float delta = e->angleDelta().y() / 120.f; float delta = e->angleDelta().y() / 120.f;
// Workaround for QTCREATORBUG-22721, remove when properly fixed in Qt
const float newSize = float(font().pointSizeF()) + delta;
if (delta < 0.f && newSize < 4.f)
return;
zoomInF(delta); zoomInF(delta);
emit wheelZoom(); emit wheelZoom();
return; return;

View File

@@ -526,7 +526,8 @@ QStringList GccToolChain::gccPrepareArguments(const QStringList &flags,
|| flag.startsWith("-B") || flag.startsWith("--target=") || flag.startsWith("-B") || flag.startsWith("--target=")
|| (flag.startsWith("-isystem") && flag.length() > 8)) { || (flag.startsWith("-isystem") && flag.length() > 8)) {
arguments << flag; arguments << flag;
} else if ((flag == "-target" || flag == "-gcc-toolchain" || flag == "-isystem") } else if ((flag == "-target" || flag == "-gcc-toolchain" || flag == "-isystem"
|| flag == "-arch")
&& i < flags.size() - 1) { && i < flags.size() - 1) {
arguments << flag << allFlags.at(i + 1); arguments << flag << allFlags.at(i + 1);
++i; ++i;

View File

@@ -2837,8 +2837,9 @@ void tst_Dumpers::dumper_data()
+ Check("ob", "\"An Object\"", "@QWidget") + Check("ob", "\"An Object\"", "@QWidget")
+ Check("ob1", "\"Another Object\"", "@QObject") + Check("ob1", "\"Another Object\"", "@QObject")
+ Check("ob2", "\"A Subobject\"", "@QObject") + Check("ob2", "\"A Subobject\"", "@QObject")
+ Check("ob.[extra].[connections].@1.0.0.receiver", "\"Another Object\"", //+ Check("ob.[extra].[connections].@1.0.0.receiver", "\"Another Object\"",
"@QObject") % NoCdbEngine % QtVersion(0x50b00); // "@QObject") % NoCdbEngine % QtVersion(0x50b00)
;
QString senderData = QString senderData =

View File

@@ -144,6 +144,10 @@ void tst_offsets::offsets()
QCOMPARE(actual, expect); QCOMPARE(actual, expect);
} }
QT_BEGIN_NAMESPACE
extern quintptr Q_CORE_EXPORT qtHookData[];
QT_END_NAMESPACE
void tst_offsets::offsets_data() void tst_offsets::offsets_data()
{ {
QTest::addColumn<int>("actual"); QTest::addColumn<int>("actual");
@@ -151,8 +155,19 @@ void tst_offsets::offsets_data()
QTest::addColumn<int>("expected64"); QTest::addColumn<int>("expected64");
const int qtVersion = QT_VERSION; const int qtVersion = QT_VERSION;
const quintptr qtTypeVersion = qtHookData[6];
if (qtVersion >= 0x50700) if (qtVersion > 0x50600 && qtTypeVersion >= 17)
#ifdef Q_OS_WIN
# ifdef Q_CC_MSVC
OFFSET_TEST(QFilePrivate, fileName) << 164 << 224;
# else // MinGW
OFFSET_TEST(QFilePrivate, fileName) << 160 << 224;
# endif
#else
OFFSET_TEST(QFilePrivate, fileName) << 156 << 224;
#endif
else if (qtVersion >= 0x50700)
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
# ifdef Q_CC_MSVC # ifdef Q_CC_MSVC
OFFSET_TEST(QFilePrivate, fileName) << 176 << 248; OFFSET_TEST(QFilePrivate, fileName) << 176 << 248;

View File

@@ -106,7 +106,7 @@ def main():
checkIfObjectExists(bldRunQModelIndex, verboseOnFail = True) and checkIfObjectExists(bldRunQModelIndex, verboseOnFail = True) and
checkIfObjectExists(manualQModelIndex, verboseOnFail = True), checkIfObjectExists(manualQModelIndex, verboseOnFail = True),
"Verifying if all folders and bookmarks are present") "Verifying if all folders and bookmarks are present")
mouseClick(waitForObject(":Qt Creator_Bookmarks_TreeView")) mouseClick(waitForObject(":Qt Creator_Bookmarks_TreeView"), 5, 5, 0, Qt.LeftButton)
for _ in range(6): for _ in range(6):
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Right>") type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Right>")
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Return>") type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Return>")