Merge remote-tracking branch 'origin/4.10' into 4.11

Change-Id: Ic05bd53ea060d42c2013884972c05de08ed63f10
This commit is contained in:
Eike Ziller
2019-09-30 10:36:00 +02:00
4 changed files with 48 additions and 22 deletions

View File

@@ -19,9 +19,13 @@ you can check out from the public Git repository. For example:
* Fixed that text moved around when resizing and zooming (QTCREATORBUG-4756) * Fixed that text moved around when resizing and zooming (QTCREATORBUG-4756)
## All Projects
* Fixed `Qt Creator Plugin` wizard (QTCREATORBUG-22945)
## Debugging ## Debugging
* Fixed more layout restoration issues (QTCREATORBUG-22286, QTCREATORBUG-22938) * Fixed more layout restoration issues (QTCREATORBUG-22286, QTCREATORBUG-22415, QTCREATORBUG-22938)
### LLDB ### LLDB
@@ -36,7 +40,13 @@ you can check out from the public Git repository. For example:
### macOS ### macOS
* Fixed debugging with Xcode 11 (QTCREATORBUG-22955)
* Fixed window stacking order after closing file dialog (QTCREATORBUG-22906) * Fixed window stacking order after closing file dialog (QTCREATORBUG-22906)
* Fixed window size after exiting fullscreen
### QNX
* Fixed that QNX compiler could not be selected for C
## Credits for these changes go to: ## Credits for these changes go to:
@@ -44,7 +54,9 @@ Aleksei German
Alexander Akulich Alexander Akulich
Andre Hartmann Andre Hartmann
André Pönitz André Pönitz
Christian Kandeler
Christian Stenger Christian Stenger
Cristian Adam
David Schulz David Schulz
Eike Ziller Eike Ziller
Knud Dollereder Knud Dollereder
@@ -53,5 +65,5 @@ Lisandro Damián Nicanor Pérez Meyer
Nikolai Kosjar Nikolai Kosjar
Orgad Shaneh Orgad Shaneh
Richard Weickelt Richard Weickelt
Sergey Belyashov
Thomas Hartmann Thomas Hartmann

View File

@@ -381,27 +381,41 @@ QList<ToolChain *> SdccToolChainFactory::autoDetect(const QList<ToolChain *> &al
if (Utils::HostOsInfo::isWindowsHost()) { if (Utils::HostOsInfo::isWindowsHost()) {
#ifdef Q_OS_WIN64 // Tries to detect the candidate from the 32-bit
static const char kRegistryNode[] = "HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\SDCC"; // or 64-bit system registry format.
#else auto probeCandidate = [](QSettings::Format format) {
static const char kRegistryNode[] = "HKEY_LOCAL_MACHINE\\SOFTWARE\\SDCC"; QSettings registry("HKEY_LOCAL_MACHINE\\SOFTWARE\\SDCC",
#endif format);
QString compilerPath = registry.value("Default").toString();
QSettings registry(kRegistryNode, QSettings::NativeFormat); if (compilerPath.isEmpty())
QString compilerPath = registry.value("Default").toString(); return Candidate{};
if (!compilerPath.isEmpty()) {
// Build full compiler path. // Build full compiler path.
compilerPath += "\\bin\\sdcc.exe"; compilerPath += "\\bin\\sdcc.exe";
const FilePath fn = FilePath::fromString( const FilePath fn = FilePath::fromString(
QFileInfo(compilerPath).absoluteFilePath()); QFileInfo(compilerPath).absoluteFilePath());
if (compilerExists(fn)) { if (!compilerExists(fn))
// Build compiler version. return Candidate{};
const QString version = QString("%1.%2.%3").arg( // Build compiler version.
registry.value("VersionMajor").toString(), const QString version = QString("%1.%2.%3").arg(
registry.value("VersionMinor").toString(), registry.value("VersionMajor").toString(),
registry.value("VersionRevision").toString()); registry.value("VersionMinor").toString(),
candidates.push_back({fn, version}); registry.value("VersionRevision").toString());
} return Candidate{fn, version};
};
const QSettings::Format allowedFormats[] = {
QSettings::NativeFormat,
#ifdef Q_OS_WIN
QSettings::Registry32Format,
QSettings::Registry64Format
#endif
};
for (const QSettings::Format format : allowedFormats) {
const auto candidate = probeCandidate(format);
if (candidate.compilerPath.isEmpty() || candidates.contains(candidate))
continue;
candidates.push_back(candidate);
} }
} }

View File

@@ -2285,8 +2285,8 @@ void DebuggerEngine::openDisassemblerView(const Location &location)
void DebuggerEngine::raiseWatchersWindow() void DebuggerEngine::raiseWatchersWindow()
{ {
if (d->m_watchersView) { if (d->m_watchersView && d->m_watchersWindow) {
if (auto dock = qobject_cast<QDockWidget *>(d->m_watchersView->parentWidget())) { if (auto dock = qobject_cast<QDockWidget *>(d->m_watchersWindow->parentWidget())) {
if (QAction *act = dock->toggleViewAction()) { if (QAction *act = dock->toggleViewAction()) {
if (!act->isChecked()) if (!act->isChecked())
QTimer::singleShot(1, act, [act] { act->trigger(); }); QTimer::singleShot(1, act, [act] { act->trigger(); });