From 1c832a1b12066adc3a22d7e49c1ff25b25d7616d Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Tue, 19 Jul 2016 08:09:44 -0400 Subject: [PATCH] Revert "elementary: Fix issue of toggling border state causing visual jumps" This reverts commit fb24955782b9242beb9447ebb6631b2b63921988. While this patch did fix the issue of toggling window Borderless state in EFl-Wl client applications, it is "Enlightenment's" stance that it will not change to match this fix, so this has to be reverted else internal E dialogs show up with no border (due to them using SSD). This is going to re-open T4092 sadly :( and now leave that bug with no possible fix. ref T4092 Fixes T4126 Signed-off-by: Chris Michael --- src/lib/elementary/efl_ui_win.c | 66 ++++----------------------------- 1 file changed, 7 insertions(+), 59 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index b50ff41d02..e7b6f229cc 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -3700,8 +3700,6 @@ _elm_win_frame_del(Efl_Ui_Win_Data *sd) if (sd->frame_obj) { - edje_object_part_unswallow(sd->frame_obj, sd->edje); - evas_object_event_callback_del_full (sd->frame_obj, EVAS_CALLBACK_MOVE, _elm_win_frame_obj_move, sd); evas_object_event_callback_del_full @@ -3741,61 +3739,6 @@ _elm_win_frame_del(Efl_Ui_Win_Data *sd) ecore_evas_resize(sd->ee, w, h); } -static void -_elm_win_frame_hide(Efl_Ui_Win_Data *sd) -{ -#ifdef HAVE_ELEMENTARY_WL2 - Eina_Bool alpha; - Ecore_Evas_Engine_Wl_Data *wdata; -#endif - int x, y, w, h; - int ox, oy, ow, oh; - - if (!sd->frame_obj) return; - - edje_object_part_geometry_get(sd->frame_obj, "elm.spacer.opaque", - &ox, &oy, &ow, &oh); - edje_object_part_geometry_get(sd->frame_obj, "elm.swallow.client", - &x, &y, &w, &h); - - edje_object_part_unswallow(sd->frame_obj, sd->edje); - evas_object_hide(sd->frame_obj); - - /* evas_output_framespace_set(sd->evas, 0, 0, 0, 0); */ - -#ifdef HAVE_ELEMENTARY_WL2 - - wdata = sd->ee->engine.data; - wdata->content.x = x; - wdata->content.y = y; - wdata->content.w = w; - wdata->content.h = h; - - alpha = ecore_evas_alpha_get(sd->ee); - if (!alpha) - ecore_wl2_window_opaque_region_set(sd->wl.win, x, y, w, h); - else - ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, 0, 0); - - ecore_wl2_window_geometry_set(sd->wl.win, x, y, w, h); - ecore_wl2_window_input_region_set(sd->wl.win, x, y, w, h); -#endif -} - -static void -_elm_win_frame_show(Efl_Ui_Win_Data *sd) -{ - if (!sd->frame_obj) return; - edje_object_part_swallow(sd->frame_obj, "elm.swallow.client", - sd->edje); - evas_object_show(sd->frame_obj); - -#ifdef HAVE_ELEMENTARY_WL2 - _elm_win_opaque_update(sd); - _elm_win_frame_obj_update(sd); -#endif -} - #ifdef ELM_DEBUG static void _debug_key_down(void *data EINA_UNUSED, @@ -4977,11 +4920,16 @@ _efl_ui_win_borderless_set(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Bool b if (borderless) { - if (need_frame) _elm_win_frame_hide(sd); + if (need_frame) + _elm_win_frame_del(sd); } else { - if (need_frame) _elm_win_frame_show(sd); + if (need_frame) + _elm_win_frame_add(sd, "default"); + + if (sd->frame_obj) + evas_object_show(sd->frame_obj); } TRAP(sd, borderless_set, borderless);