On Thu, Jun 17, 2010 at 5:28 AM, Brett Nash <n...@nash.id.au> wrote:
> 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?
>

Agh! I went through that several times and still took me
five minutes to understand what you were talking about.
I'll fix those now.

>
>> 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
>

------------------------------------------------------------------------------
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

Reply via email to