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
"EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL"
"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}
)
@@ -501,6 +501,7 @@ function(add_qtc_plugin target_name)
target_compile_definitions(${target_name}
PRIVATE ${EXPORT_SYMBOL} ${DEFAULT_DEFINES} ${_arg_DEFINES} ${TEST_DEFINES}
PUBLIC ${_arg_PUBLIC_DEFINES}
)
add_qtc_depends(${target_name}
@@ -548,7 +549,7 @@ function(extend_qtc_target target_name)
cmake_parse_arguments(_arg
""
"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}
)
@@ -567,7 +568,10 @@ function(extend_qtc_target target_name)
PRIVATE ${_arg_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})
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
* 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 infinite global search in case of symlink loop (QTCREATORBUG-22662)
### Generic Highlighter
@@ -120,12 +121,22 @@ you can check out from the public Git repository. For example:
## Debugging
* 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)
### CDB
* 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
* 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 choice of build system to `Git Clone` wizard if cloned project supports multiple
build systems (QTCREATORBUG-17828)
* Fixed popping stash after checkout from `Branches` view
## Test Integration
@@ -182,13 +194,14 @@ you can check out from the public Git repository. For example:
in its install step (QTCREATORBUG-21855)
* Added support for opening remote terminal with run environment
* 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
* Added include path detection and output parsers for `IAR`, `KEIL` and `SDCC` toolchains
## Credits for these changes go to:
Aleksei German
Alessandro Ambrosano
Alessandro Portale
@@ -221,6 +234,7 @@ Kavindra Palaraja
Knud Dollereder
Leena Miettinen
Luca Carlon
Marc Mutz
Marco Bubke
Martin Haase
Michael Weghorn
@@ -230,6 +244,7 @@ Oliver Wolff
Orgad Shaneh
Przemyslaw Gorszkowski
Robert Löhning
Thiago Macieira
Thomas Hartmann
Thomas Otto
Tim Henning
@@ -238,4 +253,5 @@ Tobias Hunger
Tor Arne Vestbø
Uladzislau Paulovich
Ulf Hermann
Vikas Pachdha
Ville Nummela

View File

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

View File

@@ -227,7 +227,9 @@ def qdump__QStandardItemData(d, value):
def qdump__QStandardItem(d, value):
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)
else:
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
qtVersion = d.qtVersion()
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.isMsvcTarget():
offset = 176 if is32bit else 248
@@ -1200,7 +1211,8 @@ def qdump__QMetaObject(d, value):
d.putMembersItem(value)
def qdump__QObjectPrivate__ConnectionList(d, value):
if False:
def qdump__QObjectPrivate__ConnectionList(d, value):
d.putNumChild(1)
if d.isExpanded():
i = 0
@@ -1937,7 +1949,8 @@ def qdump__QVector(d, value):
d.putItemCount(size)
d.putPlotData(data, size, value.type[0])
def qdump__QObjectConnectionList(d, value):
if False:
def qdump__QObjectConnectionList(d, value):
dd = d.extractPointer(value)
data, size, alloc = d.vectorDataHelper(dd)
d.check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000)

View File

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

View File

@@ -35,6 +35,18 @@
#include "servernodeinstance.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
class QFileSystemWatcher;
class QQmlView;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -232,6 +232,12 @@ void OutputWindow::wheelEvent(QWheelEvent *e)
if (d->zoomEnabled) {
if (e->modifiers() & Qt::ControlModifier) {
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);
emit wheelZoom();
return;

View File

@@ -526,7 +526,8 @@ QStringList GccToolChain::gccPrepareArguments(const QStringList &flags,
|| flag.startsWith("-B") || flag.startsWith("--target=")
|| (flag.startsWith("-isystem") && flag.length() > 8)) {
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) {
arguments << flag << allFlags.at(i + 1);
++i;

View File

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

View File

@@ -144,6 +144,10 @@ void tst_offsets::offsets()
QCOMPARE(actual, expect);
}
QT_BEGIN_NAMESPACE
extern quintptr Q_CORE_EXPORT qtHookData[];
QT_END_NAMESPACE
void tst_offsets::offsets_data()
{
QTest::addColumn<int>("actual");
@@ -151,8 +155,19 @@ void tst_offsets::offsets_data()
QTest::addColumn<int>("expected64");
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_CC_MSVC
OFFSET_TEST(QFilePrivate, fileName) << 176 << 248;

View File

@@ -106,7 +106,7 @@ def main():
checkIfObjectExists(bldRunQModelIndex, verboseOnFail = True) and
checkIfObjectExists(manualQModelIndex, verboseOnFail = True),
"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):
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Right>")
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Return>")