forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.10'
Change-Id: Id9cab641788f93cda9a81da9f156614b91d87b2a
This commit is contained in:
@@ -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}")
|
||||
|
18
dist/changes-4.10.0.md
vendored
18
dist/changes-4.10.0.md
vendored
@@ -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
|
||||
|
@@ -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):
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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 {
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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 =
|
||||
|
@@ -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;
|
||||
|
@@ -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>")
|
||||
|
Reference in New Issue
Block a user