From 130e05845c0ab33a629f6595f6ca2f7f9963ace6 Mon Sep 17 00:00:00 2001 From: Tapani Mattila Date: Fri, 19 Feb 2021 12:40:07 +0200 Subject: [PATCH 1/4] QmlDesigner: Easen assert on non-fatal double qml node insert Change-Id: I3ca0d0c5427f548e249bdc3af2fd1d8281544ba7 Reviewed-by: Michael Winkelmann Reviewed-by: Thomas Hartmann --- .../qmldesigner/components/formeditor/formeditorscene.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp index 734793987f9..bbc1f283e1f 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp @@ -186,7 +186,7 @@ FormEditorItem *FormEditorScene::addFormEditorItem(const QmlItemNode &qmlItemNod else formEditorItem = new FormEditorItem(qmlItemNode, this); - Q_ASSERT(!m_qmlItemNodeItemHash.contains(qmlItemNode)); + QTC_ASSERT(!m_qmlItemNodeItemHash.contains(qmlItemNode), ;); m_qmlItemNodeItemHash.insert(qmlItemNode, formEditorItem); if (qmlItemNode.isRootNode()) { From 015080878c772c2712ff043a9239ebaaf8bd9971 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 19 Feb 2021 11:07:26 +0100 Subject: [PATCH 2/4] Update changes file for 4.14.1 Change-Id: I1855a07186e0cbbc51ca475bd525818bcb9e1bc0 Reviewed-by: Leena Miettinen --- dist/changes-4.14.1.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dist/changes-4.14.1.md b/dist/changes-4.14.1.md index 4e97b0858c7..b019dd205fb 100644 --- a/dist/changes-4.14.1.md +++ b/dist/changes-4.14.1.md @@ -50,6 +50,11 @@ Projects * Fixed crash in environment settings (QTCREATORBUG-25170) +### CMake + +* Fixed that CMake version support was not re-checked when changing its path in + settings (QTCREATORBUG-25250) + ### qmake * Fixed unnecessary `qmake` run if `separate_debug_info` is force-disabled @@ -57,6 +62,10 @@ Projects * Fixed wrong messages in `Issues` pane from cumulative parsing (QTCREATORBUG-25201) +### Meson + +* Fixed crash when switching build type + Debugging --------- @@ -86,13 +95,16 @@ Platforms Credits for these changes go to: -------------------------------- Alessandro Portale +Alexis Jeandet Andre Hartmann André Pönitz Björn Schäpers +Christiaan Janssen Christian Kandeler Christian Stenger Cristian Adam David Schulz +Denis Shienkov Eike Ziller Henning Gruendl Ivan Komissarov @@ -105,6 +117,7 @@ Lukasz Ornatek Mahmoud Badri Marco Bubke Michael Winkelmann +Miikka Heikkinen Orgad Shaneh Thomas Hartmann Tim Jenssen From 2f67d75ca411ab5d4c95dde59e2f0d77a1f80e41 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 12 Feb 2021 12:50:23 +0100 Subject: [PATCH 3/4] Debugger: Avoid looking up function signatures Looking up function signatures ends up in massive stderr output which blocks the debugger for ages, so omit them as long we are not sure where they originate. Task-number: QTCREATORBUG-25185 Task-number: QTCREATORBUG-25217 Change-Id: I9b022d2194a6cb61651ee0648be526fc94a02da9 Reviewed-by: hjk --- share/qtcreator/debugger/lldbbridge.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 9b921f69060..d68c6928bf6 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -787,6 +787,8 @@ class Dumper(DumperBase): def removeTypePrefix(self, name): return re.sub('^(struct|class|union|enum|typedef) ', '', name) + __funcSignature_Regex__ = re.compile(r'^.+\(.*\)') + def lookupNativeType(self, name): #DumperBase.warn('LOOKUP TYPE NAME: %s' % name) typeobj = self.typeCache.get(name) @@ -807,6 +809,9 @@ class Dumper(DumperBase): # Note that specifying a prefix like enum or typedef or class will make the call fail to # find the type, thus the prefix is stripped. nonPrefixedName = self.canonicalTypeName(self.removeTypePrefix(name)) + if __funcSignature_Regex__.match(nonPrefixedName) is not None: + return lldb.SBType() + typeobjlist = self.target.FindTypes(nonPrefixedName) if typeobjlist.IsValid(): for typeobj in typeobjlist: From 7cb81fb5baafa5ebd4c0fcd7bb6856c32c6205f6 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 19 Feb 2021 17:35:32 +0100 Subject: [PATCH 4/4] CMake build: Add .pri files to development package This adds at least partial, transitional support for building 3rdparty plugins with qmake against Qt Creator built with CMake. This might still miss some other .pri files that follow their own naming conventions. Fixes: QTCREATORBUG-24055 Fixes: QTCREATORBUG-25334 Change-Id: I83cc547da938976c2ec12a21a17f286b937147f7 Reviewed-by: Cristian Adam --- CMakeLists.txt | 19 +++++++++++++++++++ cmake/QtCreatorAPI.cmake | 14 ++++++++++++++ .../syntax-highlighting/CMakeLists.txt | 3 +++ src/libs/ssh/CMakeLists.txt | 2 ++ src/plugins/coreplugin/CMakeLists.txt | 3 +++ 5 files changed, 41 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index dc4b66829ae..bb9e4abe05b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,6 +138,25 @@ else() ) endif() +# install qmake support files +install( + FILES + qtcreator.pri + qtcreatordata.pri + qtcreator_ide_branding.pri + DESTINATION include + COMPONENT Devel EXCLUDE_FROM_ALL +) +install( + FILES + src/qtcreatorlibrary.pri + src/qtcreatorplugin.pri + src/qtcreatortool.pri + src/rpath.pri + DESTINATION include/src + COMPONENT Devel EXCLUDE_FROM_ALL +) + feature_summary(INCLUDE_QUIET_PACKAGES WHAT PACKAGES_FOUND PACKAGES_NOT_FOUND ENABLED_FEATURES DISABLED_FEATURES diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index f03fd429782..fc9d90d27d9 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -136,7 +136,14 @@ function(add_qtc_library name) add_library(${name} ${library_type} ${_arg_SOURCES}) add_library(QtCreator::${name} ALIAS ${name}) + set_public_headers(${name} "${_arg_SOURCES}") + # transitional qmake plugin build support + string(TOLOWER "${name}" lowername) + set(dependencies_pri "${CMAKE_CURRENT_SOURCE_DIR}/${lowername}_dependencies.pri") + if(EXISTS ${dependencies_pri}) + qtc_add_public_header(${dependencies_pri}) + endif() # TODO remove, see above if (_arg_SOURCES_PREFIX) @@ -387,7 +394,14 @@ function(add_qtc_plugin target_name) add_library(${target_name} SHARED ${_arg_SOURCES}) add_library(QtCreator::${target_name} ALIAS ${target_name}) + set_public_headers(${target_name} "${_arg_SOURCES}") + # transitional qmake plugin build support + string(TOLOWER "${target_name}" lowername) + set(dependencies_pri "${CMAKE_CURRENT_SOURCE_DIR}/${lowername}_dependencies.pri") + if(EXISTS ${dependencies_pri}) + qtc_add_public_header(${dependencies_pri}) + endif() ### Generate EXPORT_SYMBOL string(TOUPPER "${name}_LIBRARY" EXPORT_SYMBOL) diff --git a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt index 8aadf8525f3..8dc268071a8 100644 --- a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt @@ -43,6 +43,9 @@ add_qtc_library(KSyntaxHighlighting SHARED src/lib/xml_p.h ) qtc_add_public_header(autogenerated/src/lib/State) +# transitional qmake plugin build support +qtc_add_public_header(${CMAKE_CURRENT_SOURCE_DIR}/../../../shared/syntax/syntax_shared.pri) +qtc_add_public_header(syntax-highlighting_dependencies.pri) if(TARGET KSyntaxHighlighting) install( diff --git a/src/libs/ssh/CMakeLists.txt b/src/libs/ssh/CMakeLists.txt index 6f5d1cb7642..813832c3c1e 100644 --- a/src/libs/ssh/CMakeLists.txt +++ b/src/libs/ssh/CMakeLists.txt @@ -20,3 +20,5 @@ add_qtc_library(QtcSsh sshremoteprocessrunner.cpp sshremoteprocessrunner.h sshsettings.cpp sshsettings.h ) +# transitional qmake plugin build support +qtc_add_public_header(ssh_dependencies.pri) diff --git a/src/plugins/coreplugin/CMakeLists.txt b/src/plugins/coreplugin/CMakeLists.txt index 6705478bfbc..5b9de5c4a02 100644 --- a/src/plugins/coreplugin/CMakeLists.txt +++ b/src/plugins/coreplugin/CMakeLists.txt @@ -201,3 +201,6 @@ if ((NOT WIN32) AND (NOT APPLE)) ) endforeach() endif() + +# transitional qmake plugin build support +qtc_add_public_header(coreplugin_dependencies.pri)