diff options
author | Jøger Hansegård <joger.hansegard@qt.io> | 2024-01-28 20:51:43 +0100 |
---|---|---|
committer | Jøger Hansegård <joger.hansegard@qt.io> | 2024-01-29 18:27:46 +0100 |
commit | c2b1fb925798f5a87b21891dcf18cd967436de3e (patch) | |
tree | 09d406250a65fe959158fd832b920241e1f9ae88 /src/multimedia/platform | |
parent | 5070a7343504bbde988a903c2ef0a2d18af4303b (diff) |
Log error when accessing multimedia APIs without a QCoreApplication
Qt Multimedia heavily depend on functionality provided by the
QCoreApplication, and accessing multimedia APIs without an application
object is an error.
This error message makes it easier to spot this contract violation.
Pick-to: 6.7 6.6 6.5
Change-Id: Iea12ec43257eb06b3f23f5dd2ddf6c6ce7adbdae
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Diffstat (limited to 'src/multimedia/platform')
-rw-r--r-- | src/multimedia/platform/qplatformmediaintegration.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/multimedia/platform/qplatformmediaintegration.cpp b/src/multimedia/platform/qplatformmediaintegration.cpp index d2ef66b7f..3df477e45 100644 --- a/src/multimedia/platform/qplatformmediaintegration.cpp +++ b/src/multimedia/platform/qplatformmediaintegration.cpp @@ -11,6 +11,7 @@ #include <qmediadevices.h> #include <qcameradevice.h> #include <qloggingcategory.h> +#include <QtCore/qcoreapplication.h> #include "qplatformcapturablewindows_p.h" #include "QtCore/private/qfactoryloader_p.h" @@ -77,6 +78,9 @@ struct InstanceHolder { InstanceHolder() { + if (!QCoreApplication::instance()) + qCCritical(qLcMediaPlugin()) << "Qt Multimedia requires a QCoreApplication instance"; + const auto backends = availableBackends(); QString backend = QString::fromUtf8(qgetenv("QT_MEDIA_BACKEND")); if (backend.isEmpty() && !backends.isEmpty()) |