1*4882a593SmuzhiyunFrom 3cee7156defa78e5f0bc6fe288ea74079fcce87c Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Thu, 16 Jul 2020 17:17:27 +0800 4*4882a593SmuzhiyunSubject: [PATCH 20/28] qwindow: Disable window recreating when screen changed 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunRecreating window is unstable. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 9*4882a593Smuzhiyun--- 10*4882a593Smuzhiyun src/gui/kernel/qwindow.cpp | 4 ++++ 11*4882a593Smuzhiyun 1 file changed, 4 insertions(+) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundiff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp 14*4882a593Smuzhiyunindex bec6445f..499d97cd 100644 15*4882a593Smuzhiyun--- a/src/gui/kernel/qwindow.cpp 16*4882a593Smuzhiyun+++ b/src/gui/kernel/qwindow.cpp 17*4882a593Smuzhiyun@@ -460,10 +460,14 @@ void QWindowPrivate::updateSiblingPosition(SiblingPosition position) 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun inline bool QWindowPrivate::windowRecreationRequired(QScreen *newScreen) const 20*4882a593Smuzhiyun { 21*4882a593Smuzhiyun+#if 0 // Recreating window is unstable 22*4882a593Smuzhiyun Q_Q(const QWindow); 23*4882a593Smuzhiyun const QScreen *oldScreen = q->screen(); 24*4882a593Smuzhiyun return oldScreen != newScreen && (platformWindow || !oldScreen) 25*4882a593Smuzhiyun && !(oldScreen && oldScreen->virtualSiblings().contains(newScreen)); 26*4882a593Smuzhiyun+#else 27*4882a593Smuzhiyun+ return false; 28*4882a593Smuzhiyun+#endif 29*4882a593Smuzhiyun } 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun inline void QWindowPrivate::disconnectFromScreen() 32*4882a593Smuzhiyun-- 33*4882a593Smuzhiyun2.20.1 34*4882a593Smuzhiyun 35