Explorar el Código

KonvergoWindow: turn most UI signal handlers into queued connections

Possibly helps with reentrancy issues, causing messed up window states
and crashes. Unknown whether this will help, or whether this is the true
cause of these issues.
Vincent Lang hace 7 años
padre
commit
935c3f8eb1
Se han modificado 1 ficheros con 6 adiciones y 6 borrados
  1. 6 6
      src/ui/KonvergoWindow.cpp

+ 6 - 6
src/ui/KonvergoWindow.cpp

@@ -77,21 +77,21 @@ KonvergoWindow::KonvergoWindow(QWindow* parent) :
           this, &KonvergoWindow::onVisibilityChanged);
 
   connect(this, &KonvergoWindow::screenChanged,
-          this, &KonvergoWindow::updateCurrentScreen);
+          this, &KonvergoWindow::updateCurrentScreen, Qt::QueuedConnection);
   connect(this, &KonvergoWindow::xChanged,
-          this, &KonvergoWindow::updateCurrentScreen);
+          this, &KonvergoWindow::updateCurrentScreen, Qt::QueuedConnection);
   connect(this, &KonvergoWindow::yChanged,
-          this, &KonvergoWindow::updateCurrentScreen);
+          this, &KonvergoWindow::updateCurrentScreen, Qt::QueuedConnection);
   connect(this, &KonvergoWindow::visibilityChanged,
-          this, &KonvergoWindow::updateCurrentScreen);
+          this, &KonvergoWindow::updateCurrentScreen, Qt::QueuedConnection);
   connect(this, &KonvergoWindow::windowStateChanged,
-          this, &KonvergoWindow::updateCurrentScreen);
+          this, &KonvergoWindow::updateCurrentScreen, Qt::QueuedConnection);
 
   connect(this, &KonvergoWindow::enableVideoWindowSignal,
           this, &KonvergoWindow::enableVideoWindow, Qt::QueuedConnection);
 
   connect(&PlayerComponent::Get(), &PlayerComponent::windowVisible,
-          this, &KonvergoWindow::playerWindowVisible);
+          this, &KonvergoWindow::playerWindowVisible, Qt::QueuedConnection);
 
   // this is using old syntax because ... reasons. QQuickCloseEvent is not public class
   connect(this, SIGNAL(closing(QQuickCloseEvent*)), this, SLOT(closingWindow()));