From fb2bcea0d075d911e290ffd0f2e20e7722b1b51c Mon Sep 17 00:00:00 2001 From: Gustavo Lima Chaves Date: Wed, 7 Mar 2012 19:43:23 +0000 Subject: [PATCH] [Elm] Document obj signal callaback del properly. Specify which data ptr it returns better. Also forbid uninitialized var. access there. SVN revision: 69021 --- legacy/elementary/src/lib/elm_object.h | 19 +++++++++++-------- legacy/elementary/src/lib/elm_widget.c | 7 +++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/legacy/elementary/src/lib/elm_object.h b/legacy/elementary/src/lib/elm_object.h index 0a2d672686..8d1dad86f3 100644 --- a/legacy/elementary/src/lib/elm_object.h +++ b/legacy/elementary/src/lib/elm_object.h @@ -282,18 +282,21 @@ EAPI void elm_object_signal_callback_add(Evas_Object *obj, const char *e /** * Remove a signal-triggered callback from a widget edje object. * - * This function removes a callback, previously attached to a - * signal emitted by the edje object of the obj. The parameters - * emission, source and func must match exactly those passed to a - * previous call to elm_object_signal_callback_add(). The data - * pointer that was passed to this call will be returned. - * - * @param obj The object + * @param obj The object handle * @param emission The signal's name. * @param source The signal's source. * @param func The callback function to be executed when the signal is * emitted. - * @return The data pointer + * @return The data pointer of the signal callback or @c NULL, on + * errors. + * + * This function removes the @b last callback, previously attached to + * a signal emitted by an undelying Edje object of @a obj, whose + * parameters @a emission, @a source and @c func match exactly with + * those passed to a previous call to + * elm_object_signal_callback_add(). The data pointer that was passed + * to this call will be returned. + * * @ingroup General */ EAPI void *elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func); diff --git a/legacy/elementary/src/lib/elm_widget.c b/legacy/elementary/src/lib/elm_widget.c index 9a888249f2..2eb2d48b73 100644 --- a/legacy/elementary/src/lib/elm_widget.c +++ b/legacy/elementary/src/lib/elm_widget.c @@ -1882,10 +1882,13 @@ elm_widget_signal_callback_del(Evas_Object *obj, eina_stringshare_del(esd->source); data = esd->data; free(esd); - break; + + sd->callback_del_func + (obj, emission, source, _edje_signal_callback, esd); + return data; } } - sd->callback_del_func(obj, emission, source, _edje_signal_callback, esd); + return data; }