aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-01-12 18:01:15 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-01-12 18:01:15 +0900
commit4d8b6d54bc31c82afe33ea3f9c64eb872bc1c885 (patch)
tree3b38caa345203067becea2ffdcd96451955aee47 /src/lib/elementary/efl_ui_win.c
parenteo - remove the spare eo domain for now for future expansion (diff)
downloadefl-4d8b6d54bc31c82afe33ea3f9c64eb872bc1c885.tar.gz
elm_win - fix getting of stack id string if win id changes
new feature. win id changed with csd pus alpha so reget stack id string then
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 3c7005d208..0c14e7bcf7 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2998,7 +2998,16 @@ _elm_ee_xwin_get(const Ecore_Evas *ee)
static void
_internal_elm_win_xwindow_get(Efl_Ui_Win_Data *sd)
{
+ Ecore_X_Window pwin = sd->x.xwin;
sd->x.xwin = _elm_ee_xwin_get(sd->ee);
+ if (sd->x.xwin != pwin)
+ {
+ char buf[128];
+
+ snprintf(buf, sizeof(buf), "%x", sd->x.xwin);
+ eina_stringshare_del(sd->stack_id);
+ sd->stack_id = eina_stringshare_add(buf);
+ }
}
#endif
@@ -4923,14 +4932,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
#ifdef HAVE_ELEMENTARY_X
_internal_elm_win_xwindow_get(sd);
- if (sd->x.xwin)
- {
- char buf[128];
-
- ecore_x_io_error_handler_set(_elm_x_io_err, NULL);
- snprintf(buf, sizeof(buf), "%x", sd->x.xwin);
- sd->stack_id = eina_stringshare_add(buf);
- }
+ if (sd->x.xwin) ecore_x_io_error_handler_set(_elm_x_io_err, NULL);
#endif
#ifdef HAVE_ELEMENTARY_WL2