From 218b19fe140a450eb036a720362145898583d6ca Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 9 Dec 2022 15:19:59 +0100 Subject: [PATCH 1/8] SshProcessInterface: Limit waiting for kill to finish This is just a workaround for 9.0 and not a proper fix! It looks like sometimes kill command may freeze. Don't blocking wait for it for 30 seconds - limit this time to 2 seconds. Do the same inside SimpleTargetRunner. Pretend the process finished after 2 seconds, otherwise the SimpleTargetRunner object gets leaked and we start receiving asserts from ProcessLauncher about destructing it when still some processes are being run. Task-number: QTCREATORBUG-28072 Change-Id: I9766e7ff6f0c2abf2010686027702d30d32c4318 Reviewed-by: Eike Ziller Reviewed-by: Qt CI Bot Reviewed-by: hjk --- src/plugins/projectexplorer/runcontrol.cpp | 6 +++++- src/plugins/remotelinux/linuxdevice.cpp | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index 0f24f238909..162ce90b45a 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1320,7 +1320,11 @@ void SimpleTargetRunnerPrivate::stop() switch (m_state) { case Run: m_process.stop(); - m_process.waitForFinished(); + if (!m_process.waitForFinished(2000)) { // TODO: it may freeze on some devices + QTC_CHECK(false); // Shouldn't happen, just emergency handling + m_process.close(); + forwardDone(); + } break; case Inactive: break; diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index 84e0547acb0..9c8a884cc5d 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -492,8 +492,10 @@ bool SshProcessInterface::runInShell(const CommandLine &command, const QByteArra process.setCommand(cmd); process.setWriteData(data); process.start(); - QTC_CHECK(process.waitForFinished()); // otherwise we may start producing killers for killers - return process.exitCode() == 0; + bool isFinished = process.waitForFinished(2000); // TODO: it may freeze on some devices + // otherwise we may start producing killers for killers + QTC_CHECK(isFinished); + return isFinished; } void SshProcessInterface::start() From 8addb599a91f62036d040ac30368e65915c6077c Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Mon, 12 Dec 2022 13:44:46 +0100 Subject: [PATCH 2/8] ProjectExplorer: Fix Add button alignment on Compilers tab Fixes: QTCREATORBUG-28367 Change-Id: I468729fc2fd46f7f55081a696ff9d8913f5823d0 Reviewed-by: Eike Ziller --- src/plugins/projectexplorer/toolchainoptionspage.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp index 9f8548aedb0..273f86e59f6 100644 --- a/src/plugins/projectexplorer/toolchainoptionspage.cpp +++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp @@ -192,6 +192,8 @@ public: } } m_addButton->setMenu(addMenu); + if (HostOsInfo::isMacHost()) + m_addButton->setStyleSheet("text-align:center;"); m_cloneButton = new QPushButton(ToolChainOptionsPage::tr("Clone"), this); connect(m_cloneButton, &QAbstractButton::clicked, [this] { cloneToolChain(); }); From 168ff2c68c1aedd814dc3769b1b79cbe3ec6f86d Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 12 Dec 2022 09:52:28 +0100 Subject: [PATCH 3/8] CppTypeHierarchy: Fix showing type hierarchy Don't repeat the main symbol as its child inside derived hierarchy. The regression was introduced when addDerivedHierarchy() was added. Amends e2155a91df81e812c4f086d4558ead70c0ed2551 Change-Id: I34cd19be4307d355ea84fbdb64a06d0d3505e8a9 Reviewed-by: Reviewed-by: Christian Kandeler --- src/plugins/cppeditor/cppelementevaluator.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/cppeditor/cppelementevaluator.cpp b/src/plugins/cppeditor/cppelementevaluator.cpp index 56677c7b29f..98c31606e5f 100644 --- a/src/plugins/cppeditor/cppelementevaluator.cpp +++ b/src/plugins/cppeditor/cppelementevaluator.cpp @@ -183,11 +183,12 @@ void CppClass::lookupDerived(QFutureInterfaceBase &futureInterface, void CppClass::addDerivedHierarchy(const TypeHierarchy &hierarchy) { - CppClass classSymbol(hierarchy.symbol()); const QList derivedHierarchies = hierarchy.hierarchy(); - for (const TypeHierarchy &derivedHierarchy : derivedHierarchies) + for (const TypeHierarchy &derivedHierarchy : derivedHierarchies) { + CppClass classSymbol(derivedHierarchy.symbol()); classSymbol.addDerivedHierarchy(derivedHierarchy); - derived.append(classSymbol); + derived.append(classSymbol); + } } class CppFunction : public CppDeclarableElement From c8aca8a3abe33dd4e39e1a371b337b76866b91ad Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 9 Dec 2022 14:59:23 +0100 Subject: [PATCH 4/8] Beautifier/ClangFormat: Fix style check box states Broke when inlining the .ui file. Because the two checkboxes no longer have the same direct parent, "autoExclusive" does not work, and it needs an explicit button group. Amends 4933697d9a5b38299340e265d2f4e6c78dd1604a Fixes: QTCREATORBUG-28525 Change-Id: Ia6af5f6083975faa5a65cdc9dd0bd2b671af147b Reviewed-by: Reviewed-by: hjk --- .../beautifier/clangformat/clangformatoptionspage.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp b/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp index d6244eb466d..1e6a9f5c14a 100644 --- a/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp +++ b/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -47,8 +48,10 @@ ClangFormatOptionsPageWidget::ClangFormatOptionsPageWidget(ClangFormatSettings * auto options = new QGroupBox(tr("Options")); options->setEnabled(false); + auto styleButtonGroup = new QButtonGroup(this); + auto useCustomizedStyle = new QRadioButton(tr("Use customized style:")); - useCustomizedStyle->setAutoExclusive(true); + styleButtonGroup->addButton(useCustomizedStyle); m_configurations = new ConfigurationPanel; m_configurations->setSettings(m_settings); @@ -57,7 +60,7 @@ ClangFormatOptionsPageWidget::ClangFormatOptionsPageWidget(ClangFormatSettings * m_usePredefinedStyle = new QRadioButton(tr("Use predefined style:")); m_usePredefinedStyle->setChecked(true); - m_usePredefinedStyle->setAutoExclusive(true); + styleButtonGroup->addButton(m_usePredefinedStyle); m_predefinedStyle = new QComboBox; m_predefinedStyle->addItems(m_settings->predefinedStyles()); From 938231cf0d94f6ff3e3e5ad86ef1f962969d38ce Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 13 Dec 2022 10:40:52 +0100 Subject: [PATCH 5/8] More change log for 9.0.1 Change-Id: I2bf9cc9f0cb47b3bdda05a9905e563f70ff6d75e Reviewed-by: Leena Miettinen --- dist/changelog/changes-9.0.1.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dist/changelog/changes-9.0.1.md b/dist/changelog/changes-9.0.1.md index 09feba57648..9436a7cead9 100644 --- a/dist/changelog/changes-9.0.1.md +++ b/dist/changelog/changes-9.0.1.md @@ -29,6 +29,8 @@ Editing * Fixed crash after closing settings when opened from indexing progress (QTCREATORBUG-28566) * Fixed crash when opening type hierarchy (QTCREATORBUG-28529) +* Fixed code style settings being saved even when canceling +* Fixed checkbox state in Beautifier settings (QTCREATORBUG-28525) Projects -------- From 75177f4c342220e0c0dbb3f73a261d8e1fac12a6 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 15 Nov 2022 09:49:39 +0100 Subject: [PATCH 6/8] SquishTests: Expect some more error message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I33f359673e6d23f0188072db891db08dafa72ace Reviewed-by: Robert Löhning --- tests/system/suite_editors/tst_memberoperator/test.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/system/suite_editors/tst_memberoperator/test.py b/tests/system/suite_editors/tst_memberoperator/test.py index 18d5547f324..2e9980bf2b4 100644 --- a/tests/system/suite_editors/tst_memberoperator/test.py +++ b/tests/system/suite_editors/tst_memberoperator/test.py @@ -31,6 +31,8 @@ def __syntaxErrorDetected__(): "Expected ';' at end of declaration (fix available)", "Use of undeclared identifier 'syntaxError'"]: return True + if re.match(issue[3], "Declaration of reference variable '.+' requires an initializer"): + return True return False From e0b1f694e35d24ff4cc2741f1df0e7158790b3c3 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 13 Dec 2022 11:57:05 +0100 Subject: [PATCH 7/8] Editor: Fix deleting with numblock delete in multi text cursor Fixes: QTCREATORBUG-28584 Change-Id: Ib65a933b61536d9a6342e82c51779c2a91983ec8 Reviewed-by: Christian Stenger --- src/plugins/texteditor/texteditor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 303c5884667..285a13a588a 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -2695,7 +2695,8 @@ void TextEditorWidget::keyPressEvent(QKeyEvent *e) } break; case Qt::Key_Delete: - if (hasMultipleCursors && !ro && e->modifiers() == Qt::NoModifier) { + if (hasMultipleCursors && !ro + && (e->modifiers() == Qt::NoModifier || e->modifiers() == Qt::KeypadModifier)) { if (cursor.hasSelection()) { cursor.removeSelectedText(); } else { From 5cb1a29af25d9323668df4d383ae57ba93fb5354 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 12 Dec 2022 11:39:39 +0100 Subject: [PATCH 8/8] German translation: Some cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make some things more consistent: - Systemumgebung löschen -> bereinigen - Mitglied -> Member - gegenwärtig -> aktuell (or gerade) - Alles auf/einklappen -> Alle auf/einklappen - Tool-Tip -> Tooltip - some spezifisch -> abhängig - fix "_Run_ Without Deployment" to be a verb - make translation for "No updates found" shorter, because it appears in the status bar Change-Id: Ieb7b56f03883eb5c18d7de79e997b24a17c56001 Reviewed-by: Robert Löhning Reviewed-by: --- share/qtcreator/translations/qtcreator_de.ts | 60 ++++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 790c66800c7..eeb1f1091f4 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -212,7 +212,7 @@ Clear system environment - Systemumgebung löschen + Systemumgebung bereinigen Help @@ -2700,11 +2700,11 @@ Trotzdem fortfahren? Sort Members of Classes and Structs Alphabetically - Mitglieder von Klassen und Strukturen alphabetisch sortieren + Member von Klassen und Strukturen alphabetisch sortieren Sort members of classes and structs alphabetically - Mitglieder von Klassen und Strukturen alphabetisch sortieren + Member von Klassen und Strukturen alphabetisch sortieren Use Debugging Helpers @@ -5435,7 +5435,7 @@ Bitte wählen Sie einen 64-bit-Debugger in den Kit-Einstellungen für dieses Kit Debugging complex command lines is currently not supported on Windows. - Komplexe Kommandozeilen werden beim Debuggen unter Windows gegenwärtig nicht unterstützt. + Komplexe Kommandozeilen werden beim Debuggen unter Windows aktuell nicht unterstützt. Not enough free ports for QML debugging. @@ -6013,7 +6013,7 @@ Das Setzen von Haltepunkten anhand von Dateinamen und Zeilennummern könnte fehl A debugging session is still in progress. Terminating the session in the current state can leave the target in an inconsistent state. Would you still like to terminate it? - Der Debugger läuft noch. Das Beenden im gegenwärtigen Zustand könnte zu einem inkonsistenten Zustand des untersuchten Prozesses führen. Möchten Sie ihn trotzdem beenden? + Der Debugger läuft noch. Das Beenden im aktuellen Zustand könnte zu einem inkonsistenten Zustand des untersuchten Prozesses führen. Möchten Sie ihn trotzdem beenden? Debugged executable @@ -8835,11 +8835,11 @@ Leer lassen, um das Dateisystem zu durchsuchen. Saves the current state of your work and resets the repository. - Speichert den gegenwärtigen Stand der Arbeit und setzt das Repository zurück. + Speichert den aktuellen Stand der Arbeit und setzt das Repository zurück. Saves the current state of your unstaged files and resets the repository to its staged state. - Speichert den gegenwärtigen Stand der nicht bereitgestellten Dateien und setzt das Repository auf den bereitgestellten Zustand zurück. + Speichert den aktuellen Stand der nicht bereitgestellten Dateien und setzt das Repository auf den bereitgestellten Zustand zurück. Take Snapshot... @@ -8847,7 +8847,7 @@ Leer lassen, um das Dateisystem zu durchsuchen. Saves the current state of your work. - Sichert den gegenwärtigen Arbeitsstand. + Sichert den aktuellen Arbeitsstand. Restores changes saved to the stash list using "Stash". @@ -10497,7 +10497,7 @@ Außer: %2 The build configuration <b>%1</b> is currently being built. - Die Build-Konfiguration <b>%1</b> wird gegenwärtig erstellt. + Die Build-Konfiguration <b>%1</b> wird gerade erstellt. Do you want to cancel the build process and remove the Build Configuration anyway? @@ -10855,7 +10855,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. The deploy configuration <b>%1</b> is currently being built. - Die Deployment-Konfiguration <b>%1</b> wird gegenwärtig ausgeführt. + Die Deployment-Konfiguration <b>%1</b> wird gerade erstellt. Do you want to cancel the build process and remove the Deploy Configuration anyway? @@ -10992,7 +10992,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. Run Without Deployment - Ausführung ohne Deployment + Ausführen ohne Deployment Cancel Build @@ -11548,7 +11548,7 @@ Bitte versuchen Sie es erneut. Expand All - Alles aufklappen + Alle aufklappen Quick Switch Kit Selector @@ -13755,7 +13755,7 @@ Was möchten Sie tun? Name of current build - Name der gegenwärtigen Build-Konfiguration + Name der aktuellen Build-Konfiguration Main file of current project @@ -13783,7 +13783,7 @@ Was möchten Sie tun? Type of current build - Typ der gegenwärtigen Build-Konfiguration + Typ der aktuellen Build-Konfiguration Type of the project's active build configuration @@ -14110,7 +14110,7 @@ Locked components cannot be modified or selected. Expand All - Alles aufklappen + Alle aufklappen Collapse All @@ -14355,7 +14355,7 @@ Locked components cannot be modified or selected. The following ABIs are currently not supported: %1 - Die folgenden ABIs werden gegenwärtig nicht unterstützt: %1 + Die folgenden ABIs werden aktuell nicht unterstützt: %1 Select a qmake Executable @@ -14475,7 +14475,7 @@ Locked components cannot be modified or selected. <p>The project you are about to open is located in the write-protected location:</p><blockquote>%1</blockquote><p>Please select a writable location below and click "Copy Project and Open" to open a modifiable copy of the project or click "Keep Project and Open" to open the project in location.</p><p><b>Note:</b> You will not be able to alter or compile your project in the current location.</p> - <p>Das zu öffnende Projekt befindet sich in einem schreibgeschützten Verzeichnis:</p><blockquote>%1</blockquote><p>Bitte geben Sie ein schreibbares Verzeichnis an und wählen dann "Kopieren und öffne Projekt", um eine modifizierbare Kopie des Projektes erhalten, oder "Öffne Projekt hier", um das Projekt im gegenwärtigen Verzeichnis zu öffnen</p><p><b>Hinweis:</b> Im gegenwärtigen.Verzeichnis kann das Projekt weder compiliert noch modifiziert werden.</p> + <p>Das zu öffnende Projekt befindet sich in einem schreibgeschützten Verzeichnis:</p><blockquote>%1</blockquote><p>Bitte geben Sie ein schreibbares Verzeichnis an und wählen dann "Kopieren und öffne Projekt", um eine modifizierbare Kopie des Projektes erhalten, oder "Öffne Projekt hier", um das Projekt im aktuellen Verzeichnis zu öffnen</p><p><b>Hinweis:</b> Im aktuellen Verzeichnis kann das Projekt weder compiliert noch modifiziert werden.</p> &Location: @@ -16678,7 +16678,7 @@ Möchten Sie sie überschreiben? Debugging complex shell commands in a terminal is currently not supported. - Das Debuggen komplexer Shell-Kommandos in einem Terminal wird gegenwärtig nicht unterstützt. + Das Debuggen komplexer Shell-Kommandos in einem Terminal wird aktuell nicht unterstützt. Quoting error in terminal command. @@ -16764,7 +16764,7 @@ konnte nicht unter Versionsverwaltung (%2) gestellt werden CppEditor::Internal::CppOutlineTreeView Expand All - Alles aufklappen + Alle aufklappen Collapse All @@ -21563,7 +21563,7 @@ Außer: %3 No updates found. - Es wurden keine Aktualisierungen gefunden. + Keine Aktualisierungen gefunden. Could not determine location of maintenance tool. Please check your installation if you did not enable this plugin manually. @@ -22675,7 +22675,7 @@ Gibt an, wie sich die Rücktaste bezüglich Einrückung verhält. Pressing Alt displays context-sensitive help or type information as tooltips. - Drücken Sie die Alt-Taste um kontextabhängige Hilfe oder Typinformation als Tool-Tip anzuzeigen. + Drücken Sie die Alt-Taste um kontextabhängige Hilfe oder Typinformation als Tooltip anzuzeigen. Using Select Block Up / Down actions will now provide smarter selections. @@ -25135,7 +25135,7 @@ the manifest file by overriding your settings. Allow override? Scan only the currently edited document - Nur im gegenwärtig bearbeiteten Dokument suchen + Nur im aktuell bearbeiteten Dokument suchen Scan the current subproject @@ -25163,7 +25163,7 @@ the manifest file by overriding your settings. Allow override? Scan only the currently edited document. - Nur im gegenwärtig bearbeiteten Dokument suchen. + Nur im aktuell bearbeiteten Dokument suchen. Active Project @@ -25359,7 +25359,7 @@ the manifest file by overriding your settings. Allow override? Type Specific - typspezifisch + Typabhängig &Add... @@ -37198,11 +37198,11 @@ Warnung: Dies ist eine experimentelle Funktion und könnte dazu führen, dass di Expand All - Alles aufklappen + Alle aufklappen Collapse All - Alles einklappen + Alle einklappen Sort Alphabetically @@ -41490,7 +41490,7 @@ Wird benutzt um die Funktion zu markieren, die ein gesuchtes Symbol benutzt. Class' data members. - Mitgliedsvariablen von Klassen. + Membervariablen einer Klasse. Global @@ -48329,7 +48329,7 @@ Useful if build directory is corrupted or when rebuilding with a newer version o Clear system environment - Systemumgebung löschen + Systemumgebung bereinigen @@ -53840,7 +53840,7 @@ Use drag and drop to change the order of the parameters. Expand All - Alles aufklappen + Alle aufklappen Collapse All @@ -55510,7 +55510,7 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. Use context-specific margin - Kontextspezifischen Rand verwenden + Kontextabhängigen Rand verwenden If available, use a different margin. For example, the ColumnLimit from the ClangFormat plugin.