kuuko pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=fcc93216f9b7179f4af13b29ddde848fcc94f19f

commit fcc93216f9b7179f4af13b29ddde848fcc94f19f
Author: Kai Huuhko <kai.huu...@gmail.com>
Date:   Mon Mar 23 19:15:25 2015 +0200

    Evas.SmartObject: Fix smart callbacks with NULL event_info
    
    If the event has a conversion func assigned but event_info is NULL
    we should pass None instead of dropping the parameter. This behavior
    is now the same as before the callback rework.
---
 efl/evas/efl.evas_object_smart.pxi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/efl/evas/efl.evas_object_smart.pxi 
b/efl/evas/efl.evas_object_smart.pxi
index 087841e..3014e08 100644
--- a/efl/evas/efl.evas_object_smart.pxi
+++ b/efl/evas/efl.evas_object_smart.pxi
@@ -420,11 +420,13 @@ cdef void _smart_callback(void *data, Evas_Object *o, 
void *event_info) with gil
         if event_info == NULL:
             try:
                 tmp_args = [spec.obj]
+                if spec.event_conv != NULL:
+                    tmp_args.append(None)
                 tmp_args.extend(spec.args)
                 PyObject_Call(spec.func, tuple(tmp_args), spec.kargs)
             except Exception:
                 traceback.print_exc()
-        elif spec.event_conv == NULL:
+        elif event_info != NULL and spec.event_conv == NULL:
             EINA_LOG_DOM_WARN(
                 PY_EFL_EVAS_LOG_DOMAIN,
                 'event_info for event "%s" is not NULL and there is no 
event_conv!',

-- 


Reply via email to