From 01b95f51841d055703447aa819b9329af4e692d1 Mon Sep 17 00:00:00 2001 From: glima 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. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@69021 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/elm_object.h | 19 +++++++++++-------- src/lib/elm_widget.c | 7 +++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/lib/elm_object.h b/src/lib/elm_object.h index 0a2d672..8d1dad8 100644 --- a/src/lib/elm_object.h +++ b/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/src/lib/elm_widget.c b/src/lib/elm_widget.c index 9a88824..2eb2d48 100644 --- a/src/lib/elm_widget.c +++ b/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; } -- 2.7.4