From: Janos Kovacs Date: Wed, 21 Jan 2015 13:57:27 +0000 (+0200) Subject: system-controller: only override dst rectangle for apps. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F83%2F34183%2F1;p=profile%2Fivi%2Fmurphy.git system-controller: only override dst rectangle for apps. Ignoring other types of layers keeps the homescreen itself without sudden changes. Makes the homescreen's launcher component pop up and down smoothly. Change-Id: If3fd985599a34d4226fd13250c9d4d2127e7d9ab --- diff --git a/src/plugins/system-controller/wayland/glm-window-manager.c b/src/plugins/system-controller/wayland/glm-window-manager.c index 43b7851..b4b9283 100644 --- a/src/plugins/system-controller/wayland/glm-window-manager.c +++ b/src/plugins/system-controller/wayland/glm-window-manager.c @@ -982,6 +982,8 @@ static void surface_destination_rectangle_callback(void *data, mrp_wayland_t *wl; mrp_glm_window_manager_t *wm; mrp_wayland_window_update_t u; + mrp_wayland_layer_t *layer; + mrp_wayland_layer_type_t layer_type; char buf[256]; bool commit_needed = false; @@ -1020,9 +1022,16 @@ static void surface_destination_rectangle_callback(void *data, * wayland messages but hopefully will not end up in a infinite * loop ... */ - if ((sf->requested_x <= MAX_COORDINATE && x != sf->requested_x ) || - (sf->requested_y <= MAX_COORDINATE && y != sf->requested_y ) || - (width != sf->requested_width) || (height != sf->requested_height)) + if ((layer = mrp_wayland_layer_find_by_id(wl, sf->layerid))) + layer_type = layer->type; + else + layer_type = MRP_WAYLAND_LAYER_TYPE_UNKNOWN; + + + if ((layer_type == MRP_WAYLAND_LAYER_APPLICATION) && + ((sf->requested_x <= MAX_COORDINATE && x != sf->requested_x ) || + (sf->requested_y <= MAX_COORDINATE && y != sf->requested_y ) || + (width != sf->requested_width)||(height != sf->requested_height))) { /* * If our original requested width/height are zero,