summaryrefslogtreecommitdiff
path: root/src/lib/eo
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-07-12 10:43:07 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-07-12 11:20:59 +0900
commit40029ce70a7b57352e7070825bf8b15490f2d2e8 (patch)
treefbe770efc48a94ce6ced5ed8088a9b8f843dd2f1 /src/lib/eo
parentb156f606e4fefb9b1d3ac0ca6d180e0d70e0140c (diff)
eo: Don't resolve function calls for NULL objects
eo_function(NULL) always leads to a no-operation. A this point it is basically considered the normal operation with EO to just silently ignore NULL errors. If the API function "eo_function" belongs to a class that has not been loaded yet (eg. no object of this type has been created yet), then the op associated to the API func may not be defined yet. Fixes T5715
Diffstat (limited to 'src/lib/eo')
-rw-r--r--src/lib/eo/eo.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index e4f767b687..2345fd3196 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -691,8 +691,12 @@ _efl_object_api_op_id_get(const void *api_func)
691EAPI Efl_Object_Op 691EAPI Efl_Object_Op
692_efl_object_op_api_id_get(const void *api_func, const Eo *obj, const char *api_func_name, const char *file, int line) 692_efl_object_op_api_id_get(const void *api_func, const Eo *obj, const char *api_func_name, const char *file, int line)
693{ 693{
694 Efl_Object_Op op = _efl_object_api_op_id_get_internal(api_func); 694 Efl_Object_Op op;
695 695
696#ifndef EO_DEBUG
697 if (!obj) return EFL_NOOP;
698#endif
699 op = _efl_object_api_op_id_get_internal(api_func);
696 if (op == EFL_NOOP) 700 if (op == EFL_NOOP)
697 { 701 {
698 eina_log_print(_eo_log_dom, EINA_LOG_LEVEL_ERR, 702 eina_log_print(_eo_log_dom, EINA_LOG_LEVEL_ERR,