diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-07-23 20:19:47 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-07-23 11:38:51 +0000 |
commit | c7366c3b3ad816d1ac5e46f8e2b71b35ac291d67 (patch) | |
tree | 1256a82d063825eb7f91e6ce4cb4ee60b99efa29 | |
parent | f25e25114ab2ef7e3019bfe4ff9b65ff93c41b90 (diff) |
Fix XDG application shrinks
WM set surface source size output_size(1080X1920) in case of using runXDG.
On the other hand, XDG application's source size is w = 0, h = 0
on startup from ivi-wm,
so this patch fixes WM set XDG surface source size.
This is short term solution because WM set source rectangle size
every state changes.
Bug-AGL: SPEC-1584
Change-Id: I128db0b7feaba6b51e13c467e91d5aff6adaf0a7
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r-- | src/wayland_ivi_wm.cpp | 5 | ||||
-rw-r--r-- | src/window_manager.cpp | 2 |
2 files changed, 2 insertions, 5 deletions
diff --git a/src/wayland_ivi_wm.cpp b/src/wayland_ivi_wm.cpp index 75ecbbd..905031a 100644 --- a/src/wayland_ivi_wm.cpp +++ b/src/wayland_ivi_wm.cpp @@ -621,16 +621,11 @@ void controller::surface_created(uint32_t id) this->surfaces[id] = std::make_unique<struct surface>(id, this); this->chooks->surface_created(id); - // TODO: If Clipping is necessary, this process should be modified. { // Set surface type:IVI_WM_SURFACE_TYPE_DESKTOP) // for resizing wayland surface when switching from split to full surface. ivi_wm_set_surface_type(this->proxy.get(), id, IVI_WM_SURFACE_TYPE_DESKTOP); - // Set source reactangle even if we should not need to set it - // for enable setting for destination region. - this->surfaces[id]->set_source_rectangle(0, 0, this->output_size.w, this->output_size.h); - // Flush display this->display->flush(); } diff --git a/src/window_manager.cpp b/src/window_manager.cpp index 5b86af8..15f55f0 100644 --- a/src/window_manager.cpp +++ b/src/window_manager.cpp @@ -738,6 +738,8 @@ void WindowManager::surface_set_layout(int surface_id, const std::string& area) layer_id); // set destination to the display rectangle + s->set_source_rectangle(0, 0, w, h); + this->layout_commit(); s->set_destination_rectangle(x, y, w, h); // update area information |