aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2024-04-26 09:43:02 +0200
committerEike Ziller <eike.ziller@qt.io>2024-04-26 10:59:07 +0200
commitdea0da7a8bb59be2e8fef698e07d20592ed24a3e (patch)
tree684af4e450ab025b2e433d4b381b1b8550f98abd /src
parent5c765e7c125ceba1d13d54ae0a452ff22d151c8e (diff)
parent6b7c6bde5afd87c9152fbe65e041b262c609538f (diff)
Merge remote-tracking branch 'origin/13.0'
Conflicts: src/plugins/languageclient/languageclientutils.cpp Change-Id: I8d1945f79d93cecee9b22f409bc5f2eefaf6a4cd
Diffstat (limited to 'src')
-rw-r--r--src/libs/utils/fileutils.cpp3
-rw-r--r--src/plugins/debugger/lldb/lldbengine.cpp11
-rw-r--r--src/plugins/languageclient/languageclientutils.cpp4
-rw-r--r--src/plugins/qmljseditor/qmljseditordocument.cpp3
-rw-r--r--src/plugins/texteditor/texteditor.cpp3
5 files changed, 20 insertions, 4 deletions
diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp
index a2998e2f07..b3649a457d 100644
--- a/src/libs/utils/fileutils.cpp
+++ b/src/libs/utils/fileutils.cpp
@@ -197,7 +197,8 @@ FileSaver::FileSaver(const FilePath &filePath, QIODevice::OpenMode mode)
m_file.reset(tf);
} else {
const bool readOnlyOrAppend = mode & (QIODevice::ReadOnly | QIODevice::Append);
- m_isSafe = !readOnlyOrAppend && !filePath.hasHardLinks();
+ m_isSafe = !readOnlyOrAppend && !filePath.hasHardLinks()
+ && !qtcEnvironmentVariableIsSet("QTC_DISABLE_ATOMICSAVE");
if (m_isSafe)
m_file.reset(new SaveFile(filePath));
else
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index 0e53afad35..3d21f82ca2 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -30,6 +30,7 @@
#include <projectexplorer/runcontrol.h>
+#include <utils/algorithm.h>
#include <utils/environment.h>
#include <utils/qtcprocess.h>
#include <utils/processinterface.h>
@@ -328,6 +329,16 @@ void LldbEngine::handleLldbStarted()
runEngine();
};
runCommand(cmd3);
+
+ // Execute post attach commands
+ QStringList commands = settings().gdbPostAttachCommands().split('\n');
+ commands = Utils::filtered(commands, [](const QString line) {
+ const QString trimmed = line.trimmed();
+ return !trimmed.isEmpty() && !trimmed.startsWith('#');
+ });
+ for (const QString &cmd : commands) {
+ executeDebuggerCommand(cmd);
+ }
} else {
notifyEngineSetupFailed();
}
diff --git a/src/plugins/languageclient/languageclientutils.cpp b/src/plugins/languageclient/languageclientutils.cpp
index 031b05c957..3df7622548 100644
--- a/src/plugins/languageclient/languageclientutils.cpp
+++ b/src/plugins/languageclient/languageclientutils.cpp
@@ -235,8 +235,8 @@ void updateEditorToolBar(Core::IEditor *editor)
TextDocument *document = textEditor->textDocument();
Client *client = LanguageClientManager::clientForDocument(textEditor->textDocument());
- ClientExtras *extras = static_cast<ClientExtras *>(
- widget->findChild<QObject *>(clientExtrasName, Qt::FindDirectChildrenOnly));
+ ClientExtras *extras = dynamic_cast<ClientExtras *>(
+ widget->findChild<QObject *>(clientExtrasName, Qt::FindDirectChildrenOnly));
if (!extras) {
if (!client)
return;
diff --git a/src/plugins/qmljseditor/qmljseditordocument.cpp b/src/plugins/qmljseditor/qmljseditordocument.cpp
index 18a9c4d0f2..cef1aefcd2 100644
--- a/src/plugins/qmljseditor/qmljseditordocument.cpp
+++ b/src/plugins/qmljseditor/qmljseditordocument.cpp
@@ -750,6 +750,9 @@ static Utils::FilePath qmllsForFile(const Utils::FilePath &file,
void QmlJSEditorDocumentPrivate::settingsChanged()
{
+ if (q->isTemporary())
+ return;
+
Utils::FilePath newQmlls = qmllsForFile(q->filePath(), ModelManagerInterface::instance());
if (m_qmllsStatus.qmllsPath == newQmlls)
return;
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index 7a8fa1edbc..92636e63cd 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -7471,7 +7471,8 @@ void TextEditorWidgetPrivate::handleBackspaceKey()
}
}
} else if (typingSettings.m_smartBackspaceBehavior == TypingSettings::BackspaceUnindents) {
- if (c.positionInBlock() > TabSettings::firstNonSpace(c.block().text())) {
+ if (c.positionInBlock() == 0
+ || c.positionInBlock() > TabSettings::firstNonSpace(c.block().text())) {
if (cursorWithinSnippet)
c.beginEditBlock();
c.deletePreviousChar();