This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch reproducible-widget-previews
in repository efl.

View the commit online.

commit 5c236194a554fb8f8b0b8140511df1570c60309b
Author: Cedric BAIL <[email protected]>
AuthorDate: Wed Mar 18 21:46:02 2026 -0600

    hoversel: guard against NULL hover in item click and destructor
    
    The item click callback and item destructor both access sd->hover
    without checking for NULL. The hover popup can already be dismissed
    (and sd->hover set to NULL) by the time these run -- for example,
    when the item's selected smart callback or item->func triggers
    hover dismissal before _on_item_clicked finishes.
    
    This produced runtime safety errors:
      evas_object_event_callback_priority_add() safety check failed: eo_obj == NULL
    
    Add NULL checks before accessing sd->hover in both _on_item_clicked
    and _elm_hoversel_item_efl_object_destructor.
    
    Made-with: Cursor
---
 src/lib/elementary/elc_hoversel.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/elc_hoversel.c b/src/lib/elementary/elc_hoversel.c
index 6a9708c407..83c5356d82 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -178,7 +178,8 @@ _on_item_clicked(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
    if (item->func) item->func((void *)WIDGET_ITEM_DATA_GET(eo_it), obj2, eo_it);
    evas_object_smart_callback_call(obj2, "selected", eo_it);
 
-   evas_object_event_callback_add(sd->hover, EVAS_CALLBACK_DEL, _auto_update, item);
+   if (sd->hover)
+     evas_object_event_callback_add(sd->hover, EVAS_CALLBACK_DEL, _auto_update, item);
 
    elm_hoversel_hover_end(obj2);
 }
@@ -614,7 +615,8 @@ _elm_hoversel_item_efl_object_destructor(Eo *eo_item, Elm_Hoversel_Item_Data *it
 {
    ELM_HOVERSEL_DATA_GET_OR_RETURN(WIDGET(item), sd);
 
-   evas_object_event_callback_del_full(sd->hover, EVAS_CALLBACK_DEL, _auto_update, eo_item);
+   if (sd->hover)
+     evas_object_event_callback_del_full(sd->hover, EVAS_CALLBACK_DEL, _auto_update, eo_item);
    elm_hoversel_hover_end(WIDGET(item));
    sd->items = eina_list_remove(sd->items, eo_item);
    eina_stringshare_del(item->label);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to