[EGIT] [core/enlightenment] master 01/01: it should be edd not eed ... :(

2021-12-17 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=1766779b1940003d9484ecd872fcb1f995e1a804

commit 1766779b1940003d9484ecd872fcb1f995e1a804
Author: Marcel Hollerbach 
Date:   Fri Dec 17 13:19:28 2021 +0100

it should be edd not eed ... :(
---
 src/modules/lokker/lokker.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/lokker/lokker.c b/src/modules/lokker/lokker.c
index 67d79b77f..91ad1cda0 100644
--- a/src/modules/lokker/lokker.c
+++ b/src/modules/lokker/lokker.c
@@ -946,7 +946,7 @@ lokker_unlock(void)
 {
e_auth_fprint_end();
E_FREE_LIST(edd->elock_wnd_list, _lokker_popup_free);
-   e_pointer_type_pop(e_comp->pointer, eed, "default");
+   e_pointer_type_pop(e_comp->pointer, edd, "default");
E_FREE_LIST(edd->handlers, ecore_event_handler_del);
if (edd->move_handler) ecore_event_handler_del(edd->move_handler);
 

-- 




[EGIT] [core/enlightenment] master 01/02: do not crash when context is NULL

2021-12-17 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=36eafd9a0ee18b0b780e7560f55a9b4d6821815d

commit 36eafd9a0ee18b0b780e7560f55a9b4d6821815d
Author: Marcel Hollerbach 
Date:   Sat Dec 4 18:02:54 2021 +0100

do not crash when context is NULL
---
 src/bin/e_dbusmenu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_dbusmenu.c b/src/bin/e_dbusmenu.c
index 8abcad285..f2612b567 100644
--- a/src/bin/e_dbusmenu.c
+++ b/src/bin/e_dbusmenu.c
@@ -450,12 +450,14 @@ e_dbusmenu_unload(E_DBusMenu_Ctx *ctx)
 E_API void
 e_dbusmenu_pop_request_cb_set(E_DBusMenu_Ctx *ctx, E_DBusMenu_Pop_Request_Cb 
cb)
 {
+   EINA_SAFETY_ON_NULL_RETURN(ctx);
ctx->pop_request_cb = cb;
 }
 
 E_API void
 e_dbusmenu_update_cb_set(E_DBusMenu_Ctx *ctx, E_DBusMenu_Update_Cb cb)
 {
+   EINA_SAFETY_ON_NULL_RETURN(ctx);
ctx->update_cb = cb;
 }
 

-- 




[EGIT] [core/enlightenment] master 02/02: e_pointer: improve overall

2021-12-17 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=b23776416118cc96348b4cde4ce0e88a35b8ef87

commit b23776416118cc96348b4cde4ce0e88a35b8ef87
Author: Marcel Hollerbach 
Date:   Sun Dec 5 17:27:06 2021 +0100

e_pointer: improve overall

do not allow a dangling pointer, and check all entities that require the
pointer object to be alive.
---
 src/bin/e_pointer.c | 25 +
 src/modules/lokker/lokker.c |  4 ++--
 2 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c
index 22a040fb4..dd4df9b90 100644
--- a/src/bin/e_pointer.c
+++ b/src/bin/e_pointer.c
@@ -249,16 +249,27 @@ _e_pointer_cb_hot_show(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj EINA
_hot_update(ptr);
 }
 
+static void
+_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) {
+  E_Pointer *ptr = data;
+  INF("Cursor-Object (%p) of %p was removed!", ptr->o_ptr, data);
+  ptr->o_ptr = NULL;
+  return;
+}
+
 static void
 _e_pointer_pointer_canvas_init(E_Pointer *ptr, Evas *e, Evas_Object **o_ptr, 
Evas_Object **o_hot)
 {
/* create pointer object */
*o_ptr = edje_object_add(e);
 
+   efl_event_callback_add(*o_ptr, EFL_EVENT_DEL, _del_cb, ptr);
+
/* create hotspot object */
*o_hot = evas_object_rectangle_add(e);
evas_object_color_set(*o_hot, 0, 0, 0, 0);
 
+
evas_object_event_callback_add(*o_hot, EVAS_CALLBACK_MOVE,
   _e_pointer_cb_hot_move, ptr);
evas_object_event_callback_add(*o_ptr, EVAS_CALLBACK_MOVE,
@@ -622,6 +633,9 @@ e_pointer_hide(E_Pointer *ptr)
 E_API void
 e_pointer_show(E_Pointer *ptr)
 {
+   EINA_SAFETY_ON_NULL_RETURN(ptr);
+   EINA_SAFETY_ON_NULL_RETURN(ptr->o_ptr);
+
if ((!ptr->buffer_evas) && ptr->win) _e_pointer_canvas_add(ptr);
if (ptr->canvas)
  evas_object_show(ptr->o_ptr);
@@ -633,6 +647,7 @@ e_pointer_type_push(E_Pointer *ptr, void *obj, const char 
*type)
E_Pointer_Stack *stack;
 
EINA_SAFETY_ON_NULL_RETURN(ptr);
+   EINA_SAFETY_ON_NULL_RETURN(obj);
 
_e_pointer_type_set(ptr, type);
 
@@ -788,6 +803,10 @@ e_pointer_idler_before(void)
  {
 if ((!ptr->e_cursor) || (!ptr->buffer_evas)) continue;
 
+if (!ptr->o_ptr) {
+  EINA_SAFETY_ERROR("ptr->o_ptr is NULL should not be NULL!");
+}
+
 if (ptr->hot.update)
   _e_pointer_type_set(ptr, ptr->type);
 
@@ -826,6 +845,9 @@ e_pointer_object_set(E_Pointer *ptr, Evas_Object *obj, int 
x, int y)
E_Client *ec;
int px, py;
 
+   EINA_SAFETY_ON_NULL_RETURN(ptr);
+   EINA_SAFETY_ON_NULL_RETURN(ptr->o_ptr);
+
ecore_evas_cursor_get(ptr->ee, , NULL, , );
if (o)
  {
@@ -872,6 +894,9 @@ e_pointer_window_add(E_Pointer *ptr, Ecore_Window win)
 E_API void
 e_pointer_grab_set(E_Pointer *ptr, Eina_Bool grab)
 {
+   EINA_SAFETY_ON_NULL_RETURN(ptr);
+   EINA_SAFETY_ON_NULL_RETURN(ptr->o_ptr);
+
if (grab) ptr->grabcount++;
else
  {
diff --git a/src/modules/lokker/lokker.c b/src/modules/lokker/lokker.c
index 59d417002..67d79b77f 100644
--- a/src/modules/lokker/lokker.c
+++ b/src/modules/lokker/lokker.c
@@ -920,7 +920,7 @@ lokker_lock(void)
mlock(edd, sizeof(Lokker_Data));
 #endif
 
-   e_pointer_type_push(e_comp->pointer, e_comp->pointer, "default");
+   e_pointer_type_push(e_comp->pointer, edd, "default");
E_LIST_FOREACH(e_comp->zones, _lokker_popup_add);
total_zone_num = eina_list_count(e_comp->zones);
 
@@ -946,7 +946,7 @@ lokker_unlock(void)
 {
e_auth_fprint_end();
E_FREE_LIST(edd->elock_wnd_list, _lokker_popup_free);
-   e_pointer_type_pop(e_comp->pointer, e_comp->pointer, "default");
+   e_pointer_type_pop(e_comp->pointer, eed, "default");
E_FREE_LIST(edd->handlers, ecore_event_handler_del);
if (edd->move_handler) ecore_event_handler_del(edd->move_handler);
 

--