Seems to be few little bugs here. Nailed one little one... but can you check the rest?
> +EAPI Evas_Object * > +elm_hover_content_unset(Evas_Object *obj, const char *swallow) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype); > + Widget_Data *wd = elm_widget_data_get(obj); > + Subinfo *si; > + Evas_Object *content; > + const Eina_List *l; > + char buf[1024]; > + if (!wd) return NULL; > + snprintf(buf, sizeof(buf), "elm.swallow.slot.%s", swallow); > + EINA_LIST_FOREACH(wd->subs, l, si) > + { > + if (!strcmp(buf, si->swallow)) > + { > + if (!si->obj) return NULL; > + content = si->obj; > + elm_widget_sub_object_del(obj, si->obj); > + edje_object_part_unswallow(wd->cov, si->obj); > + si->obj = NULL; > + break; > + } > + } > + return content; > +} 'content' may not be initialised. And why not return when you get it? > Modified: trunk/TMP/st/elementary/src/lib/elm_layout.c > =================================================================== > --- trunk/TMP/st/elementary/src/lib/elm_layout.c 2010-06-16 > 20:58:01 UTC (rev 49705) +++ > trunk/TMP/st/elementary/src/lib/elm_layout.c 2010-06-16 > 20:58:09 UTC (rev 49706) @@ -211,6 +211,10 @@ /** > * Set the layout content > * > + * Once the content object is set, a previously set one will be > deleted. > + * If you want to keep that old content object, use the > + * elm_layout_content_unset() function. > + * > * @param obj The layout object > * @param swallow The swallow group name in the edje file > * @param content The content will be filled in this layout object > @@ -230,7 +234,8 @@ > if (!strcmp(swallow, si->swallow)) > { > if (content == si->obj) return; > - elm_widget_sub_object_del(obj, si->obj); > + evas_object_del(si->obj); > + si->obj = NULL; > break; > } > } > @@ -245,11 +250,46 @@ > si->swallow = eina_stringshare_add(swallow); > si->obj = content; > wd->subs = eina_list_append(wd->subs, si); > - _request_sizing_eval(obj); > } > + _request_sizing_eval(obj); > } > > /** > + * Unset the layout content > + * > + * Unparent and return the content object which was set for this > widget > + * > + * @param obj The layout object > + * @param swallow The swallow group name in the edje file > + * @return The content that was being used > + * > + * @ingroup Layout > + */ > +EAPI Evas_Object * > +elm_layout_content_unset(Evas_Object *obj, const char *swallow) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype) NULL; > + Widget_Data *wd = elm_widget_data_get(obj); > + Subinfo *si; > + Evas_Object *content; > + const Eina_List *l; > + if (!wd) return NULL; > + EINA_LIST_FOREACH(wd->subs, l, si) > + { > + if (!strcmp(swallow, si->swallow)) > + { > + if (!si->obj) return NULL; > + content == si->obj; > + elm_widget_sub_object_del(obj, si->obj); > + edje_object_part_unswallow(wd->lay, si->obj); > + si->obj = NULL; > + break; > + } > + } > + return content; I fixed the ==. But 'content' again. > Modified: trunk/TMP/st/elementary/src/lib/elm_list.c > =================================================================== > --- trunk/TMP/st/elementary/src/lib/elm_list.c 2010-06-16 > 20:58:01 UTC (rev 49705) +++ > trunk/TMP/st/elementary/src/lib/elm_list.c 2010-06-16 20:58:09 > UTC (rev 49706) @@ -1296,6 +1296,10 @@ /** > * Sets the left side icon associated with the item. > * > + * Once the icon object is set, a previously set one will be deleted. > + * You probably don't want, then, to have the <b>same</b> icon > object set > + * for more than one item of the list. > + * > * @param it The list item > * @param icon The left side icon object to associate with @p it > * > @@ -1307,13 +1311,22 @@ > ELM_LIST_ITEM_CHECK_DELETED_RETURN(it); > if (it->icon == icon) return; > if (it->dummy_icon && !icon) return; > - if (it->dummy_icon) evas_object_del(it->icon); > + if (it->dummy_icon) > + { > + evas_object_del(it->icon); > + it->dummy_icon = EINA_FALSE; Is this right? > + } > if (!icon) > { > icon = > evas_object_rectangle_add(evas_object_evas_get(it->obj)); > evas_object_color_set(icon, 0, 0, 0, 0); it->dummy_icon = EINA_TRUE; > } > + if (it->icon) > + { > + evas_object_del(it->icon); > + it->icon = NULL; > + } > it->icon = icon; > if (it->base) > edje_object_part_swallow(it->base, "elm.swallow.icon", icon); > @@ -1336,8 +1349,12 @@ > } Regards, nash ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel