Commit a0891a47 authored by dogmaphobic's avatar dogmaphobic

Fix redraw issues with OpenGL canvases when link states change.

parent fa54c814
...@@ -205,6 +205,10 @@ MainWindow::MainWindow(QSplashScreen* splashScreen) ...@@ -205,6 +205,10 @@ MainWindow::MainWindow(QSplashScreen* splashScreen)
connect(this, SIGNAL(x11EventOccured(XEvent*)), mouse, SLOT(handleX11Event(XEvent*))); connect(this, SIGNAL(x11EventOccured(XEvent*)), mouse, SLOT(handleX11Event(XEvent*)));
#endif //QGC_MOUSE_ENABLED_LINUX #endif //QGC_MOUSE_ENABLED_LINUX
// These also cause the screen to redraw so we need to update any OpenGL canvases in QML controls
connect(LinkManager::instance(), &LinkManager::linkConnected, this, &MainWindow::_linkStateChange);
connect(LinkManager::instance(), &LinkManager::linkDisconnected, this, &MainWindow::_linkStateChange);
// Connect link // Connect link
if (_autoReconnect) if (_autoReconnect)
{ {
...@@ -1348,6 +1352,11 @@ void MainWindow::restoreLastUsedConnection() ...@@ -1348,6 +1352,11 @@ void MainWindow::restoreLastUsedConnection()
} }
} }
void MainWindow::_linkStateChange(LinkInterface*)
{
emit repaintCanvas();
}
#ifdef QGC_MOUSE_ENABLED_LINUX #ifdef QGC_MOUSE_ENABLED_LINUX
bool MainWindow::x11Event(XEvent *event) bool MainWindow::x11Event(XEvent *event)
{ {
......
...@@ -294,6 +294,7 @@ private slots: ...@@ -294,6 +294,7 @@ private slots:
void _showDockWidgetAction(bool show); void _showDockWidgetAction(bool show);
void _loadCustomWidgetFromFile(void); void _loadCustomWidgetFromFile(void);
void _createNewCustomWidget(void); void _createNewCustomWidget(void);
void _linkStateChange(LinkInterface*);
#ifdef UNITTEST_BUILD #ifdef UNITTEST_BUILD
void _showQmlTestWidget(void); void _showQmlTestWidget(void);
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment