summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@digia.com>2013-10-29 12:16:30 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-29 15:11:02 +0100
commit6ea7336e4aed916c5c9602c51d7d9646a289e83b (patch)
treefc9ddfb1c839a75967d33adef5830c17eeb35ea3 /src/plugins/platforms/eglfs
parent00bf148b07cb7771136ed472766400336ab4d2bf (diff)
eglfs: Make backingstore handle unexpected scenarios gracefully
On platforms other than Android eglfs does not allow having multiple windows when one of the windows is OpenGL. On Android however this has to be handled silently, without aborting the application. The backingstore lacked the necessary checks so QGLWidget-based apps were crashing. This is now corrected. Task-number: QTBUG-34412 Change-Id: Ifb469fa9ef391b24aed3942430c0347276809ba5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Diffstat (limited to 'src/plugins/platforms/eglfs')
-rw-r--r--src/plugins/platforms/eglfs/qeglfsbackingstore.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp
index 8de8268616..9de5960fdb 100644
--- a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp
+++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp
@@ -113,7 +113,7 @@ void QEglFSBackingStore::flush(QWindow *window, const QRegion &region, const QPo
#endif
QEglFSWindow *rootWin = m_window->screen()->rootWindow();
- if (!rootWin)
+ if (!rootWin || !rootWin->isRaster())
return;
m_window->create();
@@ -132,7 +132,7 @@ void QEglFSBackingStore::resize(const QSize &size, const QRegion &staticContents
Q_UNUSED(staticContents);
QEglFSWindow *rootWin = m_window->screen()->rootWindow();
- if (!rootWin)
+ if (!rootWin || !rootWin->isRaster())
return;
m_image = QImage(size, QImage::Format_RGB32);