_tune_channel(data);
}
-void _mouse_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
+static void _mouse_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
Evas_Event_Mouse_Down *ev)
{
_tune_channel(data);
.mouse_down = _mouse_down_cb,
};
+static void _release_channel_handler(Evas_Object *obj)
+{
+ Eina_List *child, *l;
+ Evas_Object *ly;
+
+ if (!obj)
+ return;
+
+ child = elm_box_children_get(obj);
+
+ EINA_LIST_FOREACH(child, l, ly) {
+ inputmgr_remove_callback(ly, &channel_handler);
+ }
+
+ if (child)
+ eina_list_free(child);
+}
+
static void _load_channel_list(struct _priv *priv, Eina_List *channel_list)
{
Evas_Object *ly, *divider, *first;
DIVIDER_WIDTH, DIVIDER_HEIGHT);
evas_object_show(divider);
+ _release_channel_handler(priv->box);
elm_box_clear(priv->box);
first = NULL;