Revert "Change QWindow::visible when surface visibility in ivi shell changes" 39/8039/3
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Mon, 2 Jan 2017 16:33:11 +0000 (01:33 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 4 Jan 2017 09:39:13 +0000 (09:39 +0000)
This reverts commit d0f95885030e5f425c0423a7a29414a204aaa341.

This is root cause of issue that screen doesn't change
from blank screen after booting.

ivi-surface's visibility must not link to QWindow's visibility
because changing it's visibility to 0 means destroying wayland
surface (--> eglsurface --> ivi-surface) immmediatly.

On the other hand, ivi-surface is created with
visibility == 0. Therefore, creating ivi-surface triggers
self destruction of ivi-surface itself immediately.

And to make matters worse, Qt5.7's hiding(visibility == 0)
window method, wl.attach(nil, 0, 0) was wrong, it cause
unpredictable operation of weston (In our case, it drops some
events between WindowManager and Weston).

For linking ivi-surface's visibility and visibility in QML,
we should consider another method. At least, commit d0f958's
approach is incorrect in Qt5.7 so far.

Change-Id: Ibe90f9dae634aa5cdb3c166caf4db02dfd71965b
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
recipes-qt/qt5/qtwayland/0002_expand_ivi-shell.patch [deleted file]
recipes-qt/qt5/qtwayland_%.bbappend

diff --git a/recipes-qt/qt5/qtwayland/0002_expand_ivi-shell.patch b/recipes-qt/qt5/qtwayland/0002_expand_ivi-shell.patch
deleted file mode 100644 (file)
index 1233710..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From 74e146ac208dcbfc34c99d903e9827ef2b932046 Mon Sep 17 00:00:00 2001
-From: Tasuku Suzuki <tasuku.suzuki@qt.io>
-Date: Wed, 9 Nov 2016 16:33:28 +0900
-Subject: [PATCH] Change QWindow::visible when surface visibility in ivi shell
- is changed
-
-Change-Id: I2c2debe47fcb173f02aef5f4e60e52c35ad7b395
-Reviewed-by: Yusuke Binsaki <yusuke.binsaki@itage.co.jp>
-Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
----
- src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp | 5 +++++
- src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h | 1 +
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
-index ecc47e0..a2c7788 100644
---- a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
-@@ -89,6 +89,11 @@ void QWaylandIviSurface::ivi_surface_configure(int32_t width, int32_t height)
-     this->m_window->configure(0, width, height);
- }
-+void QWaylandIviSurface::ivi_controller_surface_visibility(int32_t visibility)
-+{
-+    this->m_window->window()->setVisible(visibility != 0);
-+}
-+
- }
- QT_END_NAMESPACE
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
-index 9ac81ad..e332ce7 100644
---- a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
-@@ -61,6 +61,7 @@ public:
- private:
-     void createExtendedSurface(QWaylandWindow *window);
-     virtual void ivi_surface_configure(int32_t width, int32_t height) Q_DECL_OVERRIDE;
-+    void ivi_controller_surface_visibility(int32_t visibility) Q_DECL_OVERRIDE;
-     QWaylandWindow *m_window;
-     QWaylandExtendedSurface *m_extendedWindow;
--- 
-2.7.4
-
-
index c430e52..baaf114 100644 (file)
@@ -22,7 +22,6 @@ 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 = "\