Fix blank screen after booting on some platform 73/7873/2
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Sun, 25 Dec 2016 19:30:35 +0000 (04:30 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 27 Dec 2016 14:52:00 +0000 (14:52 +0000)
wl.surface.attach (nil, 0, 0) might cause serious probrem
on some platform (it depends on compositor implementation).

In the case of ces2017 demo, output alwasy become blank
when launch HomeScreen and WindowManager.

This bug and patch is reported in
https://bugreports.qt.io/browse/QTBUG-47902

Change-Id: Ibc7b20431e7aff6316090d729365b82cdfac6733
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
recipes-qt/qt5/qtwayland/0001-Avoid-attaching-NULL-buffer-while-hiding-EGL-windows.patch [new file with mode: 0644]
recipes-qt/qt5/qtwayland_%.bbappend

diff --git a/recipes-qt/qt5/qtwayland/0001-Avoid-attaching-NULL-buffer-while-hiding-EGL-windows.patch b/recipes-qt/qt5/qtwayland/0001-Avoid-attaching-NULL-buffer-while-hiding-EGL-windows.patch
new file mode 100644 (file)
index 0000000..67c4bba
--- /dev/null
@@ -0,0 +1,31 @@
+From f7947e9a0e6ae99e8fd0ab3c9176885f724ac87d Mon Sep 17 00:00:00 2001
+From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
+Date: Tue, 19 Jul 2016 12:14:26 -0500
+Subject: [PATCH] Avoid attaching NULL buffer while hiding EGL windows
+
+Incremental fix for QTBUG-46921. Destroying the callback for NULL surface is not
+working all the time. If the window is hidden by destroying the EGL surface
+and hence setting the NULL buffer is no longer required.
+
+Task-number:QTBUG-47902
+Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
+---
+ src/client/qwaylandwindow.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
+index 2dd58e8..24b5653 100644
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -312,8 +312,6 @@ void QWaylandWindow::setVisible(bool visible)
+         QPointer<QWaylandWindow> deleteGuard(this);
+         QWindowSystemInterface::flushWindowSystemEvents();
+         if (!deleteGuard.isNull()) {
+-            attach(static_cast<QWaylandBuffer *>(0), 0, 0);
+-            commit();
+             if (mBackingStore) {
+                 mBackingStore->hidden();
+             }
+-- 
+2.7.4
+
index 98d7cb7..c430e52 100644 (file)
@@ -23,6 +23,7 @@ FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
 SRC_URI_append = "\
     file://0010-Added-manifest-file-according-to-smack-3-domain-mode.patch \
     file://0002_expand_ivi-shell.patch \
+    file://0001-Avoid-attaching-NULL-buffer-while-hiding-EGL-windows.patch \
     "
 SRC_URI_append_checkforkrogoth = "\
     file://disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch \