Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Michael Blumenkrantz
so wait a minute...everyone fights against this for literally over a year,
and now it gets in without further discussion because applications require
it seriously?


On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git 
no-re...@enlightenment.org wrote:

 hermet pushed a commit to branch master.

 commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
 Author: ChunEon Park her...@hermet.pe.kr
 Date:   Mon Sep 2 17:19:36 2013 +0900

 elementary/widget - introduce elm_object_item_object_get().

 We've countered application's requirements multiple times to they have
 the object handle from the elm_object_item.

 Now we introduce it for their convenient but they should use it
 carefully.
 ---
  ChangeLog |  6 +-
  NEWS  |  1 +
  src/lib/elm_main.c|  6 ++
  src/lib/elm_object_item.h | 19 +++
  src/lib/elm_removed.h | 15 +--
  src/lib/elm_widget.c  |  7 +++
  src/lib/elm_widget.h  |  1 +
  7 files changed, 40 insertions(+), 15 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4c59fdc..1695f01 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -1578,6 +1578,10 @@

  * Gengrid: implement selectraise feature.

 -2013-08-28  DAniel Juyung Seo (SeoZ)
 +2013-08-28  Daniel Juyung Seo (SeoZ)

  * Bg: Add bg reset feature.
 +
 +2013-09-02  ChunEon Park (Hermet)
 +
 +* Widget: Introduce elm_object_item_object_get() API.
 diff --git a/NEWS b/NEWS
 index c2056f3..c6046bd 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -85,6 +85,7 @@ Additions:
 * Add elm_win_focus_highlight_animate_set/get().
 * Add selectraise feature to gengrid.
 * Add bg reset feature.
 +   * Add elm_object_item_object_get().

  Improvements:

 diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
 index 2fa2ea0..9f138b2 100644
 --- a/src/lib/elm_main.c
 +++ b/src/lib/elm_main.c
 @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
 Elm_Object_Item *it)
  {
 return elm_widget_item_cursor_engine_only_get(it);
  }
 +
 +EAPI const Evas_Object *
 +elm_object_item_object_get(const Elm_Object_Item *it)
 +{
 +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
 +}
 diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
 index 8a0ccde..f256a63 100644
 --- a/src/lib/elm_object_item.h
 +++ b/src/lib/elm_object_item.h
 @@ -34,6 +34,25 @@ typedef void
  (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
  EAPI Evas_Object *elm_object_item_widget_get(const
 Elm_Object_Item *it);

  /**
 + * Get the object item's internal object handle.
 + *
 + * @param it The Elementary object item
 + * @return The Internal object of the object item.
 + *
 + * @note This function should only be used if you really need to refer the
 + * internal object's properties (i.e geometry). Since the object items are
 + * managed/controlled by the widget, you should not modify the object
 directly
 + * nor you should not treat the object without validation.
 + *
 + * Some widget items may return @c NULL for this API if the items @p are
 not
 + * based on the evas object.
 + *
 + * @since 1.8
 + * @ingroup General
 + */
 +EAPI const Evas_Object   *elm_object_item_object_get(const
 Elm_Object_Item *it);
 +
 +/**
   * Set a content of an object item
   *
   * @param it The Elementary object item
 diff --git a/src/lib/elm_removed.h b/src/lib/elm_removed.h
 index 416726a..59b982f 100644
 --- a/src/lib/elm_removed.h
 +++ b/src/lib/elm_removed.h
 @@ -490,19 +490,6 @@ EINA_DEPRECATED EAPI Elm_Gen_Item
 *elm_gen_item_prev_get(const Elm_Gen_Item *it)
  EINA_DEPRECATED EAPI Evas_Object  *elm_gen_item_widget_get(const
 Elm_Gen_Item *it);

  /**
 - * Get the widget object's handle which contains a given item
 - *
 - * @param it The Elementary object item
 - * @return The widget object
 - *
 - * @note This returns the widget object itself that an item belongs to.
 - * @note Every elm_object_item supports this API
 - * @deprecated Use elm_object_item_widget_get() instead
 - * @ingroup General
 - */
 -EINA_DEPRECATED EAPI Evas_Object
 *elm_object_item_object_get(const Elm_Object_Item *it);
 -
 -/**
   * Set the text to show in the anchorblock
   *
   * Sets the text of the anchorblock to @p text. This text can include
 markup
 @@ -3303,7 +3290,7 @@ EINA_DEPRECATED EAPI void
  elm_slideshow_show(Elm_Object_Item *i
   *
   * This returns the toolbar object itself that an item belongs to.
   *
 - * @deprecated use elm_object_item_object_get() instead.
 + * @deprecated use elm_object_item_widget_get() instead.
   */
  EINA_DEPRECATED EAPI Evas_Object *elm_toolbar_item_toolbar_get(const
 Elm_Object_Item *it);

 diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
 index 5f1aae8..9bcec72 100644
 --- a/src/lib/elm_widget.c
 +++ b/src/lib/elm_widget.c
 @@ -5771,6 +5771,13 @@ _elm_widget_item_translate(Elm_Widget_Item *item)
  #endif
  }

 +EAPI const Evas_Object *
 +_elm_widget_item_object_get(const 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread ChunEon Park
If they know what they are doing exactly, then it won' t be problem.
This gives the applications a chance to decorate their appilcation easily.
  

-Regards, Hermet- 

-Original Message-
From: Michael Blumenkrantzmichael.blumenkra...@gmail.com 
To: Enlightenment developer listenlightenment-devel@lists.sourceforge.net; 
Cc: 
Sent: 2013-09-02 (월) 17:29:41
Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget 
- introduce elm_object_item_object_get().

so wait a minute...everyone fights against this for literally over a year,
and now it gets in without further discussion because applications require
it seriously?


On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git 
no-re...@enlightenment.org wrote:

 hermet pushed a commit to branch master.

 commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
 Author: ChunEon Park hermet@hermet.pe.kr
 Date:   Mon Sep 2 17:19:36 2013 +0900

 elementary/widget - introduce elm_object_item_object_get().

 We've countered application's requirements multiple times to they have
 the object handle from the elm_object_item.

 Now we introduce it for their convenient but they should use it
 carefully.
 ---
  ChangeLog   6 +-
  NEWS1 +
  src/lib/elm_main.c  6 ++
  src/lib/elm_object_item.h  19 +++
  src/lib/elm_removed.h  15 +--
  src/lib/elm_widget.c7 +++
  src/lib/elm_widget.h1 +
  7 files changed, 40 insertions(+), 15 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4c59fdc..1695f01 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -1578,6 +1578,10 @@

  * Gengrid: implement selectraise feature.

 -2013-08-28  DAniel Juyung Seo (SeoZ)
 +2013-08-28  Daniel Juyung Seo (SeoZ)

  * Bg: Add bg reset feature.
 +
 +2013-09-02  ChunEon Park (Hermet)
 +
 +* Widget: Introduce elm_object_item_object_get() API.
 diff --git a/NEWS b/NEWS
 index c2056f3..c6046bd 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -85,6 +85,7 @@ Additions:
 * Add elm_win_focus_highlight_animate_set/get().
 * Add selectraise feature to gengrid.
 * Add bg reset feature.
 +   * Add elm_object_item_object_get().

  Improvements:

 diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
 index 2fa2ea0..9f138b2 100644
 --- a/src/lib/elm_main.c
 +++ b/src/lib/elm_main.c
 @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
 Elm_Object_Item *it)
  {
 return elm_widget_item_cursor_engine_only_get(it);
  }
 +
 +EAPI const Evas_Object *
 +elm_object_item_object_get(const Elm_Object_Item *it)
 +{
 +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
 +}
 diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
 index 8a0ccde..f256a63 100644
 --- a/src/lib/elm_object_item.h
 +++ b/src/lib/elm_object_item.h
 @@ -34,6 +34,25 @@ typedef void
  (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
  EAPI Evas_Object *elm_object_item_widget_get(const
 Elm_Object_Item *it);

  /**
 + * Get the object item's internal object handle.
 + *
 + * @param it The Elementary object item
 + * @return The Internal object of the object item.
 + *
 + * @note This function should only be used if you really need to refer the
 + * internal object's properties (i.e geometry). Since the object items are
 + * managed/controlled by the widget, you should not modify the object
 directly
 + * nor you should not treat the object without validation.
 + *
 + * Some widget items may return @c NULL for this API if the items @p are
 not
 + * based on the evas object.
 + *
 + * @since 1.8
 + * @ingroup General
 + */
 +EAPI const Evas_Object   *elm_object_item_object_get(const
 Elm_Object_Item *it);
 +
 +/**
   * Set a content of an object item
   *
   * @param it The Elementary object item
 diff --git a/src/lib/elm_removed.h b/src/lib/elm_removed.h
 index 416726a..59b982f 100644
 --- a/src/lib/elm_removed.h
 +++ b/src/lib/elm_removed.h
 @@ -490,19 +490,6 @@ EINA_DEPRECATED EAPI Elm_Gen_Item
 *elm_gen_item_prev_get(const Elm_Gen_Item *it)
  EINA_DEPRECATED EAPI Evas_Object  *elm_gen_item_widget_get(const
 Elm_Gen_Item *it);

  /**
 - * Get the widget object's handle which contains a given item
 - *
 - * @param it The Elementary object item
 - * @return The widget object
 - *
 - * @note This returns the widget object itself that an item belongs to.
 - * @note Every elm_object_item supports this API
 - * @deprecated Use elm_object_item_widget_get() instead
 - * @ingroup General
 - */
 -EINA_DEPRECATED EAPI Evas_Object
 *elm_object_item_object_get(const Elm_Object_Item *it);
 -
 -/**
   * Set the text to show in the anchorblock
   *
   * Sets the text of the anchorblock to @p text. This text can include
 markup
 @@ -3303,7 +3290,7 @@ EINA_DEPRECATED EAPI void
  elm_slideshow_show(Elm_Object_Item *i
   *
   * This returns the toolbar object itself that an item belongs to.
   *
 - * 

Re: [E-devel] Fw: Enlightenment presentation? (ping #2)

2013-09-02 Thread Mark-Willem Jansen
Hi Rasterman,

I live in the East of the Netherlands and I am thinking about attending the 
Software Freedom Day. Unfortunately I know to little about the present 
enlightenment development that I will not be able to give a presentation and 
let alone answer difficult questions.

In the past I did some small hacks on modules, but that is how far my 
experience goes with development. I do use e17 on a daily basis.

BTW, are there any Dutchmen working actively on the enlightenment project?

--
Mark-Willem rawnar Jansen

 Date: Thu, 29 Aug 2013 17:20:19 +0900
 From: ras...@rasterman.com
 To: enlightenment-devel@lists.sourceforge.net; 
 enlightenment-us...@lists.sourceforge.net
 Subject: [E-devel] Fw: Enlightenment presentation? (ping #2)
 
 is anyone nearish amsterdam mid sept who wants to do this? :) this is a second
 ping in case someone missed the first... ?
 
 Begin chunk 'o stuff:
 
 Date: Sat, 03 Aug 2013 00:44:39 +0200
 From: Bas de Lange b...@basdelange.com
 To: ras...@rasterman.com
 Subject: Enlightenment presentation?
 
 
 Dear Rasterman,
 
 We are looking for someone from the Amsterdam area willing to give a 
 talk about Enlightenment during Software Freedom Day 2013 at the CWI, 
 Science Park Amsterdam. This on wednesday 18th of september:
 
 http://www.softwarefreedomday.eu/
 
 BTW, we are also organising the International Bitcoin Conference 2013 at 
 the Science Park Amsterdam. This on wednesday 6th to friday 8th of 
 november. If you know people interested, please inform them?
 
 http://bitcoinference.com/
 -- 
 
 International Bitcoin Conference 2013, wednesday 6 to friday 8 november 
 Science Park Amsterdam
 
 http://bitcoinference.com/
 
 
 Met vriendelijke groet,
 
 Best regards,
 
 Bas de Lange
 
 +31 (0)6 166 26 950
 
 
 
 -- 
 - Codito, ergo sum - I code, therefore I am --
 The Rasterman (Carsten Haitzler)ras...@rasterman.com
 
 
 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
  
--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Tom Hacohen
I have to side with Mike here. Both the decision process and the 
solution smell badly. Worse than Mike's tuna breakfasts.

--
Tom.

On 02/09/13 09:48, ChunEon Park wrote:
 If they know what they are doing exactly, then it won' t be problem.
 This gives the applications a chance to decorate their appilcation easily.

 
 -Regards, Hermet-

 -Original Message-
 From: Michael Blumenkrantzmichael.blumenkra...@gmail.com
 To: Enlightenment developer listenlightenment-devel@lists.sourceforge.net;
 Cc:
 Sent: 2013-09-02 (월) 17:29:41
 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
 elementary/widget - introduce elm_object_item_object_get().

 so wait a minute...everyone fights against this for literally over a year,
 and now it gets in without further discussion because applications require
 it seriously?


 On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git 
 no-re...@enlightenment.org wrote:

 hermet pushed a commit to branch master.

 commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
 Author: ChunEon Park hermet@hermet.pe.kr
 Date:   Mon Sep 2 17:19:36 2013 +0900

  elementary/widget - introduce elm_object_item_object_get().

  We've countered application's requirements multiple times to they have
 the object handle from the elm_object_item.

  Now we introduce it for their convenient but they should use it
 carefully.
 ---
   ChangeLog   6 +-
   NEWS1 +
   src/lib/elm_main.c  6 ++
   src/lib/elm_object_item.h  19 +++
   src/lib/elm_removed.h  15 +--
   src/lib/elm_widget.c7 +++
   src/lib/elm_widget.h1 +
   7 files changed, 40 insertions(+), 15 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4c59fdc..1695f01 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -1578,6 +1578,10 @@

   * Gengrid: implement selectraise feature.

 -2013-08-28  DAniel Juyung Seo (SeoZ)
 +2013-08-28  Daniel Juyung Seo (SeoZ)

   * Bg: Add bg reset feature.
 +
 +2013-09-02  ChunEon Park (Hermet)
 +
 +* Widget: Introduce elm_object_item_object_get() API.
 diff --git a/NEWS b/NEWS
 index c2056f3..c6046bd 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -85,6 +85,7 @@ Additions:
  * Add elm_win_focus_highlight_animate_set/get().
  * Add selectraise feature to gengrid.
  * Add bg reset feature.
 +   * Add elm_object_item_object_get().

   Improvements:

 diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
 index 2fa2ea0..9f138b2 100644
 --- a/src/lib/elm_main.c
 +++ b/src/lib/elm_main.c
 @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
 Elm_Object_Item *it)
   {
  return elm_widget_item_cursor_engine_only_get(it);
   }
 +
 +EAPI const Evas_Object *
 +elm_object_item_object_get(const Elm_Object_Item *it)
 +{
 +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
 +}
 diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
 index 8a0ccde..f256a63 100644
 --- a/src/lib/elm_object_item.h
 +++ b/src/lib/elm_object_item.h
 @@ -34,6 +34,25 @@ typedef void
   (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
   EAPI Evas_Object *elm_object_item_widget_get(const
 Elm_Object_Item *it);

   /**
 + * Get the object item's internal object handle.
 + *
 + * @param it The Elementary object item
 + * @return The Internal object of the object item.
 + *
 + * @note This function should only be used if you really need to refer the
 + * internal object's properties (i.e geometry). Since the object items are
 + * managed/controlled by the widget, you should not modify the object
 directly
 + * nor you should not treat the object without validation.
 + *
 + * Some widget items may return @c NULL for this API if the items @p are
 not
 + * based on the evas object.
 + *
 + * @since 1.8
 + * @ingroup General
 + */
 +EAPI const Evas_Object   *elm_object_item_object_get(const
 Elm_Object_Item *it);
 +
 +/**
* Set a content of an object item
*
* @param it The Elementary object item
 diff --git a/src/lib/elm_removed.h b/src/lib/elm_removed.h
 index 416726a..59b982f 100644
 --- a/src/lib/elm_removed.h
 +++ b/src/lib/elm_removed.h
 @@ -490,19 +490,6 @@ EINA_DEPRECATED EAPI Elm_Gen_Item
 *elm_gen_item_prev_get(const Elm_Gen_Item *it)
   EINA_DEPRECATED EAPI Evas_Object  *elm_gen_item_widget_get(const
 Elm_Gen_Item *it);

   /**
 - * Get the widget object's handle which contains a given item
 - *
 - * @param it The Elementary object item
 - * @return The widget object
 - *
 - * @note This returns the widget object itself that an item belongs to.
 - * @note Every elm_object_item supports this API
 - * @deprecated Use elm_object_item_widget_get() instead
 - * @ingroup General
 - */
 -EINA_DEPRECATED EAPI Evas_Object
 *elm_object_item_object_get(const Elm_Object_Item *it);
 -
 -/**
* Set the text to show in the anchorblock
*
* Sets the text of the anchorblock to @p 

Re: [E-devel] [EGIT] [core/elementary] elementary-1.7 01/01: Added clouseau integration.

2013-09-02 Thread Tom Hacohen
On 01/09/13 05:08, Iván Briano wrote:
 On Sat, Aug 31, 2013 at 8:03 PM, Daniel Juyung Seo seojuyu...@gmail.com 
 wrote:
 Tom, I like this patch but I don't think this can go into 1.7 branch as per
 this is not a bug fix that we have been doing for release branch so far.
 This can be a precedence. Someone else will quote this commit later when
 they want to do something more than a bug fix in a release branch.
 (It reminds me of multibuttenentry commit disaster.)
 And I think your commit has influence considering your position in efl
 world.
 I also want to listen to other's opinion.


 Yes, but it's not so much introducing a new features as it is
 providing with support for a handy development tool.

Yes, that's what I was thinking. That's the only reason why I even 
considered adding a feature to a stable branch.

The fact that it's only activated by an env var, and that although it's 
a feature by the plain definition of the word, it's actually there to 
make us less buggy, made me include it.

But as you can see, I asked for outside review, as it's a touchy subject.

--
Tom.


--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread daniel.za...@samsung.com
Sorry for the dumb question but resize callback can't help on that?
Imo, storing pointers to obsolete objects can be very dangerous. But it 
is just my opinion ;-)

Vive Valgrind! Vive la France!
JackDanielZ, alias daniel

On 09/02/2013 01:53 PM, ChunEon Park wrote:
 I think figuring out the items geometry can be one of the common scenarios in 
 app side.

 This is already raised before but nobody answered solution properly as far as 
 I remember.

 My conclusion is,  this is a fight between flexibilty and stable

 For stable, we don't provide that api.
 But i don't think this gurantee application stable and developers satisfy.
 Maybe this may cause them painful to find out proper solutions and they may 
 try more dangerous and difficult method in worse case.

 This causes app go around too much.

 And we don't need to make app developers hard to make it.
   
 
 -Regards, Hermet-

 -Original Message-
 From: Tom Hacohentom.haco...@samsung.com
 To: Enlightenment developer listenlightenment-devel@lists.sourceforge.net;
 Cc:
 Sent: 2013-09-02 (월) 18:20:35
 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
 elementary/widget - introduce elm_object_item_object_get().

 I have to side with Mike here. Both the decision process and the
 solution smell badly. Worse than Mike's tuna breakfasts.

 --
 Tom.

 On 02/09/13 09:48, ChunEon Park wrote:
 If they know what they are doing exactly, then it won' t be problem.
 This gives the applications a chance to decorate their appilcation easily.

 
 -Regards, Hermet-

 -Original Message-
 From: Michael Blumenkrantzmichael.blumenkrantz@gmail.com
 To: Enlightenment developer 
 listenlightenment-devel@lists.sourceforge.net;
 Cc:
 Sent: 2013-09-02 (월) 17:29:41
 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
 elementary/widget - introduce elm_object_item_object_get().

 so wait a minute...everyone fights against this for literally over a year,
 and now it gets in without further discussion because applications require
 it seriously?


 On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git 
 no-re...@enlightenment.org wrote:

 hermet pushed a commit to branch master.

 commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
 Author: ChunEon Park hermet@hermet.pe.kr
 Date:   Mon Sep 2 17:19:36 2013 +0900

   elementary/widget - introduce elm_object_item_object_get().

   We've countered application's requirements multiple times to they have
 the object handle from the elm_object_item.

   Now we introduce it for their convenient but they should use it
 carefully.
 ---
ChangeLog   6 +-
NEWS1 +
src/lib/elm_main.c  6 ++
src/lib/elm_object_item.h  19 +++
src/lib/elm_removed.h  15 +--
src/lib/elm_widget.c7 +++
src/lib/elm_widget.h1 +
7 files changed, 40 insertions(+), 15 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4c59fdc..1695f01 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -1578,6 +1578,10 @@

* Gengrid: implement selectraise feature.

 -2013-08-28  DAniel Juyung Seo (SeoZ)
 +2013-08-28  Daniel Juyung Seo (SeoZ)

* Bg: Add bg reset feature.
 +
 +2013-09-02  ChunEon Park (Hermet)
 +
 +* Widget: Introduce elm_object_item_object_get() API.
 diff --git a/NEWS b/NEWS
 index c2056f3..c6046bd 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -85,6 +85,7 @@ Additions:
   * Add elm_win_focus_highlight_animate_set/get().
   * Add selectraise feature to gengrid.
   * Add bg reset feature.
 +   * Add elm_object_item_object_get().

Improvements:

 diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
 index 2fa2ea0..9f138b2 100644
 --- a/src/lib/elm_main.c
 +++ b/src/lib/elm_main.c
 @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
 Elm_Object_Item *it)
{
   return elm_widget_item_cursor_engine_only_get(it);
}
 +
 +EAPI const Evas_Object *
 +elm_object_item_object_get(const Elm_Object_Item *it)
 +{
 +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
 +}
 diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
 index 8a0ccde..f256a63 100644
 --- a/src/lib/elm_object_item.h
 +++ b/src/lib/elm_object_item.h
 @@ -34,6 +34,25 @@ typedef void
(*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
EAPI Evas_Object *elm_object_item_widget_get(const
 Elm_Object_Item *it);

/**
 + * Get the object item's internal object handle.
 + *
 + * @param it The Elementary object item
 + * @return The Internal object of the object item.
 + *
 + * @note This function should only be used if you really need to refer the
 + * internal object's properties (i.e geometry). Since the object items are
 + * managed/controlled by the widget, you should not modify the object
 directly
 + * nor you should not treat the object without 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Bluezery
Actually I want to discuss about this kinds of APIs for long time ago.
http://sourceforge.net/mailarchive/message.php?msg_id=31297258
But nobody is interested in this.  ;-(

This API is dangerous but the root cause was from App. developers.
For the genlist/gengrid cases, App can use realized/unrealized callback for
checking evas object of the object item.


2013/9/2 ChunEon Park her...@naver.com

 I think figuring out the items geometry can be one of the common scenarios
 in app side.

 This is already raised before but nobody answered solution properly as far
 as I remember.

 My conclusion is,  this is a fight between flexibilty and stable

 For stable, we don't provide that api.
 But i don't think this gurantee application stable and developers satisfy.
 Maybe this may cause them painful to find out proper solutions and they
 may try more dangerous and difficult method in worse case.

 This causes app go around too much.

 And we don't need to make app developers hard to make it.

 
 -Regards, Hermet-

 -Original Message-
 From: Tom Hacohentom.haco...@samsung.com
 To: Enlightenment developer list
 enlightenment-devel@lists.sourceforge.net;
 Cc:
 Sent: 2013-09-02 (월) 18:20:35
 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01:
 elementary/widget - introduce elm_object_item_object_get().

 I have to side with Mike here. Both the decision process and the
 solution smell badly. Worse than Mike's tuna breakfasts.

 --
 Tom.

 On 02/09/13 09:48, ChunEon Park wrote:
  If they know what they are doing exactly, then it won' t be problem.
  This gives the applications a chance to decorate their appilcation
 easily.
 
  
  -Regards, Hermet-
 
  -Original Message-
  From: Michael Blumenkrantzmichael.blumenkrantz@gmail.com
  To: Enlightenment developer listenlightenment-devel@
 lists.sourceforge.net;
  Cc:
  Sent: 2013-09-02 (월) 17:29:41
  Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01:
 elementary/widget - introduce elm_object_item_object_get().
 
  so wait a minute...everyone fights against this for literally over a
 year,
  and now it gets in without further discussion because applications
 require
  it seriously?
 
 
  On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git 
  no-re...@enlightenment.org wrote:
 
  hermet pushed a commit to branch master.
 
  commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
  Author: ChunEon Park hermet@hermet.pe.kr
  Date:   Mon Sep 2 17:19:36 2013 +0900
 
   elementary/widget - introduce elm_object_item_object_get().
 
   We've countered application's requirements multiple times to they
 have
  the object handle from the elm_object_item.
 
   Now we introduce it for their convenient but they should use it
  carefully.
  ---
ChangeLog   6 +-
NEWS1 +
src/lib/elm_main.c  6 ++
src/lib/elm_object_item.h  19 +++
src/lib/elm_removed.h  15 +--
src/lib/elm_widget.c7 +++
src/lib/elm_widget.h1 +
7 files changed, 40 insertions(+), 15 deletions(-)
 
  diff --git a/ChangeLog b/ChangeLog
  index 4c59fdc..1695f01 100644
  --- a/ChangeLog
  +++ b/ChangeLog
  @@ -1578,6 +1578,10 @@
 
* Gengrid: implement selectraise feature.
 
  -2013-08-28  DAniel Juyung Seo (SeoZ)
  +2013-08-28  Daniel Juyung Seo (SeoZ)
 
* Bg: Add bg reset feature.
  +
  +2013-09-02  ChunEon Park (Hermet)
  +
  +* Widget: Introduce elm_object_item_object_get() API.
  diff --git a/NEWS b/NEWS
  index c2056f3..c6046bd 100644
  --- a/NEWS
  +++ b/NEWS
  @@ -85,6 +85,7 @@ Additions:
   * Add elm_win_focus_highlight_animate_set/get().
   * Add selectraise feature to gengrid.
   * Add bg reset feature.
  +   * Add elm_object_item_object_get().
 
Improvements:
 
  diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
  index 2fa2ea0..9f138b2 100644
  --- a/src/lib/elm_main.c
  +++ b/src/lib/elm_main.c
  @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
  Elm_Object_Item *it)
{
   return elm_widget_item_cursor_engine_only_get(it);
}
  +
  +EAPI const Evas_Object *
  +elm_object_item_object_get(const Elm_Object_Item *it)
  +{
  +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
  +}
  diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
  index 8a0ccde..f256a63 100644
  --- a/src/lib/elm_object_item.h
  +++ b/src/lib/elm_object_item.h
  @@ -34,6 +34,25 @@ typedef void
(*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
EAPI Evas_Object *elm_object_item_widget_get(const
  Elm_Object_Item *it);
 
/**
  + * Get the object item's internal object handle.
  + *
  + * @param it The Elementary object item
  + * @return The Internal object of the object item.
  + *
  + * @note This function should only be used if you really need to refer
 the
  

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Tom Hacohen
On 02/09/13 12:01, daniel.za...@samsung.com wrote:
 Sorry for the dumb question but resize callback can't help on that?
 Imo, storing pointers to obsolete objects can be very dangerous. But it
 is just my opinion ;-)

It's not just your opinion, it's objectively dangerous.

 Vive Valgrind! Vive la France!

Remind me again, where does your allegiance lie?


I wonder if this will become one of those threads in which everyone 
argue against, until there's no one more to argue against, so the thread 
dies. After which, we forget about it, and the bad API just stays in 
until the next stable version.

Maybe we need a pre-release new API review as another opportunity for 
getting rid of smelly API.

--
Tom.

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Michael Blumenkrantz
I think it's too late to get rid of bad API considering the state of elm at
1.0


On Mon, Sep 2, 2013 at 1:12 PM, Tom Hacohen tom.haco...@samsung.com wrote:

 On 02/09/13 12:01, daniel.za...@samsung.com wrote:
  Sorry for the dumb question but resize callback can't help on that?
  Imo, storing pointers to obsolete objects can be very dangerous. But it
  is just my opinion ;-)

 It's not just your opinion, it's objectively dangerous.

  Vive Valgrind! Vive la France!

 Remind me again, where does your allegiance lie?


 I wonder if this will become one of those threads in which everyone
 argue against, until there's no one more to argue against, so the thread
 dies. After which, we forget about it, and the bad API just stays in
 until the next stable version.

 Maybe we need a pre-release new API review as another opportunity for
 getting rid of smelly API.

 --
 Tom.


 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Fw: Enlightenment presentation? (ping #2)

2013-09-02 Thread The Rasterman
On Mon, 2 Sep 2013 10:52:21 +0200 Mark-Willem Jansen markwil...@hotmail.com
said:

 Hi Rasterman,
 
 I live in the East of the Netherlands and I am thinking about attending the
 Software Freedom Day. Unfortunately I know to little about the present
 enlightenment development that I will not be able to give a presentation and
 let alone answer difficult questions.
 
 In the past I did some small hacks on modules, but that is how far my
 experience goes with development. I do use e17 on a daily basis.
 
 BTW, are there any Dutchmen working actively on the enlightenment project?

you could do something from a user point of view? like what makes e good for
you? is it good for you? where? why? :)

as for dutch guys hmm no - not at the moment anyway in tersm of active
devs... we're dutch-free :)

 --
 Mark-Willem rawnar Jansen
 
  Date: Thu, 29 Aug 2013 17:20:19 +0900
  From: ras...@rasterman.com
  To: enlightenment-devel@lists.sourceforge.net;
  enlightenment-us...@lists.sourceforge.net Subject: [E-devel] Fw:
  Enlightenment presentation? (ping #2)
  
  is anyone nearish amsterdam mid sept who wants to do this? :) this is a
  second ping in case someone missed the first... ?
  
  Begin chunk 'o stuff:
  
  Date: Sat, 03 Aug 2013 00:44:39 +0200
  From: Bas de Lange b...@basdelange.com
  To: ras...@rasterman.com
  Subject: Enlightenment presentation?
  
  
  Dear Rasterman,
  
  We are looking for someone from the Amsterdam area willing to give a 
  talk about Enlightenment during Software Freedom Day 2013 at the CWI, 
  Science Park Amsterdam. This on wednesday 18th of september:
  
  http://www.softwarefreedomday.eu/
  
  BTW, we are also organising the International Bitcoin Conference 2013 at 
  the Science Park Amsterdam. This on wednesday 6th to friday 8th of 
  november. If you know people interested, please inform them?
  
  http://bitcoinference.com/
  -- 
  
  International Bitcoin Conference 2013, wednesday 6 to friday 8 november 
  Science Park Amsterdam
  
  http://bitcoinference.com/
  
  
  Met vriendelijke groet,
  
  Best regards,
  
  Bas de Lange
  
  +31 (0)6 166 26 950
  
  
  
  -- 
  - Codito, ergo sum - I code, therefore I am --
  The Rasterman (Carsten Haitzler)ras...@rasterman.com
  
  
  --
  Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
  Discover the easy way to master current and previous Microsoft technologies
  and advance your career. Get an incredible 1,500+ hours of step-by-step
  tutorial videos with LearnDevNow. Subscribe today and save!
  http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


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


--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: focus_set can fail... internally handle that case properly now.

2013-09-02 Thread Gustavo Sverzut Barbieri
isn't better to just check the focus object afterwards? This
focus_set() signature became strange :-/

On Mon, Sep 2, 2013 at 8:29 AM, Cedric Bail - Enlightenment Git
no-re...@enlightenment.org wrote:
 cedric pushed a commit to branch master.

 commit a007a3af1398e66ba90eae005ccbf31dfb81788a
 Author: Cedric Bail cedric.b...@samsung.com
 Date:   Mon Sep 2 20:28:23 2013 +0900

 evas: focus_set can fail... internally handle that case properly now.
 ---
  src/lib/evas/Evas_Eo.h   |  2 +-
  src/lib/evas/canvas/evas_focus.c | 21 -
  2 files changed, 17 insertions(+), 6 deletions(-)

 diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
 index e4b83e8..fc61c0a 100644
 --- a/src/lib/evas/Evas_Eo.h
 +++ b/src/lib/evas/Evas_Eo.h
 @@ -5232,7 +5232,7 @@ enum
   *
   * @see evas_object_focus_set
   */
 -#define evas_obj_focus_set(focus) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_FOCUS_SET), 
 EO_TYPECHECK(Eina_Bool, focus)
 +#define evas_obj_focus_set(focus, succeed) 
 EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_FOCUS_SET), EO_TYPECHECK(Eina_Bool, focus), 
 EO_TYPECHECK(Eina_Bool *, succeed)

  /**
   * @def evas_obj_focus_get
 diff --git a/src/lib/evas/canvas/evas_focus.c 
 b/src/lib/evas/canvas/evas_focus.c
 index 757f585..5294ee6 100644
 --- a/src/lib/evas/canvas/evas_focus.c
 +++ b/src/lib/evas/canvas/evas_focus.c
 @@ -10,29 +10,36 @@
  EAPI void
  evas_object_focus_set(Evas_Object *eo_obj, Eina_Bool focus)
  {
 -   eo_do(eo_obj, evas_obj_focus_set(focus));
 +   eo_do(eo_obj, evas_obj_focus_set(focus, NULL));
  }

  void
  _focus_set(Eo *eo_obj, void *_pd, va_list *list)
  {
 Eina_Bool focus = va_arg(*list, int);
 +   Eina_Bool *r = va_arg(*list, Eina_Bool *);

 int event_id = 0;
 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
 return;
 MAGIC_CHECK_END();
 -   Evas_Object_Protected_Data *obj = _pd;
 +   Evas_Object_Protected_Data *obj = _pd;
 +
 +   if (r) *r = EINA_FALSE;

 _evas_object_event_new();

 event_id = _evas_event_counter;
 -   if (obj-focused == focus) goto end;
 +   if (obj-focused == focus) goto success_end;
 if (evas_object_intercept_call_focus_set(eo_obj, obj, focus)) goto end;
 if (focus)
   {
 +Eina_Bool success = EINA_TRUE;
 +
  if (obj-layer-evas-focused)
 -  evas_object_focus_set(obj-layer-evas-focused, 0);
 +  eo_do(obj-layer-evas-focused,
 +evas_obj_focus_set(0, success));
 +if (!success) goto end;
  obj-focused = 1;
  obj-layer-evas-focused = eo_obj;
  evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FOCUS_IN, 
 NULL, event_id);
 @@ -47,7 +54,11 @@ _focus_set(Eo *eo_obj, void *_pd, va_list *list)
  evas_event_callback_call(obj-layer-evas-evas,
   EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, 
 eo_obj);
   }
 -   end:
 +
 + success_end:
 +   if (r) *r = EINA_TRUE;
 +
 + end:
 _evas_post_event_callback_call(obj-layer-evas-evas, obj-layer-evas);
  }


 --

 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 9225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Iván Briano
On Mon, Sep 2, 2013 at 9:23 AM, Tom Hacohen tom.haco...@samsung.com wrote:
 On 02/09/13 13:16, Michael Blumenkrantz wrote:
 I think it's too late to get rid of bad API considering the state of elm at
 1.0

 Obviously. I was thinking about 2.0.

 I have a few widgets on my kill-list.


Yeah, me too. Namely, all but layout.

 --
 Tom.


 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: focus_set can fail... internally handle that case properly now.

2013-09-02 Thread Michael Blumenkrantz
but that would make sense!


On Mon, Sep 2, 2013 at 2:49 PM, Gustavo Sverzut Barbieri barbi...@gmail.com
 wrote:

 isn't better to just check the focus object afterwards? This
 focus_set() signature became strange :-/

 On Mon, Sep 2, 2013 at 8:29 AM, Cedric Bail - Enlightenment Git
 no-re...@enlightenment.org wrote:
  cedric pushed a commit to branch master.
 
  commit a007a3af1398e66ba90eae005ccbf31dfb81788a
  Author: Cedric Bail cedric.b...@samsung.com
  Date:   Mon Sep 2 20:28:23 2013 +0900
 
  evas: focus_set can fail... internally handle that case properly now.
  ---
   src/lib/evas/Evas_Eo.h   |  2 +-
   src/lib/evas/canvas/evas_focus.c | 21 -
   2 files changed, 17 insertions(+), 6 deletions(-)
 
  diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
  index e4b83e8..fc61c0a 100644
  --- a/src/lib/evas/Evas_Eo.h
  +++ b/src/lib/evas/Evas_Eo.h
  @@ -5232,7 +5232,7 @@ enum
*
* @see evas_object_focus_set
*/
  -#define evas_obj_focus_set(focus)
 EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_FOCUS_SET), EO_TYPECHECK(Eina_Bool, focus)
  +#define evas_obj_focus_set(focus, succeed)
 EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_FOCUS_SET), EO_TYPECHECK(Eina_Bool, focus),
 EO_TYPECHECK(Eina_Bool *, succeed)
 
   /**
* @def evas_obj_focus_get
  diff --git a/src/lib/evas/canvas/evas_focus.c
 b/src/lib/evas/canvas/evas_focus.c
  index 757f585..5294ee6 100644
  --- a/src/lib/evas/canvas/evas_focus.c
  +++ b/src/lib/evas/canvas/evas_focus.c
  @@ -10,29 +10,36 @@
   EAPI void
   evas_object_focus_set(Evas_Object *eo_obj, Eina_Bool focus)
   {
  -   eo_do(eo_obj, evas_obj_focus_set(focus));
  +   eo_do(eo_obj, evas_obj_focus_set(focus, NULL));
   }
 
   void
   _focus_set(Eo *eo_obj, void *_pd, va_list *list)
   {
  Eina_Bool focus = va_arg(*list, int);
  +   Eina_Bool *r = va_arg(*list, Eina_Bool *);
 
  int event_id = 0;
  MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
  return;
  MAGIC_CHECK_END();
  -   Evas_Object_Protected_Data *obj = _pd;
  +   Evas_Object_Protected_Data *obj = _pd;
  +
  +   if (r) *r = EINA_FALSE;
 
  _evas_object_event_new();
 
  event_id = _evas_event_counter;
  -   if (obj-focused == focus) goto end;
  +   if (obj-focused == focus) goto success_end;
  if (evas_object_intercept_call_focus_set(eo_obj, obj, focus)) goto
 end;
  if (focus)
{
  +Eina_Bool success = EINA_TRUE;
  +
   if (obj-layer-evas-focused)
  -  evas_object_focus_set(obj-layer-evas-focused, 0);
  +  eo_do(obj-layer-evas-focused,
  +evas_obj_focus_set(0, success));
  +if (!success) goto end;
   obj-focused = 1;
   obj-layer-evas-focused = eo_obj;
   evas_object_event_callback_call(eo_obj, obj,
 EVAS_CALLBACK_FOCUS_IN, NULL, event_id);
  @@ -47,7 +54,11 @@ _focus_set(Eo *eo_obj, void *_pd, va_list *list)
   evas_event_callback_call(obj-layer-evas-evas,
EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT,
 eo_obj);
}
  -   end:
  +
  + success_end:
  +   if (r) *r = EINA_TRUE;
  +
  + end:
  _evas_post_event_callback_call(obj-layer-evas-evas,
 obj-layer-evas);
   }
 
 
  --
 
 
 --
  Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
  Discover the easy way to master current and previous Microsoft
 technologies
  and advance your career. Get an incredible 1,500+ hours of step-by-step
  tutorial videos with LearnDevNow. Subscribe today and save!
 
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk



 --
 Gustavo Sverzut Barbieri
 --
 Mobile: +55 (19) 9225-2202
 Contact: http://www.gustavobarbieri.com.br/contact


 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Tom Hacohen
On 02/09/13 14:52, Iván Briano wrote:
 On Mon, Sep 2, 2013 at 9:23 AM, Tom Hacohen tom.haco...@samsung.com wrote:
 On 02/09/13 13:16, Michael Blumenkrantz wrote:
 I think it's too late to get rid of bad API considering the state of elm at
 1.0

 Obviously. I was thinking about 2.0.

 I have a few widgets on my kill-list.


 Yeah, me too. Namely, all but layout.

Without making any generalizations, it is apparent from the past efforts 
of the ex-Profusion team that you guys like the layout widget. :)

--
Tom.



--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Michael Blumenkrantz
On Mon, 02 Sep 2013 14:56:31 +0100
Tom Hacohen tom.haco...@samsung.com wrote:

 On 02/09/13 14:52, Iván Briano wrote:
  On Mon, Sep 2, 2013 at 9:23 AM, Tom Hacohen tom.haco...@samsung.com wrote:
  On 02/09/13 13:16, Michael Blumenkrantz wrote:
  I think it's too late to get rid of bad API considering the state of elm 
  at
  1.0
 
  Obviously. I was thinking about 2.0.
 
  I have a few widgets on my kill-list.
 
 
  Yeah, me too. Namely, all but layout.
 
 Without making any generalizations, it is apparent from the past efforts 
 of the ex-Profusion team that you guys like the layout widget. :)
 
 --
 Tom.
 
 

imo we just delete all the widgets and use e widgets

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: other async render issue - sync ALL rendering canvases, not just one

2013-09-02 Thread Ulisses Furquim
Raster,

On Sat, Aug 31, 2013 at 1:31 AM, Carsten Haitzler ras...@rasterman.com wrote:
 On Fri, 30 Aug 2013 10:58:55 -0300 Ulisses Furquim uliss...@gmail.com said:

 Raster,

 On Fri, Aug 30, 2013 at 5:11 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
  On Thu, 29 Aug 2013 10:26:50 -0300 Ulisses Furquim uliss...@gmail.com
  said:
 
  Raster,
 
  On Thu, Aug 29, 2013 at 9:18 AM, Carsten Haitzler  - Enlightenment Git
  no-re...@enlightenment.org wrote:
   raster pushed a commit to branch master.
  
   commit 42a46214c4f9b35c0e1f5a84c56ea76ba2235eae
   Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
   Date:   Thu Aug 29 21:18:04 2013 +0900
  
   other async render issue - sync ALL rendering canvases, not just one
   ---
src/lib/evas/canvas/evas_render.c  |  2 ++
src/lib/evas/common/evas_thread_render.c   | 21 -
src/lib/evas/include/evas_common_private.h |  4 +++-
3 files changed, 25 insertions(+), 2 deletions(-)
  
   diff --git a/src/lib/evas/canvas/evas_render.c
   b/src/lib/evas/canvas/evas_render.c index b04d606..4fbe9e2 100644
   --- a/src/lib/evas/canvas/evas_render.c
   +++ b/src/lib/evas/canvas/evas_render.c
   @@ -2235,6 +2235,7 @@ _canvas_render_dump(Eo *eo_e EINA_UNUSED, void
   *_pd, va_list *list EINA_UNUSED) Evas_Public_Data *e = _pd;
   Evas_Layer *lay;
  
   +   evas_thread_queue_block();
   evas_render_rendering_wait(e);
   evas_cache_async_freeze();
 
  This might deadlock. If the queue is no empty and we have there the
  commands for e then we'll wait forever in _rendering_wait() in the
  main thread and the render thread will sleep forever trying to acquire
  the evas_thread_block_lock. Right?
 
  fixed. i didnt notice evas-rendering was set in evas_render as opposed to
  the rendering handle in the async thread. :)

 Well, yes, your change solves the deadlock. But I want to know what
 you want, really. Do you want a call to sync all canvases? This lock
 is not doing that. We'd need to wait all canvases rendering flags to
 be set to false and then return. This way we wouldn't have any pending
 commands in the render thread.

 in doing the async rendering the code to dump data was totally disabled.
 image data with refcounts  0 were now never dumped. why? why fix for i have 
 a
 background thread still using that data to render while my mainloop is
 dumping. the wait for evas to finish waits for the GIVEN evas to finish...
 ONLY that one. but the background async renderer may march on to the NEXT
 canvas wanting a render in the queue and it doesn't wait for that. it 
 continues
 and we just now dumped images from memory it needs. as the load data is done
 before the async renderer begins and it assumes data is there and ready, so
 this block basically forces the dump cal to wait for the async renderer to
 finish going through ALL queued rendering so far - not just once canvas, but
 all of them, since its a mutex lock around that block of code. this then 
 allows
 all image data to be dumped from memory (even refcount  0) which is what the
 original intent and code was doing. now it's safe and any new renders come 
 from
 the mainloop afte the dump and they can/will re-load data from files if needed
 for the async renderer to work properly. no - it's not pretty, but it fixed 
 the
 dump functionality.

This problem is now hard to reproduce but we still have a race with
your fix. That lock doesn't guarantee what you want. If you happen to
acquire the lock in the main thread just before the render thread
tries to acquire it then after you clean up and release the lock the
render thread will acquire it and we have a problem. Even though still
difficult to happen this race is more prone to happen if the canvas
you passed to _rendering_wait() is not rendering at that moment.

Moreover, I don't like this lock in the render thread and being able
to block/unblock it. It's a deadlock wanting to happen. I'll see what
I can do here but we need a proper sync all canvases function. It
should be simple if we can just wait on the rendering flags for all
canvases.

-- Ulisses

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread ChunEon Park
There is no way to add resize callback to the object item at this moment.

And sure, this api can be dangerous if app uses it incorrectly.

However, If this api should be used by all apps obligatorily,  then I won't add 
it.

Problem is, we can't sure all apis are perfect in the world.  simply like 
double free().
So we provide api doc to warn the developers for dangerous cases.


-Regards, Hermet- 

-Original Message-
From: daniel.za...@samsung.comdaniel.za...@samsung.com 
To: Enlightenment developer listenlightenment-devel@lists.sourceforge.net; 
Cc: ChunEon Parkher...@naver.com; 
Sent: 2013-09-02 (월) 20:01:07
Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget 
- introduce elm_object_item_object_get().

Sorry for the dumb question but resize callback can't help on that?
Imo, storing pointers to obsolete objects can be very dangerous. But it 
is just my opinion ;-)

Vive Valgrind! Vive la France!
JackDanielZ, alias daniel

On 09/02/2013 01:53 PM, ChunEon Park wrote:
 I think figuring out the items geometry can be one of the common scenarios in 
 app side.

 This is already raised before but nobody answered solution properly as far as 
 I remember.

 My conclusion is,  this is a fight between flexibilty and stable

 For stable, we don't provide that api.
 But i don't think this gurantee application stable and developers satisfy.
 Maybe this may cause them painful to find out proper solutions and they may 
 try more dangerous and difficult method in worse case.

 This causes app go around too much.

 And we don't need to make app developers hard to make it.
   
 
 -Regards, Hermet-

 -Original Message-
 From: Tom Hacohentom.hacohen@samsung.com
 To: Enlightenment developer 
 listenlightenment-devel@lists.sourceforge.net;
 Cc:
 Sent: 2013-09-02 (월) 18:20:35
 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
 elementary/widget - introduce elm_object_item_object_get().

 I have to side with Mike here. Both the decision process and the
 solution smell badly. Worse than Mike's tuna breakfasts.

 --
 Tom.

 On 02/09/13 09:48, ChunEon Park wrote:
 If they know what they are doing exactly, then it won' t be problem.
 This gives the applications a chance to decorate their appilcation easily.

 
 -Regards, Hermet-

 -Original Message-
 From: Michael Blumenkrantzmichael.blumenkrantz@gmail.com
 To: Enlightenment developer 
 listenlightenment-devel@lists.sourceforge.net;
 Cc:
 Sent: 2013-09-02 (월) 17:29:41
 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
 elementary/widget - introduce elm_object_item_object_get().

 so wait a minute...everyone fights against this for literally over a year,
 and now it gets in without further discussion because applications require
 it seriously?


 On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git 
 no-re...@enlightenment.org wrote:

 hermet pushed a commit to branch master.

 commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
 Author: ChunEon Park hermet@hermet.pe.kr
 Date:   Mon Sep 2 17:19:36 2013 +0900

   elementary/widget - introduce elm_object_item_object_get().

   We've countered application's requirements multiple times to they have
 the object handle from the elm_object_item.

   Now we introduce it for their convenient but they should use it
 carefully.
 ---
ChangeLog   6 +-
NEWS1 +
src/lib/elm_main.c  6 ++
src/lib/elm_object_item.h  19 +++
src/lib/elm_removed.h  15 +--
src/lib/elm_widget.c7 +++
src/lib/elm_widget.h1 +
7 files changed, 40 insertions(+), 15 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4c59fdc..1695f01 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -1578,6 +1578,10 @@

* Gengrid: implement selectraise feature.

 -2013-08-28  DAniel Juyung Seo (SeoZ)
 +2013-08-28  Daniel Juyung Seo (SeoZ)

* Bg: Add bg reset feature.
 +
 +2013-09-02  ChunEon Park (Hermet)
 +
 +* Widget: Introduce elm_object_item_object_get() API.
 diff --git a/NEWS b/NEWS
 index c2056f3..c6046bd 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -85,6 +85,7 @@ Additions:
   * Add elm_win_focus_highlight_animate_set/get().
   * Add selectraise feature to gengrid.
   * Add bg reset feature.
 +   * Add elm_object_item_object_get().

Improvements:

 diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
 index 2fa2ea0..9f138b2 100644
 --- a/src/lib/elm_main.c
 +++ b/src/lib/elm_main.c
 @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
 Elm_Object_Item *it)
{
   return elm_widget_item_cursor_engine_only_get(it);
}
 +
 +EAPI const Evas_Object *
 +elm_object_item_object_get(const Elm_Object_Item *it)
 +{
 +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
 +}
 diff --git 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread David Seikel
On Tue, 3 Sep 2013 02:52:14 +0900 (KST) ChunEon Park her...@naver.com
wrote:

 There is no way to add resize callback to the object item at this
 moment.
 
 And sure, this api can be dangerous if app uses it incorrectly.

C can be dangerous if app uses it incorrectly.  It's well known for it
in fact.  B-)

Safety is for high level languages.  C is for people that want or need
to get their hands on nasty low level details.  I really don't think
much effort should be spent on protecting C coders from themselves, at
the expense of making it hard to do stuff.

This is just a general principle though, I've not looked at the API in
question.


signature.asc
Description: PGP signature
--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 03/04: eldbus: Add eldbus_object_manager_interfaces_added/removed()

2013-09-02 Thread Gustavo Sverzut Barbieri
zeh,

I think you should wrap the callback as well... expect people parse
the complex properties are not that good, otherwise they would just
register the signal directly.

Create a struct and add members: str: ifacename, hash:
propname=propvalue (eina_value) and list of invalidated properties
(str). This should be the event_info for the added signal. Similarly
for the del signal you give it a string with removed interface.

I'd say there is no need to have eldbus_object_signal_handler_add()
and eldbus_object_manager_interfaces_removed(), just use the already
existing eldbus event callback system. You should always listen for
that while you do monitor() as you cache properties already... then
you already created the Eina_Value, you just need to put those in the
hash when you emit the signal.



On Mon, Sep 2, 2013 at 4:16 PM, José Roberto de Souza - Enlightenment
Git no-re...@enlightenment.org wrote:
 zehortigoza pushed a commit to branch master.

 commit 356a4aa8e96c5df87d24384b5a0d9bcb9cd636b3
 Author: José Roberto de Souza jose.so...@intel.com
 Date:   Fri Aug 30 10:23:28 2013 -0300

 eldbus: Add eldbus_object_manager_interfaces_added/removed()
 ---
  src/lib/eldbus/eldbus_freedesktop.c | 14 ++
  src/lib/eldbus/eldbus_freedesktop.h |  4 
  2 files changed, 18 insertions(+)

 diff --git a/src/lib/eldbus/eldbus_freedesktop.c 
 b/src/lib/eldbus/eldbus_freedesktop.c
 index 2862753..f0a79bd 100644
 --- a/src/lib/eldbus/eldbus_freedesktop.c
 +++ b/src/lib/eldbus/eldbus_freedesktop.c
 @@ -81,6 +81,20 @@ eldbus_object_managed_objects_get(Eldbus_Object *obj, 
 Eldbus_Message_Cb cb, cons
 return p;
  }

 +EAPI Eldbus_Signal_Handler *
 +eldbus_object_manager_interfaces_added(Eldbus_Object *obj, Eldbus_Signal_Cb 
 cb, const void *cb_data)
 +{
 +   return eldbus_object_signal_handler_add(obj, 
 ELDBUS_FDO_INTERFACE_OBJECT_MANAGER,
 +   InterfacesAdded, cb, cb_data);
 +}
 +
 +EAPI Eldbus_Signal_Handler *
 +eldbus_object_manager_interfaces_removed(Eldbus_Object *obj, 
 Eldbus_Signal_Cb cb, const void *cb_data)
 +{
 +   return eldbus_object_signal_handler_add(obj, 
 ELDBUS_FDO_INTERFACE_OBJECT_MANAGER,
 +   InterfacesRemoved, cb, cb_data);
 +}
 +
  EAPI Eldbus_Pending *
  eldbus_hello(Eldbus_Connection *conn, Eldbus_Message_Cb cb, const void 
 *cb_data)
  {
 diff --git a/src/lib/eldbus/eldbus_freedesktop.h 
 b/src/lib/eldbus/eldbus_freedesktop.h
 index 5644d44..8a66b06 100644
 --- a/src/lib/eldbus/eldbus_freedesktop.h
 +++ b/src/lib/eldbus/eldbus_freedesktop.h
 @@ -139,6 +139,10 @@ EAPI const Eina_Hash  
 *eldbus_proxy_property_local_get_all(Eldbus_Proxy *pro

  EAPI Eldbus_Pending*eldbus_object_managed_objects_get(Eldbus_Object 
 *obj, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);

 +EAPI Eldbus_Signal_Handler 
 *eldbus_object_manager_interfaces_added(Eldbus_Object *obj, Eldbus_Signal_Cb 
 cb, const void *cb_data) EINA_ARG_NONNULL(1);
 +
 +EAPI Eldbus_Signal_Handler 
 *eldbus_object_manager_interfaces_removed(Eldbus_Object *obj, 
 Eldbus_Signal_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1);
 +
  /**
   * @}
   */

 --

 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 9225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread The Rasterman
On Tue, 3 Sep 2013 04:19:37 +1000 David Seikel onef...@gmail.com said:

 On Tue, 3 Sep 2013 02:52:14 +0900 (KST) ChunEon Park her...@naver.com
 wrote:
 
  There is no way to add resize callback to the object item at this
  moment.
  
  And sure, this api can be dangerous if app uses it incorrectly.
 
 C can be dangerous if app uses it incorrectly.  It's well known for it
 in fact.  B-)
 
 Safety is for high level languages.  C is for people that want or need
 to get their hands on nasty low level details.  I really don't think
 much effort should be spent on protecting C coders from themselves, at
 the expense of making it hard to do stuff.
 
 This is just a general principle though, I've not looked at the API in
 question.

i used to think that... but in the past 4 years or so... reality has changed my
mind on this. :)

p.s.

just to set the record - efl, even back to imlib2 and imlib2 has always had a
habit of assuming programmer is dumb and pick up the pieces for them - that's
why there was always a cache... assume programmer will be dumb and load 1 image
100 times, so go de-duplicate on load for them by matching file path keys
etc. ... and keep images around for a bit in case needed again soon - this
allows a certain amount of laziness for the programmer - early on that was me -
to just be dumb and know the lib will be smart for them. but this is a
different kind of protection. it's assuming a programmer is lazy and will do
the lazy thing... so make up for it, but the core principle is the same -
assume programmer will be bad and save them from themselves. :)

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


--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: other async render issue - sync ALL rendering canvases, not just one

2013-09-02 Thread The Rasterman
On Mon, 2 Sep 2013 11:27:16 -0300 Ulisses Furquim uliss...@gmail.com said:

 Raster,
 
 On Sat, Aug 31, 2013 at 1:31 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
  On Fri, 30 Aug 2013 10:58:55 -0300 Ulisses Furquim uliss...@gmail.com
  said:
 
  Raster,
 
  On Fri, Aug 30, 2013 at 5:11 AM, Carsten Haitzler ras...@rasterman.com
  wrote:
   On Thu, 29 Aug 2013 10:26:50 -0300 Ulisses Furquim uliss...@gmail.com
   said:
  
   Raster,
  
   On Thu, Aug 29, 2013 at 9:18 AM, Carsten Haitzler  - Enlightenment Git
   no-re...@enlightenment.org wrote:
raster pushed a commit to branch master.
   
commit 42a46214c4f9b35c0e1f5a84c56ea76ba2235eae
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Thu Aug 29 21:18:04 2013 +0900
   
other async render issue - sync ALL rendering canvases, not just
one
---
 src/lib/evas/canvas/evas_render.c  |  2 ++
 src/lib/evas/common/evas_thread_render.c   | 21 -
 src/lib/evas/include/evas_common_private.h |  4 +++-
 3 files changed, 25 insertions(+), 2 deletions(-)
   
diff --git a/src/lib/evas/canvas/evas_render.c
b/src/lib/evas/canvas/evas_render.c index b04d606..4fbe9e2 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2235,6 +2235,7 @@ _canvas_render_dump(Eo *eo_e EINA_UNUSED, void
*_pd, va_list *list EINA_UNUSED) Evas_Public_Data *e = _pd;
Evas_Layer *lay;
   
+   evas_thread_queue_block();
evas_render_rendering_wait(e);
evas_cache_async_freeze();
  
   This might deadlock. If the queue is no empty and we have there the
   commands for e then we'll wait forever in _rendering_wait() in the
   main thread and the render thread will sleep forever trying to acquire
   the evas_thread_block_lock. Right?
  
   fixed. i didnt notice evas-rendering was set in evas_render as opposed
   to the rendering handle in the async thread. :)
 
  Well, yes, your change solves the deadlock. But I want to know what
  you want, really. Do you want a call to sync all canvases? This lock
  is not doing that. We'd need to wait all canvases rendering flags to
  be set to false and then return. This way we wouldn't have any pending
  commands in the render thread.
 
  in doing the async rendering the code to dump data was totally disabled.
  image data with refcounts  0 were now never dumped. why? why fix for i
  have a background thread still using that data to render while my mainloop
  is dumping. the wait for evas to finish waits for the GIVEN evas to
  finish... ONLY that one. but the background async renderer may march on to
  the NEXT canvas wanting a render in the queue and it doesn't wait for that.
  it continues and we just now dumped images from memory it needs. as the
  load data is done before the async renderer begins and it assumes data is
  there and ready, so this block basically forces the dump cal to wait for
  the async renderer to finish going through ALL queued rendering so far -
  not just once canvas, but all of them, since its a mutex lock around that
  block of code. this then allows all image data to be dumped from memory
  (even refcount  0) which is what the original intent and code was doing.
  now it's safe and any new renders come from the mainloop afte the dump and
  they can/will re-load data from files if needed for the async renderer to
  work properly. no - it's not pretty, but it fixed the dump functionality.
 
 This problem is now hard to reproduce but we still have a race with
 your fix. That lock doesn't guarantee what you want. If you happen to
 acquire the lock in the main thread just before the render thread
 tries to acquire it then after you clean up and release the lock the
 render thread will acquire it and we have a problem. Even though still
 difficult to happen this race is more prone to happen if the canvas
 you passed to _rendering_wait() is not rendering at that moment.
 
 Moreover, I don't like this lock in the render thread and being able
 to block/unblock it. It's a deadlock wanting to happen. I'll see what
 I can do here but we need a proper sync all canvases function. It
 should be simple if we can just wait on the rendering flags for all
 canvases.

that was my other option for the fix. but then i'd have to track a list of all
canvases etc. etc. so this was was simpler. :) i was taking the view that since
it is the mainloop that triggers the render and also does the dump - any
rendering will have been triggered long before this. we could add a counter to
the cond wakeups. ie if mainloop issues a cond wakeup, reander thread needs to
decrement it when its done and back waiting (another lock plus counter). then
we lock+unlock (to force a big sleeping block if rendering is busy) and just
check counter is 0, since mainloop is the only one that ++'s the counter it can
only go down now... until it hits 0.
- if not we have a race

-- 
- Codito, ergo sum - I 

Re: [E-devel] [EGIT] [core/efl] master 01/01: other async render issue - sync ALL rendering canvases, not just one

2013-09-02 Thread Ulisses Furquim
Raster,

On Mon, Sep 2, 2013 at 8:19 PM, Carsten Haitzler ras...@rasterman.com wrote:
 On Mon, 2 Sep 2013 11:27:16 -0300 Ulisses Furquim uliss...@gmail.com said:

 Raster,

 On Sat, Aug 31, 2013 at 1:31 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
  On Fri, 30 Aug 2013 10:58:55 -0300 Ulisses Furquim uliss...@gmail.com
  said:
 
  Raster,
 
  On Fri, Aug 30, 2013 at 5:11 AM, Carsten Haitzler ras...@rasterman.com
  wrote:
   On Thu, 29 Aug 2013 10:26:50 -0300 Ulisses Furquim uliss...@gmail.com
   said:
  
   Raster,
  
   On Thu, Aug 29, 2013 at 9:18 AM, Carsten Haitzler  - Enlightenment Git
   no-re...@enlightenment.org wrote:
raster pushed a commit to branch master.
   
commit 42a46214c4f9b35c0e1f5a84c56ea76ba2235eae
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Thu Aug 29 21:18:04 2013 +0900
   
other async render issue - sync ALL rendering canvases, not just
one
---
 src/lib/evas/canvas/evas_render.c  |  2 ++
 src/lib/evas/common/evas_thread_render.c   | 21 
-
 src/lib/evas/include/evas_common_private.h |  4 +++-
 3 files changed, 25 insertions(+), 2 deletions(-)
   
diff --git a/src/lib/evas/canvas/evas_render.c
b/src/lib/evas/canvas/evas_render.c index b04d606..4fbe9e2 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2235,6 +2235,7 @@ _canvas_render_dump(Eo *eo_e EINA_UNUSED, void
*_pd, va_list *list EINA_UNUSED) Evas_Public_Data *e = _pd;
Evas_Layer *lay;
   
+   evas_thread_queue_block();
evas_render_rendering_wait(e);
evas_cache_async_freeze();
  
   This might deadlock. If the queue is no empty and we have there the
   commands for e then we'll wait forever in _rendering_wait() in the
   main thread and the render thread will sleep forever trying to acquire
   the evas_thread_block_lock. Right?
  
   fixed. i didnt notice evas-rendering was set in evas_render as opposed
   to the rendering handle in the async thread. :)
 
  Well, yes, your change solves the deadlock. But I want to know what
  you want, really. Do you want a call to sync all canvases? This lock
  is not doing that. We'd need to wait all canvases rendering flags to
  be set to false and then return. This way we wouldn't have any pending
  commands in the render thread.
 
  in doing the async rendering the code to dump data was totally disabled.
  image data with refcounts  0 were now never dumped. why? why fix for i
  have a background thread still using that data to render while my mainloop
  is dumping. the wait for evas to finish waits for the GIVEN evas to
  finish... ONLY that one. but the background async renderer may march on to
  the NEXT canvas wanting a render in the queue and it doesn't wait for that.
  it continues and we just now dumped images from memory it needs. as the
  load data is done before the async renderer begins and it assumes data is
  there and ready, so this block basically forces the dump cal to wait for
  the async renderer to finish going through ALL queued rendering so far -
  not just once canvas, but all of them, since its a mutex lock around that
  block of code. this then allows all image data to be dumped from memory
  (even refcount  0) which is what the original intent and code was doing.
  now it's safe and any new renders come from the mainloop afte the dump and
  they can/will re-load data from files if needed for the async renderer to
  work properly. no - it's not pretty, but it fixed the dump functionality.

 This problem is now hard to reproduce but we still have a race with
 your fix. That lock doesn't guarantee what you want. If you happen to
 acquire the lock in the main thread just before the render thread
 tries to acquire it then after you clean up and release the lock the
 render thread will acquire it and we have a problem. Even though still
 difficult to happen this race is more prone to happen if the canvas
 you passed to _rendering_wait() is not rendering at that moment.

 Moreover, I don't like this lock in the render thread and being able
 to block/unblock it. It's a deadlock wanting to happen. I'll see what
 I can do here but we need a proper sync all canvases function. It
 should be simple if we can just wait on the rendering flags for all
 canvases.

 that was my other option for the fix. but then i'd have to track a list of all
 canvases etc. etc. so this was was simpler. :) i was taking the view that 
 since
 it is the mainloop that triggers the render and also does the dump - any
 rendering will have been triggered long before this. we could add a counter to
 the cond wakeups. ie if mainloop issues a cond wakeup, reander thread needs to
 decrement it when its done and back waiting (another lock plus counter). then
 we lock+unlock (to force a big sleeping block if rendering is busy) and just
 check counter is 0, since mainloop is the only one that ++'s the counter it 
 can
 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread David Seikel
On Tue, 3 Sep 2013 08:24:59 +0900 Carsten Haitzler (The Rasterman)
ras...@rasterman.com wrote:

 On Tue, 3 Sep 2013 04:19:37 +1000 David Seikel onef...@gmail.com
 said:
 
  On Tue, 3 Sep 2013 02:52:14 +0900 (KST) ChunEon Park
  her...@naver.com wrote:
  
   There is no way to add resize callback to the object item at this
   moment.
   
   And sure, this api can be dangerous if app uses it incorrectly.
  
  C can be dangerous if app uses it incorrectly.  It's well known for
  it in fact.  B-)
  
  Safety is for high level languages.  C is for people that want or
  need to get their hands on nasty low level details.  I really don't
  think much effort should be spent on protecting C coders from
  themselves, at the expense of making it hard to do stuff.
  
  This is just a general principle though, I've not looked at the API
  in question.
 
 i used to think that... but in the past 4 years or so... reality has
 changed my mind on this. :)
 
 p.s.
 
 just to set the record - efl, even back to imlib2 and imlib2 has
 always had a habit of assuming programmer is dumb and pick up the
 pieces for them - that's why there was always a cache... assume
 programmer will be dumb and load 1 image 100 times, so go
 de-duplicate on load for them by matching file path keys etc. ... and
 keep images around for a bit in case needed again soon - this allows
 a certain amount of laziness for the programmer - early on that was
 me - to just be dumb and know the lib will be smart for them. but
 this is a different kind of protection. it's assuming a programmer
 is lazy and will do the lazy thing... so make up for it, but the core
 principle is the same - assume programmer will be bad and save them
 from themselves. :)

So long as you don't get in the way of the good programmers, coz that's
just annoying.  :-P

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.


signature.asc
Description: PGP signature
--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary/widget - introduce elm_object_item_object_get().

2013-09-02 Thread Rafael Antognolli
Totally agree with Mike and Tom.

I have even asked for this more than once, got the It was decided
that elementary wouldn't expose the object answer, and had to work
around this through other methods. Now it just gets in without
discussions.

-1 for changing this without discussion.

On Mon, Sep 2, 2013 at 6:20 AM, Tom Hacohen tom.haco...@samsung.com wrote:
 I have to side with Mike here. Both the decision process and the
 solution smell badly. Worse than Mike's tuna breakfasts.

 --
 Tom.

 On 02/09/13 09:48, ChunEon Park wrote:
 If they know what they are doing exactly, then it won' t be problem.
 This gives the applications a chance to decorate their appilcation easily.

 
 -Regards, Hermet-

 -Original Message-
 From: Michael Blumenkrantzmichael.blumenkra...@gmail.com
 To: Enlightenment developer 
 listenlightenment-devel@lists.sourceforge.net;
 Cc:
 Sent: 2013-09-02 (월) 17:29:41
 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
 elementary/widget - introduce elm_object_item_object_get().

 so wait a minute...everyone fights against this for literally over a year,
 and now it gets in without further discussion because applications require
 it seriously?


 On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git 
 no-re...@enlightenment.org wrote:

 hermet pushed a commit to branch master.

 commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
 Author: ChunEon Park hermet@hermet.pe.kr
 Date:   Mon Sep 2 17:19:36 2013 +0900

  elementary/widget - introduce elm_object_item_object_get().

  We've countered application's requirements multiple times to they have
 the object handle from the elm_object_item.

  Now we introduce it for their convenient but they should use it
 carefully.
 ---
   ChangeLog   6 +-
   NEWS1 +
   src/lib/elm_main.c  6 ++
   src/lib/elm_object_item.h  19 +++
   src/lib/elm_removed.h  15 +--
   src/lib/elm_widget.c7 +++
   src/lib/elm_widget.h1 +
   7 files changed, 40 insertions(+), 15 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4c59fdc..1695f01 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -1578,6 +1578,10 @@

   * Gengrid: implement selectraise feature.

 -2013-08-28  DAniel Juyung Seo (SeoZ)
 +2013-08-28  Daniel Juyung Seo (SeoZ)

   * Bg: Add bg reset feature.
 +
 +2013-09-02  ChunEon Park (Hermet)
 +
 +* Widget: Introduce elm_object_item_object_get() API.
 diff --git a/NEWS b/NEWS
 index c2056f3..c6046bd 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -85,6 +85,7 @@ Additions:
  * Add elm_win_focus_highlight_animate_set/get().
  * Add selectraise feature to gengrid.
  * Add bg reset feature.
 +   * Add elm_object_item_object_get().

   Improvements:

 diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
 index 2fa2ea0..9f138b2 100644
 --- a/src/lib/elm_main.c
 +++ b/src/lib/elm_main.c
 @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
 Elm_Object_Item *it)
   {
  return elm_widget_item_cursor_engine_only_get(it);
   }
 +
 +EAPI const Evas_Object *
 +elm_object_item_object_get(const Elm_Object_Item *it)
 +{
 +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
 +}
 diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
 index 8a0ccde..f256a63 100644
 --- a/src/lib/elm_object_item.h
 +++ b/src/lib/elm_object_item.h
 @@ -34,6 +34,25 @@ typedef void
   (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
   EAPI Evas_Object *elm_object_item_widget_get(const
 Elm_Object_Item *it);

   /**
 + * Get the object item's internal object handle.
 + *
 + * @param it The Elementary object item
 + * @return The Internal object of the object item.
 + *
 + * @note This function should only be used if you really need to refer the
 + * internal object's properties (i.e geometry). Since the object items are
 + * managed/controlled by the widget, you should not modify the object
 directly
 + * nor you should not treat the object without validation.
 + *
 + * Some widget items may return @c NULL for this API if the items @p are
 not
 + * based on the evas object.
 + *
 + * @since 1.8
 + * @ingroup General
 + */
 +EAPI const Evas_Object   *elm_object_item_object_get(const
 Elm_Object_Item *it);
 +
 +/**
* Set a content of an object item
*
* @param it The Elementary object item
 diff --git a/src/lib/elm_removed.h b/src/lib/elm_removed.h
 index 416726a..59b982f 100644
 --- a/src/lib/elm_removed.h
 +++ b/src/lib/elm_removed.h
 @@ -490,19 +490,6 @@ EINA_DEPRECATED EAPI Elm_Gen_Item
 *elm_gen_item_prev_get(const Elm_Gen_Item *it)
   EINA_DEPRECATED EAPI Evas_Object  *elm_gen_item_widget_get(const
 Elm_Gen_Item *it);

   /**
 - * Get the widget object's handle which contains a given item
 - *
 - * @param it The Elementary object item
 - * @return The widget object
 - *
 - * @note This returns the widget object 

Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: focus_set can fail... internally handle that case properly now.

2013-09-02 Thread Cedric BAIL
You are right and it also simplify the code of focus_set. Fixed and pushed !

On Mon, Sep 2, 2013 at 3:49 PM, Gustavo Sverzut Barbieri
barbi...@gmail.com wrote:
 isn't better to just check the focus object afterwards? This
 focus_set() signature became strange :-/

 On Mon, Sep 2, 2013 at 8:29 AM, Cedric Bail - Enlightenment Git
 no-re...@enlightenment.org wrote:
 cedric pushed a commit to branch master.

 commit a007a3af1398e66ba90eae005ccbf31dfb81788a
 Author: Cedric Bail cedric.b...@samsung.com
 Date:   Mon Sep 2 20:28:23 2013 +0900

 evas: focus_set can fail... internally handle that case properly now.
 ---
  src/lib/evas/Evas_Eo.h   |  2 +-
  src/lib/evas/canvas/evas_focus.c | 21 -
  2 files changed, 17 insertions(+), 6 deletions(-)

 diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
 index e4b83e8..fc61c0a 100644
 --- a/src/lib/evas/Evas_Eo.h
 +++ b/src/lib/evas/Evas_Eo.h
 @@ -5232,7 +5232,7 @@ enum
   *
   * @see evas_object_focus_set
   */
 -#define evas_obj_focus_set(focus) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_FOCUS_SET), 
 EO_TYPECHECK(Eina_Bool, focus)
 +#define evas_obj_focus_set(focus, succeed) 
 EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_FOCUS_SET), EO_TYPECHECK(Eina_Bool, focus), 
 EO_TYPECHECK(Eina_Bool *, succeed)

  /**
   * @def evas_obj_focus_get
 diff --git a/src/lib/evas/canvas/evas_focus.c 
 b/src/lib/evas/canvas/evas_focus.c
 index 757f585..5294ee6 100644
 --- a/src/lib/evas/canvas/evas_focus.c
 +++ b/src/lib/evas/canvas/evas_focus.c
 @@ -10,29 +10,36 @@
  EAPI void
  evas_object_focus_set(Evas_Object *eo_obj, Eina_Bool focus)
  {
 -   eo_do(eo_obj, evas_obj_focus_set(focus));
 +   eo_do(eo_obj, evas_obj_focus_set(focus, NULL));
  }

  void
  _focus_set(Eo *eo_obj, void *_pd, va_list *list)
  {
 Eina_Bool focus = va_arg(*list, int);
 +   Eina_Bool *r = va_arg(*list, Eina_Bool *);

 int event_id = 0;
 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
 return;
 MAGIC_CHECK_END();
 -   Evas_Object_Protected_Data *obj = _pd;
 +   Evas_Object_Protected_Data *obj = _pd;
 +
 +   if (r) *r = EINA_FALSE;

 _evas_object_event_new();

 event_id = _evas_event_counter;
 -   if (obj-focused == focus) goto end;
 +   if (obj-focused == focus) goto success_end;
 if (evas_object_intercept_call_focus_set(eo_obj, obj, focus)) goto end;
 if (focus)
   {
 +Eina_Bool success = EINA_TRUE;
 +
  if (obj-layer-evas-focused)
 -  evas_object_focus_set(obj-layer-evas-focused, 0);
 +  eo_do(obj-layer-evas-focused,
 +evas_obj_focus_set(0, success));
 +if (!success) goto end;
  obj-focused = 1;
  obj-layer-evas-focused = eo_obj;
  evas_object_event_callback_call(eo_obj, obj, 
 EVAS_CALLBACK_FOCUS_IN, NULL, event_id);
 @@ -47,7 +54,11 @@ _focus_set(Eo *eo_obj, void *_pd, va_list *list)
  evas_event_callback_call(obj-layer-evas-evas,
   EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, 
 eo_obj);
   }
 -   end:
 +
 + success_end:
 +   if (r) *r = EINA_TRUE;
 +
 + end:
 _evas_post_event_callback_call(obj-layer-evas-evas, obj-layer-evas);
  }


 --

 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk



 --
 Gustavo Sverzut Barbieri
 --
 Mobile: +55 (19) 9225-2202
 Contact: http://www.gustavobarbieri.com.br/contact

 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




-- 
Cedric BAIL

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net

Re: [E-devel] [EGIT] [core/efl] master 04/04: eldbus: Add timeout message error as a macro

2013-09-02 Thread Lucas De Marchi
On Mon, Sep 2, 2013 at 4:16 PM, José Roberto de Souza - Enlightenment
Git no-re...@enlightenment.org wrote:
 zehortigoza pushed a commit to branch master.

 commit bcba4779c8df1efe950b5f4cc1075187ab365a57
 Author: José Roberto de Souza jose.so...@intel.com
 Date:   Fri Aug 30 10:52:04 2013 -0300

 eldbus: Add timeout message error as a macro
 ---
  src/lib/eldbus/Eldbus.h | 1 +
  src/lib/eldbus/eldbus_pending.c | 8 
  2 files changed, 5 insertions(+), 4 deletions(-)

 diff --git a/src/lib/eldbus/Eldbus.h b/src/lib/eldbus/Eldbus.h
 index e49061d..fe05f2e 100644
 --- a/src/lib/eldbus/Eldbus.h
 +++ b/src/lib/eldbus/Eldbus.h
 @@ -126,6 +126,7 @@ extern C {
  #define ELDBUS_FDO_INTERFACE_INTROSPECTABLE 
 org.freedesktop.DBus.Introspectable
  #define ELDBUS_FDO_INTEFACE_PEER org.freedesktop.DBus.Peer
  #define ELDBUS_ERROR_PENDING_CANCELED org.enlightenment.DBus.Canceled
 +#define ELDBUS_ERROR_PENDING_TIMEOUT org.enlightenment.DBus.Timeout

I wonder why we are defining this in a public header with the
org.enlightenment namespace when there's a fdo one.



  typedef struct _Eldbus_Version
  {
 diff --git a/src/lib/eldbus/eldbus_pending.c b/src/lib/eldbus/eldbus_pending.c
 index 4174ac1..bf561bb 100644
 --- a/src/lib/eldbus/eldbus_pending.c
 +++ b/src/lib/eldbus/eldbus_pending.c
 @@ -51,8 +51,8 @@ cb_pending(DBusPendingCall *dbus_pending, void *user_data)
  INF(timeout to pending %p, pending);
  dbus_pending_call_cancel(dbus_pending);
  msg = eldbus_message_error_new(pending-msg_sent,
 -  org.enlightenment.DBus.Timeout,
 -  This call was not completed.);
 +   ELDBUS_ERROR_PENDING_TIMEOUT,
 +   This call was not completed in 
 time.);

And here I think we would be better off using
org.freedesktop.DBus.Error.NoReply instead of timeout. I think the
timeout would be used by an *application* when the operation it's
doing timed out.

Lucas De Marchi

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] eet serialization questions

2013-09-02 Thread Christophe Sadoine
Hello

I have some questions concerning eet :)

1) I have a struct like this:

struct Vec3{
double x;
double y;
double ;
}

struct Object {
Vec3 position;
Vec3 rotation;
}

I want to serialize Object.

I have an eet descriptor for Vec3 that I want to use but
EET_DATA_DESCRIPTOR_ADD_SUB takes a pointer, right?
I want to avoid using EET_DATA_DESCRIPTOR_ADD_BASIC with position.x,
position.y, position.z and use the eet descriptor for vec3.
Is it possible to handle this use case?

2)
I have:

struct Entity{
int id;
}

struct Camera{
Entity* target;
}

In this case, when I serialize Camera, I want to save a reference to
the target like its id in my application.
I guess that would involve calling a function that gets the id...

Is it something that stays in the scope of eet or I'd better make my own stuff?

-- 
http://indefini.org

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel