Fix XDG application shrinks 95/15595/3
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Mon, 23 Jul 2018 11:19:47 +0000 (20:19 +0900)
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Mon, 23 Jul 2018 11:38:51 +0000 (11:38 +0000)
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>
src/wayland_ivi_wm.cpp
src/window_manager.cpp

index 75ecbbd..905031a 100644 (file)
@@ -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();
         }
index 5b86af8..15f55f0 100644 (file)
@@ -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