summaryrefslogtreecommitdiff
path: root/src/lib/edje/edje_smart.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-05 14:33:00 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-05 14:33:00 +0100
commite6d9ea7539418ea2f898853c5f3655d3417153f7 (patch)
treeaa9ffb4c29e68746dfd3aba477c32d6d2a7a5425 /src/lib/edje/edje_smart.c
parenta70808fb9643e95659582aced54e09555252afe7 (diff)
fix more edje file set breaks
if group does change unloaidng first is bad because of the same reasons - losing swallowed etc. content. so disable entirely.
Diffstat (limited to 'src/lib/edje/edje_smart.c')
-rw-r--r--src/lib/edje/edje_smart.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 1777912..674c7cd 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -466,21 +466,17 @@ edje_object_mmap_set(Edje_Object *obj, const Eina_File *file, const char *group)
466EAPI Eina_Bool 466EAPI Eina_Bool
467edje_object_file_set(Edje_Object *obj, const char *file, const char *group) 467edje_object_file_set(Edje_Object *obj, const char *file, const char *group)
468{ 468{
469 const char *cur_file = efl_file_get(obj); 469 // We can't blindly unload here - this loses swallowed content (in
470 const char *cur_group = efl_file_key_get(obj); 470 // swallows, boxes, tables etc.) ... this here along with an actual
471 471 // implementation of file unload broke the pager in E for starters
472 if (!(((file) && (cur_file) && (!strcmp(cur_file, file))) && 472 // as shading then unshading (double click titlebar) a window would
473 ((group) && (cur_group) && (!strcmp(cur_group, group))))) 473 // lose the mini preview image obj swallowed in. also fullscreening
474 { 474 // would do it. this also broke gadget bar, the xkb gadget in it too
475 // We can't blindly unload here - this loses swallowed content (in 475 // and more... so this is a particularly bad thing break. we need to
476 // swallows, boxes, tables etc.) ... this here along with an actual 476 // iterate over every child and re-swallow, re-pack into boxes, tables
477 // implementation of file unload broke the pager in E for starters 477 // etc. because that is what edje used to do. unloading here is definitely
478 // as shading then unshading (double click titlebar) a window would 478 // worse ... so disable for now.
479 // lose the mini preview image obj swallowed in. also fullscreening 479 // efl_file_unload(obj);
480 // would do it. this also broke gadget bar, the xkb gadget in it too
481 // and more... so this is a particularly bad thing break
482 efl_file_unload(obj);
483 }
484 return efl_file_simple_load(obj, file, group); 480 return efl_file_simple_load(obj, file, group);
485} 481}
486 482