WM set surface source size output_size(1080X1920) in case of using runXDG.
Then, XDG surface shrinks because dest size(1080X1488) is set and
the surface is scaled.
On the other hand, XDG application's source size is w = 0, h = 0
on startup from ivi-wm, so WM has to set source size in somewhere.
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>
this->surfaces[id] = std::make_unique<struct surface>(id, this);
this->chooks->surface_created(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);
+ // 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);
- // Flush display
- this->display->flush();
- }
+ // Flush display
+ this->display->flush();
layer_id);
// set destination to the display rectangle
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
s->set_destination_rectangle(x, y, w, h);
// update area information