mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 08:37:19 +02:00
Merge pull request #7584 from zzmp/log/dep-is-set
Avoid warning for expected unset PresentThread
This commit is contained in:
commit
772e7b95f6
2 changed files with 15 additions and 2 deletions
|
@ -245,8 +245,10 @@ bool OpenGLDisplayPlugin::activate() {
|
||||||
|
|
||||||
#if THREADED_PRESENT
|
#if THREADED_PRESENT
|
||||||
// Start the present thread if necessary
|
// Start the present thread if necessary
|
||||||
auto presentThread = DependencyManager::get<PresentThread>();
|
QSharedPointer<PresentThread> presentThread;
|
||||||
if (!presentThread) {
|
if (DependencyManager::isSet<PresentThread>()) {
|
||||||
|
presentThread = DependencyManager::get<PresentThread>();
|
||||||
|
} else {
|
||||||
auto widget = _container->getPrimaryWidget();
|
auto widget = _container->getPrimaryWidget();
|
||||||
DependencyManager::set<PresentThread>();
|
DependencyManager::set<PresentThread>();
|
||||||
presentThread = DependencyManager::get<PresentThread>();
|
presentThread = DependencyManager::get<PresentThread>();
|
||||||
|
|
|
@ -49,6 +49,9 @@ public:
|
||||||
template<typename T>
|
template<typename T>
|
||||||
static QSharedPointer<T> get();
|
static QSharedPointer<T> get();
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
static bool isSet();
|
||||||
|
|
||||||
template<typename T, typename ...Args>
|
template<typename T, typename ...Args>
|
||||||
static QSharedPointer<T> set(Args&&... args);
|
static QSharedPointer<T> set(Args&&... args);
|
||||||
|
|
||||||
|
@ -89,6 +92,14 @@ QSharedPointer<T> DependencyManager::get() {
|
||||||
return instance.toStrongRef();
|
return instance.toStrongRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
bool DependencyManager::isSet() {
|
||||||
|
static size_t hashCode = manager().getHashCode<T>();
|
||||||
|
|
||||||
|
QSharedPointer<Dependency>& instance = manager().safeGet(hashCode);
|
||||||
|
return !instance.isNull();
|
||||||
|
}
|
||||||
|
|
||||||
template <typename T, typename ...Args>
|
template <typename T, typename ...Args>
|
||||||
QSharedPointer<T> DependencyManager::set(Args&&... args) {
|
QSharedPointer<T> DependencyManager::set(Args&&... args) {
|
||||||
static size_t hashCode = manager().getHashCode<T>();
|
static size_t hashCode = manager().getHashCode<T>();
|
||||||
|
|
Loading…
Reference in a new issue