From 9c3a58a913a7e59359146264ee59d40d703d4db2 Mon Sep 17 00:00:00 2001 From: Dyami Caliri Date: Wed, 27 Aug 2014 09:27:50 -0700 Subject: Recreate child windows when changing screens When setting a new screen, the code calls QWindow::destroy(), which recursively destroys all child windows. It then calls create() on the top-level window, leaving child windows destroyed. This causes crashes if you have embedded native widgets. Task-number: QTBUG-40817 Change-Id: Iaace2589f48bbfd5faaf5ff95357ff43b310504a Reviewed-by: Shawn Rutledge Reviewed-by: Laszlo Agocs --- src/gui/kernel/qwindow_p.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/gui/kernel/qwindow_p.h') diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h index 4305edea51..51d78bb9cd 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -132,6 +132,7 @@ public: void _q_clearAlert(); void setScreen(QScreen *newScreen, bool recreate); + void create(bool recursive); virtual void clearFocusObject(); -- cgit v1.2.3