summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2023-10-12 16:51:23 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2023-10-12 16:51:23 +0300
commit83f63201ab140448dc522486f2ae037aac608b6a (patch)
tree99b422778759f781bf3ca806221f68a5b7a1b514
parent649a09efe2a7967a00c52a345330e903bbf35b53 (diff)
parent22c59456804b22e205a5d5c14de7fb88305eaa1b (diff)
Merge remote-tracking branch 'origin/tqtc/lts-6.2.7' into tqtc/lts-6.2-opensource
-rw-r--r--.cmake.conf2
-rw-r--r--doc/controller.qdoc2
-rw-r--r--doc/installer.qdoc7
-rw-r--r--doc/online/style/qt5-sidebar.html1
-rw-r--r--doc/packager.qdoc5
-rw-r--r--src/manager-lib/applicationmanager.cpp14
-rw-r--r--src/manager-lib/nativeruntime.cpp4
-rw-r--r--src/manager-lib/packagemanager.cpp3
8 files changed, 22 insertions, 16 deletions
diff --git a/.cmake.conf b/.cmake.conf
index b9c40d18..f6f7fed3 100644
--- a/.cmake.conf
+++ b/.cmake.conf
@@ -1 +1 @@
-set(QT_REPO_MODULE_VERSION "6.2.6")
+set(QT_REPO_MODULE_VERSION "6.2.7")
diff --git a/doc/controller.qdoc b/doc/controller.qdoc
index 602e00df..a73d9e5a 100644
--- a/doc/controller.qdoc
+++ b/doc/controller.qdoc
@@ -30,7 +30,7 @@
/*!
\page appman-controller.html
\title Controller
-\brief A command-line utility to trigger the installation of a specified package on a target device.
+\brief A command-line utility to remote control the application manager on a target device.
\ingroup qtappman-tools
The \c{appman-controller} is a command-line utility that can be used by the developer, or
diff --git a/doc/installer.qdoc b/doc/installer.qdoc
index b56f05ea..592307c7 100644
--- a/doc/installer.qdoc
+++ b/doc/installer.qdoc
@@ -32,9 +32,8 @@
\page installer.html
\ingroup qtappman
\ingroup qtappman-highlights
-\ingroup qtappman-tools
-\title Package Installer
-\brief Discusses the installer tool which dynamically installs, updates and removes packages.
+\title Package Installation
+\brief Discusses the package installation infrastructure.
\keyword Installer
\section1 Dynamically Installing, Updating, and Removing Packages
@@ -104,7 +103,7 @@ For the device, you need to install one or both of these CA certificates, includ
intermediary ones. But, this depends on the type of package you want the user to be able to
install. Which CA certificates to load is specified via \l {ca certificates} {the config file}.
-The application manager sources has a script,
+The application manager sources have a script,
\c tests/data/certificates/create-test-certificates.sh, that sets up such a PKI for the internal
unit tests. This script is \b not for use in production, but only for use in developing with
signed packages.
diff --git a/doc/online/style/qt5-sidebar.html b/doc/online/style/qt5-sidebar.html
index d228b696..a641e99b 100644
--- a/doc/online/style/qt5-sidebar.html
+++ b/doc/online/style/qt5-sidebar.html
@@ -25,7 +25,6 @@
</div>
<ul>
<li><a href="appman-controller.html">Controller</a></li>
- <li><a href="installer.html">Package Installer</a></li>
<li><a href="appman-packager.html">Packager</a></li>
</ul>
</div>
diff --git a/doc/packager.qdoc b/doc/packager.qdoc
index 3b551b12..8126afa7 100644
--- a/doc/packager.qdoc
+++ b/doc/packager.qdoc
@@ -31,7 +31,7 @@
\page appman-packager.html
\title Packager
-\brief A command-line utility to manage the installation of packages.
+\brief A command-line utility to create and sign application packages.
\ingroup qtappman-tools
The \c{appman-packager} is a command-line utility that can be used by the developer to manage
@@ -43,6 +43,9 @@ Currently, the application manager supports unsigned packages, packages that are
developer only (development mode), and packages that are signed by a trusted app-store. The
\c{appman-packager} can create all these variations with the following commands:
+Please also see the \l{Package Installation} documentation for more in-depth information about
+package installations.
+
\table
\header
\li Command
diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp
index 30405f5f..2b71342d 100644
--- a/src/manager-lib/applicationmanager.cpp
+++ b/src/manager-lib/applicationmanager.cpp
@@ -681,6 +681,8 @@ bool ApplicationManager::startApplicationInternal(const QString &appId, const QS
return false;
case Am::NotRunning:
+ throw Exception("Application %1 is not running, but still has a Runtime object attached")
+ .arg(app->id());
break;
}
}
@@ -802,12 +804,14 @@ bool ApplicationManager::startApplicationInternal(const QString &appId, const QS
qCDebug(LogSystem) << " documentUrl:" << documentUrl;
if (inProcess) {
- bool ok = runtime->start();
- if (ok)
+ bool successfullyStarted = runtime->start();
+
+ if (successfullyStarted)
emitActivated(app);
else
- runtime->deleteLater();
- return ok;
+ delete runtime;
+
+ return successfullyStarted;
} else {
// We can only start the app when both the container and the windowmanager are ready.
// Using a state-machine would be one option, but then we would need that state-machine
@@ -819,7 +823,7 @@ bool ApplicationManager::startApplicationInternal(const QString &appId, const QS
if (successfullyStarted)
emitActivated(app);
else
- runtime->deleteLater(); // ~Runtime() will clean app->nonAliased()->m_runtime
+ delete runtime; // ~Runtime() will clean up app->m_runtime
return successfullyStarted;
};
diff --git a/src/manager-lib/nativeruntime.cpp b/src/manager-lib/nativeruntime.cpp
index 31d842a2..e8b9d635 100644
--- a/src/manager-lib/nativeruntime.cpp
+++ b/src/manager-lib/nativeruntime.cpp
@@ -167,9 +167,7 @@ bool NativeRuntime::attachApplicationToQuickLauncher(Application *app)
ret = startApplicationViaLauncher();
}
- if (ret)
- setState(Am::Running);
-
+ setState(ret ? Am::Running : Am::NotRunning);
return ret;
}
diff --git a/src/manager-lib/packagemanager.cpp b/src/manager-lib/packagemanager.cpp
index 3a11d66a..d2542aea 100644
--- a/src/manager-lib/packagemanager.cpp
+++ b/src/manager-lib/packagemanager.cpp
@@ -68,6 +68,9 @@
part of the application manager. It provides both a DBus and QML APIs for
all of its functionality.
+ Please also see the \l{Package Installation} documentation for more in-depth information about
+ package installations.
+
\note Unlike the deprecated ApplicationInstaller class, the PackageManager singleton and its
corresponding DBus API are always available. Disabling the installer functionality via the
application manager's \l{Configuration} will just lead to package (de-) installations