summaryrefslogtreecommitdiffstats
path: root/src/window_manager.cpp
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2018-08-02 16:14:39 +0000
committerGerrit Code Review <gerrit@automotivelinux.org>2018-08-02 16:14:39 +0000
commita79b572a5f26d6ecdd97dff159c40bad330e1c4c (patch)
tree4f59786da7ad1d642e682c27ca5d8182d3d76c4f /src/window_manager.cpp
parent8a791cb2ab7c159aac440cd97fbf2ae75d79b31f (diff)
parent40ec5ee486893ccb1d259c7980b077cb087494aa (diff)
Merge changes from topic '15921'
* changes: Fix WM attach layers to different screen. Fix source rectangle changes every state change
Diffstat (limited to 'src/window_manager.cpp')
-rw-r--r--src/window_manager.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp
index c44210f..aa42d82 100644
--- a/src/window_manager.cpp
+++ b/src/window_manager.cpp
@@ -184,12 +184,12 @@ int WindowManager::init()
// This protocol needs the output, so lets just add our mapping here...
this->controller->add_proxy_to_id_mapping(
- this->outputs.back()->proxy.get(),
+ this->outputs.front()->proxy.get(),
wl_proxy_get_id(reinterpret_cast<struct wl_proxy *>(
- this->outputs.back()->proxy.get())));
+ this->outputs.front()->proxy.get())));
// Create screen
- this->controller->create_screen(this->outputs.back()->proxy.get());
+ this->controller->create_screen(this->outputs.front()->proxy.get());
// Set display to controller
this->controller->display = this->display;
@@ -574,6 +574,8 @@ void WindowManager::send_event(char const *evname, char const *label, char const
*/
void WindowManager::surface_created(uint32_t surface_id)
{
+ this->controller->get_surface_properties(surface_id, IVI_WM_PARAM_SIZE);
+
auto layer_id = this->layers.get_layer_id(surface_id);
if (!layer_id)
{
@@ -742,8 +744,6 @@ 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
@@ -1292,6 +1292,7 @@ WMError WindowManager::doEndDraw(unsigned req_num)
HMI_SEQ_DEBUG(req_num, "visible %s", act.role.c_str());
//this->lm_enddraw(act.role.c_str());
}
+ this->layout_commit();
// Change current state
this->changeCurrentState(req_num);
@@ -1771,12 +1772,12 @@ const char* WindowManager::kDefaultOldRoleDb = "{ \
*/
void controller_hooks::surface_created(uint32_t surface_id)
{
- this->app->surface_created(surface_id);
+ this->wmgr->surface_created(surface_id);
}
void controller_hooks::surface_removed(uint32_t surface_id)
{
- this->app->surface_removed(surface_id);
+ this->wmgr->surface_removed(surface_id);
}
void controller_hooks::surface_visibility(uint32_t /*surface_id*/,