diff options
author | Jani Hautakangas <jani.hautakangas@nokia.com> | 2011-12-16 11:08:46 +0200 |
---|---|---|
committer | Jani Hautakangas <jani.hautakangas@nokia.com> | 2011-12-16 12:25:33 +0200 |
commit | 69df8bf72da01f194bac66e80417b6483d00decb (patch) | |
tree | b7babb89f9a058f6a799518cb6987c31ea282e38 /src/opengl/qgl_p.h | |
parent | 3a4728e169ef59896f8f1c7f1c9a3abc814c83cf (diff) | |
download | qt4-tools-69df8bf72da01f194bac66e80417b6483d00decb.tar.gz |
Fix to incorrect ApplicationActivate event in QtOpenGL
QEvent::ApplicationActivate is sent incorrectly when application
goes to background if OpenGL graphics system is used. The problem
is that hidden global shared QGLWidget used by QtOpenGL for root
context is added to CONE stack. Qt destroys shared GL widget
when application goes to background and underlying CCoeControl
is removed from CONE stack which causes CONE to handle
stack changes. CONE tries to focus next control in stack which
causes incorrect focus events in Qt leading to
ApplicationActivate event. GL global share widget must not
be added to CONE stack because it's hidden utility widget
and don't belong to UI widget stack.
Task-number: QTBUG-23195
Task-number: ou1cimx1#946477
Reviewed-by: Murray Read
Diffstat (limited to 'src/opengl/qgl_p.h')
-rw-r--r-- | src/opengl/qgl_p.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index df09dfdf6d..89153d9398 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -106,6 +106,10 @@ class QMacWindowChangeEvent; class QWSGLWindowSurface; #endif +#ifdef Q_OS_SYMBIAN +extern bool qt_initializing_gl_share_widget(); +#endif + #ifndef QT_NO_EGL class QEglContext; #endif @@ -183,6 +187,10 @@ public: #endif { isGLWidget = 1; +#if defined(Q_OS_SYMBIAN) + if (qt_initializing_gl_share_widget()) + isGLGlobalShareWidget = 1; +#endif } ~QGLWidgetPrivate() {} |