This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository efm2.
View the commit online.
commit a826a75fea2e7f94282a2bdf3a931b6efabfb288
Author: Carsten Haitzler (Rasterman) <[email protected]>
AuthorDate: Sat Jun 20 10:35:43 2026 +0100
remove pointless obj dels in smart del and handle refocus attempts
---
src/efm/efm.c | 2 ++
src/efm/efm_graph.c | 12 ------------
src/efm/efm_icon.c | 15 ---------------
src/efm/efm_structs.h | 2 +-
4 files changed, 3 insertions(+), 28 deletions(-)
diff --git a/src/efm/efm.c b/src/efm/efm.c
index 5b5cdc4..651d81a 100644
--- a/src/efm/efm.c
+++ b/src/efm/efm.c
@@ -93,6 +93,7 @@ _cb_focus_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
{
Smart_Data *sd = data;
+ if (sd->in_del) return;
// printf("XXX: FOCUS OUT CLIP\n");
if (sd->refocus_job) ecore_job_del(sd->refocus_job);
sd->refocus_job = ecore_job_add(_cb_refocus, sd);
@@ -581,6 +582,7 @@ _smart_del(Evas_Object *obj)
const char *s;
ENTRY;
+ sd->in_del = EINA_TRUE;
efm_menu_provider_select(sd->o_smart, -1);
_efm_list = eina_list_remove(_efm_list, obj);
e = evas_object_evas_get(obj);
diff --git a/src/efm/efm_graph.c b/src/efm/efm_graph.c
index 727f4b7..76e31c2 100644
--- a/src/efm/efm_graph.c
+++ b/src/efm/efm_graph.c
@@ -80,24 +80,12 @@ static void
_smart_del(Evas_Object *obj)
{ // delete/free efm view
ENTRY;
- int i;
if (sd->o_vals)
{
- for (i = 0; i < sd->num; i++) evas_object_del(sd->o_vals[i]);
free(sd->o_vals);
sd->o_vals = NULL;
}
- if (sd->o_grid)
- {
- evas_object_del(sd->o_grid);
- sd->o_grid = NULL;
- }
- if (sd->o_base)
- {
- evas_object_del(sd->o_base);
- sd->o_base = NULL;
- }
eina_stringshare_replace(&sd->colorspec, NULL);
sd->o_smart = NULL;
diff --git a/src/efm/efm_icon.c b/src/efm/efm_icon.c
index 0530ee4..43d6f45 100644
--- a/src/efm/efm_icon.c
+++ b/src/efm/efm_icon.c
@@ -535,21 +535,6 @@ _smart_del(Evas_Object *obj)
ecore_thread_cancel(sd->thread_mono_check);
sd->thread_mono_check = NULL;
}
- if (sd->o_image)
- {
- evas_object_del(sd->o_image);
- sd->o_image = NULL;
- }
- if (sd->o_image2)
- {
- evas_object_del(sd->o_image2);
- sd->o_image2 = NULL;
- }
- if (sd->o_video)
- {
- evas_object_del(sd->o_video);
- sd->o_video = NULL;
- }
if (sd->settle_timer)
{
ecore_timer_del(sd->settle_timer);
diff --git a/src/efm/efm_structs.h b/src/efm/efm_structs.h
index b286df5..253b554 100644
--- a/src/efm/efm_structs.h
+++ b/src/efm/efm_structs.h
@@ -95,7 +95,6 @@ struct _Smart_Data
int cursor_pos;
} prevcmd;
} typebuf;
-
Evas_Coord icon_min_w, icon_min_h;
Evas_Coord list_min_w, list_min_h;
@@ -134,6 +133,7 @@ struct _Smart_Data
void *menu_data; // some handle to the currently active menu
} menu_provider;
+ Eina_Bool in_del : 1;
Eina_Bool reblocked : 1;
Eina_Bool relayout : 1;
Eina_Bool focused : 1;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.