Re: [E-devel] [patch] elm_genlist - bugfix evas_object_del at selected callback

2011-08-03 Thread Daniel Juyung Seo
Great. evas_object_ref/unref is a good idea.
Thanks raster!

Daniel Juyung Seo (SeoZ)

On Wed, Aug 3, 2011 at 2:41 PM, Carsten Haitzler  wrote:
> On Tue, 02 Aug 2011 19:06:21 +0900 Hyoyoung Chang 
> said:
>
>> Dear developers.
>>
>> This patch is about elm_genlist.
>> When a user delete genlist object at selected callback,
>> Genlist don't proper handle it.
>> Before genlist clearing, genlist delete its widget data.
>> So sometimes, it's crashed.
>>
>> I made two point diffs
>> 1. add genlist clearning at _del_hook
>> 2. checking at _item_select, whether it's deleted or not.
>
> ok. is ee what you're doing. yes - it could be freed if cb deleted the obj.
> kind of nasty to handle. this is one way to handle it. the other may be to
> evas_object_ref() and unref() :) it is nicer and cleaner. for now your
> patch goes in... but look at the object ref/unref. :) the side effect is that
> the object deletion gets delayed).
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)    ras...@rasterman.com
>
>
> --
> BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
> The must-attend event for mobile developers. Connect with experts.
> Get tools for creating Super Apps. See the latest technologies.
> Sessions, hands-on labs, demos & much more. Register early & save!
> http://p.sf.net/sfu/rim-blackberry-1
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

--
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: tasn IN trunk/elementary/data/themes: . widgets

2011-08-03 Thread Daniel Juyung Seo
Raster was the only one who disagreed with this idea.
So break him!

Anyway we made it :)

Daniel Juyung Seo (SeoZ)

On Wed, Aug 3, 2011 at 3:25 PM, Tom Hacohen
 wrote:
> On 03/08/11 03:50, Jihoon Kim wrote:
>> Tom, wow, awesome job!
>> I also have thought default.edc should be split into each widget.edc.
>> Thanks your effort:)
>
> Ah, thunderbird crashed when I tried to reply with the whole commit
> patch included.
>
> Np, as I said in the commit log, it took me less than 40 minutes, and I
> really need it/will need it in the near future - so why not?
>
> The hard part was to convince raster. :) Had to promise I'll fix Edje if
> this ever breaks anything for anyone.
>
> --
> Tom.
>
> --
> BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
> The must-attend event for mobile developers. Connect with experts.
> Get tools for creating Super Apps. See the latest technologies.
> Sessions, hands-on labs, demos & much more. Register early & save!
> http://p.sf.net/sfu/rim-blackberry-1
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

--
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [PATCH] mutex lock is not released in error cases in eina_share_common functions

2011-08-03 Thread Myungjae Lee
Hello, all.

 

In error cases, such as node is NULL in eina_share_common_del function mutex
lock is not released when the function returns and this can cause infinite
loop.

 

Please review this patch and apply it if it is acceptable.

 

Thanks.



eina_share_common.c.patch
Description: Binary data
--
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [PATCH] mutex lock is not released in error cases in eina_share_common functions

2011-08-03 Thread Cedric BAIL
On Wed, Aug 3, 2011 at 1:24 PM, Myungjae Lee  wrote:
> Hello, all.
>
> In error cases, such as node is NULL in eina_share_common_del function mutex
> lock is not released when the function returns and this can cause infinite
> loop.
>
> Please review this patch and apply it if it is acceptable.

Thanks, patch in.
-- 
Cedric BAIL

--
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [patch] elm_genlist - bugfix evas_object_del at selected callback

2011-08-03 Thread Hyoyoung Chang
I know that apis but I don't know how much it's useful.
Thanks

And I attached refined version of this patch.

> -Original Message-
> From: Carsten Haitzler (The Rasterman) [mailto:ras...@rasterman.com]
> Sent: Wednesday, August 03, 2011 2:41 PM
> To: Enlightenment developer list
> Cc: Hyoyoung Chang
> Subject: Re: [E-devel] [patch] elm_genlist - bugfix evas_object_del at
> selected callback
> 
> On Tue, 02 Aug 2011 19:06:21 +0900 Hyoyoung Chang
> 
> said:
> 
> > Dear developers.
> >
> > This patch is about elm_genlist.
> > When a user delete genlist object at selected callback,
> > Genlist don't proper handle it.
> > Before genlist clearing, genlist delete its widget data.
> > So sometimes, it's crashed.
> >
> > I made two point diffs
> > 1. add genlist clearning at _del_hook
> > 2. checking at _item_select, whether it's deleted or not.
> 
> ok. is ee what you're doing. yes - it could be freed if cb deleted the
obj.
> kind of nasty to handle. this is one way to handle it. the other may be to
> evas_object_ref() and unref() :) it is nicer and cleaner. for now your
> patch goes in... but look at the object ref/unref. :) the side effect is
> that
> the object deletion gets delayed).
> 
> 
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
Index: src/lib/elm_genlist.c
===
--- src/lib/elm_genlist.c   (리비전 62078)
+++ src/lib/elm_genlist.c   (작업 사본)
@@ -540,12 +540,6 @@
if (wd->multi_timer) ecore_timer_del(wd->multi_timer);
if (wd->mode_type) eina_stringshare_del(wd->mode_type);
if (wd->scr_hold_timer) ecore_timer_del(wd->scr_hold_timer);
-   if (wd->walking > 0)
- {
-wd->walking = 0;
-elm_genlist_clear(obj);
- }
-
free(wd);
 }
 
@@ -833,16 +827,10 @@
it->selected = EINA_TRUE;
it->wd->selected = eina_list_append(it->wd->selected, it);
 call:
+   evas_object_ref(it->base.widget);
it->walking++;
it->wd->walking++;
-   if (it->func.func)
- {
-Evas_Object *baseobj = it->base.widget;
-const char *objtype = NULL;
-it->func.func((void *)it->func.data, it->base.widget, it);
-objtype = evas_object_type_get(baseobj);
-if ((!objtype) || (!strcmp(objtype,""))) return;
- }
+   if (it->func.func) it->func.func((void *)it->func.data, it->base.widget, 
it);
if (!it->delete_me)
  evas_object_smart_callback_call(it->base.widget, SIG_SELECTED, it);
it->walking--;
@@ -857,6 +845,7 @@
   }
  }
it->wd->last_selected_item = it;
+   evas_object_unref(it->base.widget);
 }
 
 static void
--
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [patch] elm_widget - elm_widget_type_unregister

2011-08-03 Thread Hyoyoung Chang
Dear developers.

This patch is adding a api to elm_widget.
In elm_widget, there is an api to register widget type to elementary's own
list.
However it doesn't provide unregister api.
So I made this patch.

Most of case, it's not needed. But in some case, it's useful.
(such as elm objects in DSO, if a DSO unloaded, registered widtype is
invalidated)

Thank you
Index: src/lib/elm_widget.c
===
--- src/lib/elm_widget.c(리비전 62078)
+++ src/lib/elm_widget.c(작업 사본)
@@ -411,6 +411,18 @@
widtypes = eina_list_append(widtypes, (void *)ptr);
 }
 
+/**
+ * @defgroup Widget Widget
+ *
+ * @internal
+ * Disposed api for making widgets
+ */
+EAPI void
+elm_widget_type_unregister(const char **ptr)
+{
+   widtypes = eina_list_remove(widtypes, (void *)ptr);
+}
+
 EAPI Eina_Bool
 elm_widget_api_check(int ver)
 {
Index: src/lib/elm_widget.h
===
--- src/lib/elm_widget.h(리비전 62078)
+++ src/lib/elm_widget.h(작업 사본)
@@ -324,6 +324,7 @@
 EAPI int  elm_widget_drag_child_locked_y_get(const Evas_Object 
*obj);
 EAPI Eina_Boolelm_widget_theme_object_set(Evas_Object *obj, 
Evas_Object *edj, const char *wname, const char *welement, const char *wstyle);
 EAPI void elm_widget_type_register(const char **ptr);
+EAPI void elm_widget_type_unregister(const char **ptr);
 EAPI Eina_Boolelm_widget_type_check(const Evas_Object *obj, const char 
*type);
 EAPI Eina_List   *elm_widget_stringlist_get(const char *str);
 EAPI void elm_widget_stringlist_free(Eina_List *list);
--
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [patch] elm_genlist - bugfix evas_object_del at selected callback

2011-08-03 Thread The Rasterman
On Thu, 04 Aug 2011 14:46:23 +0900 Hyoyoung Chang 
said:

well evas_object_ref() and unref() keep and object from being deleted until all
the refs have been removed, so it avoids the deletion problem there. you can do
ref at start of func and unref at every exit point meaning that obj will
delay deletion until the last unref. :)

> I know that apis but I don't know how much it's useful.
> Thanks
> 
> And I attached refined version of this patch.
> 
> > -Original Message-
> > From: Carsten Haitzler (The Rasterman) [mailto:ras...@rasterman.com]
> > Sent: Wednesday, August 03, 2011 2:41 PM
> > To: Enlightenment developer list
> > Cc: Hyoyoung Chang
> > Subject: Re: [E-devel] [patch] elm_genlist - bugfix evas_object_del at
> > selected callback
> > 
> > On Tue, 02 Aug 2011 19:06:21 +0900 Hyoyoung Chang
> > 
> > said:
> > 
> > > Dear developers.
> > >
> > > This patch is about elm_genlist.
> > > When a user delete genlist object at selected callback,
> > > Genlist don't proper handle it.
> > > Before genlist clearing, genlist delete its widget data.
> > > So sometimes, it's crashed.
> > >
> > > I made two point diffs
> > > 1. add genlist clearning at _del_hook
> > > 2. checking at _item_select, whether it's deleted or not.
> > 
> > ok. is ee what you're doing. yes - it could be freed if cb deleted the
> obj.
> > kind of nasty to handle. this is one way to handle it. the other may be to
> > evas_object_ref() and unref() :) it is nicer and cleaner. for now your
> > patch goes in... but look at the object ref/unref. :) the side effect is
> > that
> > the object deletion gets delayed).
> > 
> > 
> > --
> > - Codito, ergo sum - "I code, therefore I am" --
> > The Rasterman (Carsten Haitzler)ras...@rasterman.com


-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel