From a060ee2802c72d8ce22f42635d1740bf2f84bed7 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 13 Mar 2018 10:17:10 +0100 Subject: QWindowWindow: Avoid resize events from the ctor When calling showFullScreen(), the setwindowStates call in the QWindowsWindow constructor led to generating a resize event. This is pretty bad for example when QOpenGLWindow is involved since the QWindow's platformWindow member is not even set yet (handle() == nullptr) so everything related to OpenGL contexts starts failing (as there is no underlying platform window yet as far as the QWindow is concerned). In short, generating geometry changes from the platformwindow ctor is a bad idea. Use initialize() instead for that. Task-number: QTBUG-67027 Change-Id: I35d11949213eb21f81b2ff2d4f2282cb36510210 Reviewed-by: Friedemann Kleint --- src/gui/kernel/qopenglwindow.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/gui/kernel/qopenglwindow.cpp') diff --git a/src/gui/kernel/qopenglwindow.cpp b/src/gui/kernel/qopenglwindow.cpp index cf3d712421..c3a264f1e8 100644 --- a/src/gui/kernel/qopenglwindow.cpp +++ b/src/gui/kernel/qopenglwindow.cpp @@ -222,6 +222,9 @@ void QOpenGLWindowPrivate::initialize() if (context) return; + if (!q->handle()) + qWarning("Attempted to initialize QOpenGLWindow without a platform window"); + context.reset(new QOpenGLContext); context->setShareContext(shareContext); context->setFormat(q->requestedFormat()); -- cgit v1.2.3