[E-devel] efl-git: build from make dist tar fails.

2016-05-09 Thread Simon Lees
Hi all,
This one should be pretty easy to fix building efl out of a tarball
generated by make dist yields the following issue

[  688s] /home/abuild/rpmbuild/BUILD/efl-1.17.99.47127/install-sh:
evas-3d-fog.c does not exist.
[  688s] Makefile:3352: recipe for target 'install-examples' failed

full build log:
https://build.opensuse.org/package/live_build_log/X11:Enlightenment:Nightly/efl/openSUSE_Leap_42.1/x86_64

Cheers

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE LinuxAdeliade Australia, UTC+9:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] efl doesn't build against the latest libbullet

2016-05-09 Thread Simon Lees
Hi All,
One of the joys of a rolling distro is sometimes stuff breaks, this week
efl no longer builds against the latest libbullet (bullet3-2.83.7) with
the following error:

[  347s] In file included from lib/ephysics/ephysics_camera.cpp:7:0:
[  347s] lib/ephysics/ephysics_private.h:11:70: fatal error:
BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h: No such file
or directory
[  347s] compilation terminated.

The full build log is available from
https://build.opensuse.org/package/live_build_log/openSUSE:Factory/efl/standard/x86_64

Cheers

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE LinuxAdeliade Australia, UTC+9:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 02/02: efl: everyone should now rely on Eina MIN/MAX redefinition.

2016-05-09 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0c4880e99dd047dc92abb0ea6a04febb91908aef

commit 0c4880e99dd047dc92abb0ea6a04febb91908aef
Author: Cedric BAIL 
Date:   Mon May 9 16:58:31 2016 -0700

efl: everyone should now rely on Eina MIN/MAX redefinition.
---
 src/examples/evas/shooter/evas-3d-shooter-macros.h   |  3 ---
 src/lib/ecore/ecore_private.h|  8 
 src/lib/ecore_win32/ecore_win32_private.h| 10 --
 src/lib/ecore_x/xcb/ecore_xcb_dnd.c  |  4 
 src/lib/ecore_x/xcb/ecore_xcb_private.h  |  8 
 src/lib/edje/edje_private.h  |  4 
 src/lib/eet/eet_image.c  |  6 --
 src/lib/eina/eina_private.h  |  8 
 src/lib/eina/eina_str.c  |  2 +-
 src/lib/eina/eina_tiler.c|  1 +
 src/lib/elementary/elm_priv.h|  4 
 src/lib/evas/canvas/render2/region.c |  7 ---
 src/lib/evas/include/evas_macros.h   |  6 --
 src/modules/evas/image_loaders/gif/evas_image_load_gif.c |  3 ---
 src/static_libs/rg_etc/rg_etc1.c |  8 ++--
 src/static_libs/rg_etc/rg_etc2.c |  4 +++-
 16 files changed, 11 insertions(+), 75 deletions(-)

diff --git a/src/examples/evas/shooter/evas-3d-shooter-macros.h 
b/src/examples/evas/shooter/evas-3d-shooter-macros.h
index ce23acf..d7f2186 100644
--- a/src/examples/evas/shooter/evas-3d-shooter-macros.h
+++ b/src/examples/evas/shooter/evas-3d-shooter-macros.h
@@ -1,6 +1,3 @@
-#define MAX(x, y) (((x) > (y)) ? (x) : (y))
-#define MIN(x, y) (((x) < (y)) ? (x) : (y))
-
 #define  FOG_COLOR0.5, 0.5, 0.5
 #define  FOG_FACTOR   0.01
 #define  WIDTH1920
diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h
index c95a4d9..062c8a2 100644
--- a/src/lib/ecore/ecore_private.h
+++ b/src/lib/ecore/ecore_private.h
@@ -69,14 +69,6 @@ extern int _ecore_log_dom;
 # define PATH_MAX 4096
 #endif
 
-#ifndef MIN
-# define MIN(x, y)  (((x) > (y)) ? (y) : (x))
-#endif
-
-#ifndef MAX
-# define MAX(x, y)  (((x) > (y)) ? (x) : (y))
-#endif
-
 #ifndef ABS
 # define ABS(x) ((x) < 0 ? -(x) : (x))
 #endif
diff --git a/src/lib/ecore_win32/ecore_win32_private.h 
b/src/lib/ecore_win32/ecore_win32_private.h
index b5a805a..c90674f 100644
--- a/src/lib/ecore_win32/ecore_win32_private.h
+++ b/src/lib/ecore_win32/ecore_win32_private.h
@@ -6,16 +6,6 @@
 extern "C" {
 #endif
 
-#ifdef MIN
-# undef MIN
-#endif
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-
-#ifdef MAX
-# undef MAX
-#endif
-#define MAX(a,b) (((a) < (b)) ? (b) : (a))
-
 /* logging messages macros */
 extern int _ecore_win32_log_dom_global;
 
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_dnd.c 
b/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
index 07eae1f..974ec0e 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
@@ -1,9 +1,5 @@
 #include "ecore_xcb_private.h"
 
-#ifndef MIN
-# define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#endif
-
 /* local structures */
 typedef struct _Version_Cache_Item
 {
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_private.h 
b/src/lib/ecore_x/xcb/ecore_xcb_private.h
index 61452f2..d6bb743 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_private.h
+++ b/src/lib/ecore_x/xcb/ecore_xcb_private.h
@@ -73,14 +73,6 @@ extern int _ecore_xcb_log_dom;
 #  define MAXHOSTNAMELEN 256
 # endif
 
-# ifndef MIN
-#  define MIN(x, y) (((x) > (y)) ? (y) : (x))
-# endif
-
-# ifndef MAX
-#  define MAX(a, b) ((a < b) ? b : a)
-# endif
-
 #define CHECK_XCB_CONN  \
   { \
  if (xcb_connection_has_error(_ecore_xcb_conn)) \
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 92148e8..5bfecbc 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -130,10 +130,6 @@ EAPI extern int _edje_default_log_dom ;
 #define CLAMP(x, min, max) (((x) > (max)) ? (max) : (((x) < (min)) ? (min) : 
(x)))
 #endif
 
-#ifndef MIN
-#define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#endif
-
 
 #ifdef BUILD_EDJE_FP
 
diff --git a/src/lib/eet/eet_image.c b/src/lib/eet/eet_image.c
index 5578925..ba43c20 100644
--- a/src/lib/eet/eet_image.c
+++ b/src/lib/eet/eet_image.c
@@ -54,12 +54,6 @@
 #define OFFSET_HEIGHT 12
 #define OFFSET_BLOCKS 16
 
-#undef MIN
-#define MIN(x, y) (((x) < (y)) ? (x) : (y))
-
-#undef MAX
-#define MAX(x, y) (((x) > (y)) ? (x) : (y))
-
 /*---*/
 
 typedef struct _JPEG_error_mgr *emptr;
diff --git a/src/lib/eina/eina_private.h b/src/lib/eina/eina_private.h
index c51d35f..810e4b2 100644
--- a/src/lib/eina/eina_private.h
+++ b/src/lib/eina/eina_private.h
@@ -25,14 +25,6 @@
 #include "eina_iterator.h"
 #include 

[EGIT] [core/efl] master 01/02: eina: add MIN/MAX redefine as we use it everywhere.

2016-05-09 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d00643fcc4ebe2de3d9abf21edd0a7f55d99972c

commit d00643fcc4ebe2de3d9abf21edd0a7f55d99972c
Author: Cedric BAIL 
Date:   Mon May 9 16:56:38 2016 -0700

eina: add MIN/MAX redefine as we use it everywhere.

This is done on an attempt to permanently fix our Windows port. Windows
doesn't have MIN/MAX, so we should always do a ifndef/define in every
piece of code that use it. Of course we always forget and it take times
to notice and fix. We have over the year added it in many private
headers, but as the issue continue to raise again and again, I prefer
to get this fixed in our main header.
---
 src/lib/eina/eina_cpu.h | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/lib/eina/eina_cpu.h b/src/lib/eina/eina_cpu.h
index bb7082b..e97d614 100644
--- a/src/lib/eina/eina_cpu.h
+++ b/src/lib/eina/eina_cpu.h
@@ -122,6 +122,14 @@ static inline unsigned int eina_swap32(unsigned int x);
  */
 static inline unsigned long long eina_swap64(unsigned long long x);
 
+#ifndef MIN
+# define MIN(x, y)  (((x) > (y)) ? (y) : (x))
+#endif
+
+#ifndef MAX
+# define MAX(x, y)  (((x) > (y)) ? (x) : (y))
+#endif
+
 #include "eina_inline_cpu.x"
 
 /**

-- 




Re: [E-devel] Enlightenment Release Management

2016-05-09 Thread Christopher Michael
On 05/09/2016 06:14 PM, Mike Blumenkrantz wrote:
> On Mon, May 9, 2016 at 5:41 PM Christopher Michael <
> cpmich...@osg.samsung.com> wrote:
>
>> On 05/09/2016 10:10 AM, Mike Blumenkrantz wrote:
>>> This has been a long time coming, but the time has come for me to admit
>>> that I don't have time anymore to actively develop new releases and
>>> regularly manage/test/punt stable releases.
>>>
>>> Fortunately, there's a solution to this. I've spoken with Simon Lees (aka
>>> Simotek), and he's agreed to help with the maintenance of stable releases
>>> for an amount of time beginning with the 20.8 release. Simon has been a
>>> member of the community for a long time now, and he is also managing
>>> EFL/Enlightenment releases for openSUSE--arguably the distro on which we
>>> are best-supported.
>>>
>>
>> I am not against the idea, but What amount of time are we talking here ?
>> If it's just for a day, then I don't see the point ;)
>>
>>> I'm not involved with infrastructure at all, but it seems to me that
>>> there's two ways this can work:
>>> * He gets commit access, direct ssh access to the download server, and
>>> posting/moderation access to the release list
>>
>> Sure
>>
>>> * I continue to handle these things as a proxy for him
>>>
>>
>> Well, that just eats up your time anyway.
>>
>>> My preference is the former option in order to reduce the amount of time
>>> that I need to spend overseeing someone who is clearly competent and
>>> responsible enough to handle these things on his own.
>>>
>>> The 20.8 release is likely to go out sometime next week, and I'd like to
>>> try and get this resolved before then so that the process can go
>> smoothly.
>>>
>>> Thoughts?
>>
>> My only worry is ... can he handle the stress ? Running automated
>> scripts and making blog posts can wear a person down ;)
>>
>> All kidding aside, If it makes your like easier, then +1 from me ...
>> After all, we can always revoke his acccess if he screws up or abuses it ;)
>>
>
> I hope he abuses it and starts doing releases 3 times a day every day. We
> can beat Firefox to v50!
>

LMAO ! I hope our releases come out better than theirs ;)

>
>>
>> Cheers,
>> dh
>>
>>


--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Enlightenment Release Management

2016-05-09 Thread Mike Blumenkrantz
On Mon, May 9, 2016 at 5:41 PM Christopher Michael <
cpmich...@osg.samsung.com> wrote:

> On 05/09/2016 10:10 AM, Mike Blumenkrantz wrote:
> > This has been a long time coming, but the time has come for me to admit
> > that I don't have time anymore to actively develop new releases and
> > regularly manage/test/punt stable releases.
> >
> > Fortunately, there's a solution to this. I've spoken with Simon Lees (aka
> > Simotek), and he's agreed to help with the maintenance of stable releases
> > for an amount of time beginning with the 20.8 release. Simon has been a
> > member of the community for a long time now, and he is also managing
> > EFL/Enlightenment releases for openSUSE--arguably the distro on which we
> > are best-supported.
> >
>
> I am not against the idea, but What amount of time are we talking here ?
> If it's just for a day, then I don't see the point ;)
>
> > I'm not involved with infrastructure at all, but it seems to me that
> > there's two ways this can work:
> > * He gets commit access, direct ssh access to the download server, and
> > posting/moderation access to the release list
>
> Sure
>
> > * I continue to handle these things as a proxy for him
> >
>
> Well, that just eats up your time anyway.
>
> > My preference is the former option in order to reduce the amount of time
> > that I need to spend overseeing someone who is clearly competent and
> > responsible enough to handle these things on his own.
> >
> > The 20.8 release is likely to go out sometime next week, and I'd like to
> > try and get this resolved before then so that the process can go
> smoothly.
> >
> > Thoughts?
>
> My only worry is ... can he handle the stress ? Running automated
> scripts and making blog posts can wear a person down ;)
>
> All kidding aside, If it makes your like easier, then +1 from me ...
> After all, we can always revoke his acccess if he screws up or abuses it ;)
>

I hope he abuses it and starts doing releases 3 times a day every day. We
can beat Firefox to v50!


>
> Cheers,
> dh
>
>
>
> --
> Mobile security can be enabling, not merely restricting. Employees who
> bring their own devices (BYOD) to work are irked by the imposition of MDM
> restrictions. Mobile Device Manager Plus allows you to control only the
> apps on BYO-devices by containerizing them, leaving personal data
> untouched!
> https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: eina: Add eina_promise_race composition function

2016-05-09 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1c5ce165658820643511ff784d0c210969173a45

commit 1c5ce165658820643511ff784d0c210969173a45
Author: Felipe Magno de Almeida 
Date:   Mon May 9 19:10:26 2016 -0300

eina: Add eina_promise_race composition function

Added eina_promise_race function that composes multiple
promise objects into a new promise which is fulfilled
when one of the promises are fulfilled, or fails
when one of the promises have failed.
---
 src/lib/eina/eina_promise.c| 103 +
 src/lib/eina/eina_promise.h|  18 ++-
 src/tests/eina/eina_test_promise.c |  23 +
 3 files changed, 143 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c
index 2fe19a4..93e7094 100644
--- a/src/lib/eina/eina_promise.c
+++ b/src/lib/eina/eina_promise.c
@@ -104,6 +104,19 @@ struct _Eina_Promise_Iterator
} data;
 };
 
+typedef struct _Eina_Promise_Race_Value_Type _Eina_Promise_Race_Value_Type;
+struct _Eina_Promise_Race_Value_Type
+{
+   void* value;
+   unsigned int promise_index;
+   unsigned int num_promises;
+   struct _Eina_Promise_Race_Information
+   {
+  Eina_Promise* promise;
+  _Eina_Promise_Default_Owner* self;
+   } promises[];
+};
+
 static void _eina_promise_free_progress_callback_node(void* node)
 {
_Eina_Promise_Progress_Cb *progress_cb = node;
@@ -669,6 +682,96 @@ eina_promise_progress_notification(Eina_Promise_Owner* 
promise)
   return eina_promise_owner_promise_get(owner);
 }
 
+// Race implementation
+static void
+_eina_promise_race_free(_Eina_Promise_Race_Value_Type* value)
+{
+   unsigned i = 0;
+   for (;i != value->num_promises; ++i)
+ {
+eina_promise_unref(value->promises[i].promise);
+ }
+}
+
+static void
+_eina_promise_race_compose_then_cb(struct _Eina_Promise_Race_Information* 
info, void* value EINA_UNUSED)
+{
+   _Eina_Promise_Default_Owner* race_promise;
+   _Eina_Promise_Race_Value_Type *race_value;
+
+   race_promise = info->self;
+   race_value = (_Eina_Promise_Race_Value_Type*)race_promise->value;
+
+   if (!race_promise->promise.has_finished)
+ {
+race_value->value = value;
+race_value->promise_index =  info - _value->promises[0];
+_eina_promise_finish(race_promise);
+ }
+}
+
+static void
+_eina_promise_race_compose_error_then_cb(struct 
_Eina_Promise_Race_Information* info, Eina_Error const* error)
+{
+   _Eina_Promise_Default_Owner* race_promise;
+   _Eina_Promise_Race_Value_Type *race_value;
+
+   race_promise = info->self;
+   race_value = (_Eina_Promise_Race_Value_Type*)race_promise->value;
+
+   if (!race_promise->promise.has_finished)
+ {
+race_value->promise_index =  info - _value->promises[0];
+eina_promise_owner_error_set(_promise->owner_vtable, *error);
+ }
+}
+
+Eina_Promise *
+eina_promise_race(Eina_Iterator* it)
+{
+   _Eina_Promise_Default_Owner *promise;
+   Eina_Promise* current;
+   Eina_Array* promises;
+   struct _Eina_Promise_Race_Information *cur_promise, *last;
+   _Eina_Promise_Race_Value_Type *value;
+   int num_promises;
+
+   promises = eina_array_new(20);
+
+   EINA_ITERATOR_FOREACH(it, current)
+ {
+eina_array_push(promises, current);
+ }
+
+   eina_iterator_free(it);
+
+   num_promises = eina_array_count_get(promises);
+   promise = (_Eina_Promise_Default_Owner*)
+ eina_promise_default_add(sizeof(_Eina_Promise_Race_Value_Type) +
+  sizeof(struct 
_Eina_Promise_Race_Information*)*num_promises);
+   value = eina_promise_owner_buffer_get((Eina_Promise_Owner*)promise);
+   value->value = NULL;
+   value->promise_index = -1;
+   value->num_promises = num_promises;
+
+   promise->promise.value_free_cb = 
(Eina_Promise_Free_Cb)&_eina_promise_race_free;
+
+   cur_promise = value->promises;
+   last = value->promises + value->num_promises;
+   for (int i = 0;cur_promise != last; ++cur_promise, ++i)
+ {
+cur_promise->promise = eina_array_data_get(promises, i);
+cur_promise->self = promise;
+eina_promise_then(cur_promise->promise, 
(Eina_Promise_Cb)&_eina_promise_race_compose_then_cb,
+  
(Eina_Promise_Error_Cb)&_eina_promise_race_compose_error_then_cb, cur_promise);
+eina_promise_ref(cur_promise->promise); // We need to keep the value 
alive until this promise is freed
+ }
+
+   eina_array_free(promises);
+
+   return >promise.vtable;
+}
+
 // API functions
 EAPI void
 eina_promise_then(Eina_Promise* promise, Eina_Promise_Cb callback,
diff --git a/src/lib/eina/eina_promise.h b/src/lib/eina/eina_promise.h
index 51bdb80..916d6ea 100644
--- a/src/lib/eina/eina_promise.h
+++ b/src/lib/eina/eina_promise.h
@@ -224,7 +224,11 @@ EAPI void eina_promise_then(Eina_Promise* promise, 
Eina_Promise_Cb callback,
 

Re: [E-devel] Enlightenment Release Management

2016-05-09 Thread Christopher Michael
On 05/09/2016 10:10 AM, Mike Blumenkrantz wrote:
> This has been a long time coming, but the time has come for me to admit
> that I don't have time anymore to actively develop new releases and
> regularly manage/test/punt stable releases.
>
> Fortunately, there's a solution to this. I've spoken with Simon Lees (aka
> Simotek), and he's agreed to help with the maintenance of stable releases
> for an amount of time beginning with the 20.8 release. Simon has been a
> member of the community for a long time now, and he is also managing
> EFL/Enlightenment releases for openSUSE--arguably the distro on which we
> are best-supported.
>

I am not against the idea, but What amount of time are we talking here ? 
If it's just for a day, then I don't see the point ;)

> I'm not involved with infrastructure at all, but it seems to me that
> there's two ways this can work:
> * He gets commit access, direct ssh access to the download server, and
> posting/moderation access to the release list

Sure

> * I continue to handle these things as a proxy for him
>

Well, that just eats up your time anyway.

> My preference is the former option in order to reduce the amount of time
> that I need to spend overseeing someone who is clearly competent and
> responsible enough to handle these things on his own.
>
> The 20.8 release is likely to go out sometime next week, and I'd like to
> try and get this resolved before then so that the process can go smoothly.
>
> Thoughts?

My only worry is ... can he handle the stress ? Running automated 
scripts and making blog posts can wear a person down ;)

All kidding aside, If it makes your like easier, then +1 from me ... 
After all, we can always revoke his acccess if he screws up or abuses it ;)

Cheers,
dh


--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/enlightenment] master 01/01: do not add ignored clients to ibar menu

2016-05-09 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=240561fda184ce4732abe9859924ad6fc994fc2b

commit 240561fda184ce4732abe9859924ad6fc994fc2b
Author: Mike Blumenkrantz 
Date:   Mon May 9 13:56:56 2016 -0400

do not add ignored clients to ibar menu

fix T3603
---
 src/modules/ibar/e_mod_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 755d68d..5b5538e 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -1298,7 +1298,7 @@ _ibar_icon_menu_client_add(IBar_Icon *ic, E_Client *ec)
Eina_Stringshare *txt;
int w, h;
 
-   if (ec->netwm.state.skip_taskbar) return EINA_FALSE;
+   if (ec->netwm.state.skip_taskbar || e_client_util_ignored_get(ec)) return 
EINA_FALSE;
o = ic->menu->o_bg;
it = edje_object_add(e_comp->evas);
ic->client_objs = eina_list_append(ic->client_objs, it);

-- 




[EGIT] [core/enlightenment] master 01/02: make init fail if a dbus session connection cannot be created

2016-05-09 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=7ebaa1ffb3ddae7c1218ecfdbff09edbe7a1ee75

commit 7ebaa1ffb3ddae7c1218ecfdbff09edbe7a1ee75
Author: Mike Blumenkrantz 
Date:   Mon May 9 13:30:40 2016 -0400

make init fail if a dbus session connection cannot be created

typically this indicates a broken session manager or someone trying to run
a wayland session without using dbus-launch
---
 src/bin/e_main.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index ef68ab5..28ed4bc 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -629,7 +629,17 @@ main(int argc, char **argv)
if (e_config->show_splash)
  e_init_status_set(_("Setup Message Bus"));
TS("E_Msgbus Init");
-   if (e_msgbus_init())
+   if (!e_msgbus_init())
+ {
+if (!getenv("E_NO_DBUS_SESSION"))
+  {
+ e_error_message_show(_("Enlightenment cannot create a dbus 
session connection.\n"
+"At best this will break many things, at 
worst it will hard lock your machine.\n"
+"If you're sure you know what you're 
doing, export E_NO_DBUS_SESSION=1"));
+ _e_main_shutdown(-1);
+  }
+ }
+   else
  _e_main_shutdown_push(e_msgbus_shutdown);
TS("E_Msgbus Init Done");
 

-- 




[EGIT] [core/efl] master 01/01: elput: Add code to handle keybindings for vt switching

2016-05-09 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d734cd4cada136add5d66e126c659223897fe487

commit d734cd4cada136add5d66e126c659223897fe487
Author: Chris Michael 
Date:   Mon May 9 12:00:35 2016 -0400

elput: Add code to handle keybindings for vt switching

This patch makes elput handle receiving the key combinations for vt
switching and perform the actual switch itself. This is done so that
ecore_drm2, ecore_fb, etc, etc do not each need their own code to
handle vt switching.

@feature

Signed-off-by: Chris Michael 
---
 src/lib/elput/elput_manager.c | 45 +++
 src/lib/elput/elput_private.h |  1 +
 2 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/src/lib/elput/elput_manager.c b/src/lib/elput/elput_manager.c
index e267951..13db809 100644
--- a/src/lib/elput/elput_manager.c
+++ b/src/lib/elput/elput_manager.c
@@ -5,11 +5,35 @@ static Elput_Interface *_ifaces[] =
 #ifdef HAVE_SYSTEMD
&_logind_interface,
 #endif
-   NULL, // launcher
-   NULL, // direct
NULL,
 };
 
+static Eina_Bool
+_cb_key_down(void *data, int type EINA_UNUSED, void *event)
+{
+   Elput_Manager *em;
+   Ecore_Event_Key *ev;
+   int code = 0, vt = 0;
+
+   em = data;
+   ev = event;
+   code = (ev->keycode - 8);
+
+   if ((ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) &&
+   (ev->modifiers & ECORE_EVENT_MODIFIER_ALT) &&
+   (code >= KEY_F1) && (code <= KEY_F8))
+ {
+vt = (code - KEY_F1 + 1);
+if (em->interface->vt_set)
+  {
+ if (!em->interface->vt_set(em, vt))
+   ERR("Failed to switch to virtual terminal %d", vt);
+  }
+ }
+
+   return ECORE_CALLBACK_RENEW;
+}
+
 EAPI Elput_Manager *
 elput_manager_connect(const char *seat, unsigned int tty, Eina_Bool sync)
 {
@@ -41,6 +65,8 @@ elput_manager_disconnect(Elput_Manager *manager)
 EAPI int
 elput_manager_open(Elput_Manager *manager, const char *path, int flags)
 {
+   int ret = -1;
+
EINA_SAFETY_ON_NULL_RETURN_VAL(manager, -1);
EINA_SAFETY_ON_NULL_RETURN_VAL(manager->interface, -1);
EINA_SAFETY_ON_NULL_RETURN_VAL(path, -1);
@@ -48,9 +74,17 @@ elput_manager_open(Elput_Manager *manager, const char *path, 
int flags)
if (flags < 0) flags = O_RDWR;
 
if (manager->interface->open)
- return manager->interface->open(manager, path, flags);
+ {
+ret = manager->interface->open(manager, path, flags);
+if (ret)
+  {
+ manager->vt_hdlr =
+   ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
+   _cb_key_down, manager);
+  }
+ }
 
-   return -1;
+   return ret;
 }
 
 EAPI void
@@ -59,6 +93,9 @@ elput_manager_close(Elput_Manager *manager, int fd)
EINA_SAFETY_ON_NULL_RETURN(manager);
EINA_SAFETY_ON_NULL_RETURN(manager->interface);
 
+   if (manager->vt_hdlr) ecore_event_handler_del(manager->vt_hdlr);
+   manager->vt_hdlr = NULL;
+
if (manager->interface->close)
  manager->interface->close(manager, fd);
 }
diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h
index 769d23c..d3297fa 100644
--- a/src/lib/elput/elput_private.h
+++ b/src/lib/elput/elput_private.h
@@ -222,6 +222,7 @@ struct _Elput_Manager
char *sid;
const char *seat;
unsigned int vt_num;
+   Ecore_Event_Handler *vt_hdlr;
 
struct
  {

-- 




[EGIT] [core/efl] master 01/04: elput: Remove useless dbus argument fetching

2016-05-09 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9ed2f42c08c5adffbd4c13043923a1d5683d0bf1

commit 9ed2f42c08c5adffbd4c13043923a1d5683d0bf1
Author: Chris Michael 
Date:   Mon May 9 10:40:23 2016 -0400

elput: Remove useless dbus argument fetching

As we do not need minor or fd from the dbus message during input
device resume, we can remove these variables

@fix

Signed-off-by: Chris Michael 
---
 src/lib/elput/elput_logind.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index e829b4a..0f32b25 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -90,8 +90,7 @@ _cb_device_resumed(void *data, const Eldbus_Message *msg)
 {
Elput_Manager *em;
const char *errname, *errmsg;
-   uint32_t maj, min;
-   int fd;
+   uint32_t maj;
 
em = data;
 
@@ -101,7 +100,7 @@ _cb_device_resumed(void *data, const Eldbus_Message *msg)
 return;
  }
 
-   if (eldbus_message_arguments_get(msg, "uuh", , , ))
+   if (eldbus_message_arguments_get(msg, "u", ))
  {
 if ((em->sync) && (maj == 226)) // DRM_MAJOR
   {

-- 




[EGIT] [core/efl] master 03/04: elput: Remove erroneous debug print out

2016-05-09 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a96266c42272bd6b8d3a27d7fdd7575199772c85

commit a96266c42272bd6b8d3a27d7fdd7575199772c85
Author: Chris Michael 
Date:   Mon May 9 11:05:21 2016 -0400

elput: Remove erroneous debug print out

NB: No functional changes, just cleanup of extra debug message and
commented out codeblock

Signed-off-by: Chris Michael 
---
 src/lib/elput/elput_input.c  | 6 --
 src/lib/elput/elput_logind.c | 2 --
 2 files changed, 8 deletions(-)

diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c
index d50b023..8a15694 100644
--- a/src/lib/elput/elput_input.c
+++ b/src/lib/elput/elput_input.c
@@ -137,18 +137,12 @@ _device_add(Elput_Manager *em, struct libinput_device 
*dev)
 static void
 _device_remove(Elput_Manager *em EINA_UNUSED, struct libinput_device *device)
 {
-   /* Elput_Seat *eseat; */
Elput_Device *edev;
 
edev = libinput_device_get_user_data(device);
if (!edev) return;
 
-   /* eseat = _udev_seat_get(em, device); */
-   /* if (eseat) */
-   /*   eseat->devices = eina_list_remove(eseat->devices, edev); */
-
_device_event_send(edev, ELPUT_DEVICE_REMOVED);
-   /* _evdev_device_destroy(edev); */
 }
 
 static int
diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index aedcd79..123861a 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -140,8 +140,6 @@ _cb_property_changed(void *data, Eldbus_Proxy *proxy 
EINA_UNUSED, void *event)
em = data;
ev = event;
 
-   DBG("DBus Property Changed: %s", ev->name);
-
if (!strcmp(ev->name, "Active"))
  {
 eina_value_get(ev->value, );

-- 




[EGIT] [core/efl] master 02/04: elput: Support sending of session activate/deactivate event

2016-05-09 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3de066469ae76c22e50e9f78b03f1841d81cd7cc

commit 3de066469ae76c22e50e9f78b03f1841d81cd7cc
Author: Chris Michael 
Date:   Mon May 9 11:01:30 2016 -0400

elput: Support sending of session activate/deactivate event

This patch adds support for notifying when a session gets activated or
deactivated. This will be used in drm2 to notify compositor when to
pause/restart rendering during a vt switch

@feature

Signed-off-by: Chris Michael 
---
 src/lib/elput/Elput.h|  8 
 src/lib/elput/elput.c|  3 +++
 src/lib/elput/elput_logind.c | 37 -
 3 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h
index f3fe16b..95adfce 100644
--- a/src/lib/elput/Elput.h
+++ b/src/lib/elput/Elput.h
@@ -91,11 +91,19 @@ typedef struct _Elput_Event_Device_Change
Elput_Device_Change_Type type;
 } Elput_Event_Device_Change;
 
+/* structure to represent session active changes */
+typedef struct _Elput_Event_Session_Active
+{
+   const char *session;
+   Eina_Bool active : 1;
+} Elput_Event_Session_Active;
+
 EAPI extern int ELPUT_EVENT_SEAT_CAPS;
 EAPI extern int ELPUT_EVENT_SEAT_FRAME;
 EAPI extern int ELPUT_EVENT_KEYMAP_SEND;
 EAPI extern int ELPUT_EVENT_MODIFIERS_SEND;
 EAPI extern int ELPUT_EVENT_DEVICE_CHANGE;
+EAPI extern int ELPUT_EVENT_SESSION_ACTIVE;
 
 /**
  * @file
diff --git a/src/lib/elput/elput.c b/src/lib/elput/elput.c
index 2e54b3e..95d7a1e 100644
--- a/src/lib/elput/elput.c
+++ b/src/lib/elput/elput.c
@@ -11,6 +11,7 @@ EAPI int ELPUT_EVENT_SEAT_FRAME = -1;
 EAPI int ELPUT_EVENT_KEYMAP_SEND = -1;
 EAPI int ELPUT_EVENT_MODIFIERS_SEND = -1;
 EAPI int ELPUT_EVENT_DEVICE_CHANGE = -1;
+EAPI int ELPUT_EVENT_SESSION_ACTIVE = -1;
 
 EAPI int
 elput_init(void)
@@ -34,6 +35,7 @@ elput_init(void)
ELPUT_EVENT_KEYMAP_SEND = ecore_event_type_new();
ELPUT_EVENT_MODIFIERS_SEND = ecore_event_type_new();
ELPUT_EVENT_DEVICE_CHANGE = ecore_event_type_new();
+   ELPUT_EVENT_SESSION_ACTIVE = ecore_event_type_new();
 
return _elput_init_count;
 
@@ -60,6 +62,7 @@ elput_shutdown(void)
ELPUT_EVENT_KEYMAP_SEND = -1;
ELPUT_EVENT_MODIFIERS_SEND = -1;
ELPUT_EVENT_DEVICE_CHANGE = -1;
+   ELPUT_EVENT_SESSION_ACTIVE = -1;
 
eina_log_domain_unregister(_elput_log_dom);
_elput_log_dom = -1;
diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index 0f32b25..aedcd79 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -3,6 +3,31 @@
 #ifdef HAVE_SYSTEMD
 
 static void
+_logind_session_active_cb_free(void *data EINA_UNUSED, void *event)
+{
+   Elput_Event_Session_Active *ev;
+
+   ev = event;
+   eina_stringshare_del(ev->session);
+   free(ev);
+}
+
+static void
+_logind_session_active_send(Elput_Manager *em, Eina_Bool active)
+{
+   Elput_Event_Session_Active *ev;
+
+   ev = calloc(1, sizeof(Elput_Event_Session_Active));
+   if (!ev) return;
+
+   ev->session = eina_stringshare_add(em->sid);
+   ev->active = active;
+
+   ecore_event_add(ELPUT_EVENT_SESSION_ACTIVE, ev,
+   _logind_session_active_cb_free, NULL);
+}
+
+static void
 _logind_device_pause_complete(Elput_Manager *em, uint32_t major, uint32_t 
minor)
 {
Eldbus_Proxy *proxy;
@@ -79,9 +104,7 @@ _cb_device_paused(void *data, const Eldbus_Message *msg)
   _logind_device_pause_complete(em, maj, min);
 
 if ((em->sync) && (maj == 226)) // DRM_MAJOR
-  {
- /* TODO: _ecore_drm2_launcher_activate_send(em, EINA_FALSE); */
-  }
+  _logind_session_active_send(em, EINA_FALSE);
  }
 }
 
@@ -103,9 +126,7 @@ _cb_device_resumed(void *data, const Eldbus_Message *msg)
if (eldbus_message_arguments_get(msg, "u", ))
  {
 if ((em->sync) && (maj == 226)) // DRM_MAJOR
-  {
- /* TODO: _ecore_drm2_launcher_activate_send(em, EINA_TRUE); */
-  }
+  _logind_session_active_send(em, EINA_TRUE);
  }
 }
 
@@ -125,9 +146,7 @@ _cb_property_changed(void *data, Eldbus_Proxy *proxy 
EINA_UNUSED, void *event)
  {
 eina_value_get(ev->value, );
 if ((!em->sync) || (!active))
-  {
- /* TODO: _ecore_drm2_launcher_activate_send(em, active); */
-  }
+  _logind_session_active_send(em, active);
  }
 }
 

-- 




[EGIT] [core/efl] master 04/04: elput: Add API function to switch to a given vt

2016-05-09 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f9149c1699515c060d004225c6a2c5653cebe322

commit f9149c1699515c060d004225c6a2c5653cebe322
Author: Chris Michael 
Date:   Mon May 9 11:35:48 2016 -0400

elput: Add API function to switch to a given vt

This patch adds a new API function to Elput that can be used to switch
to a given VT. This allows drm2 or enlightenment to switch to a given
virtual terminal in response to keybindings.

@feature

Signed-off-by: Chris Michael 
---
 src/lib/elput/Elput.h | 13 +++
 src/lib/elput/elput_logind.c  | 50 +++
 src/lib/elput/elput_manager.c | 13 +++
 src/lib/elput/elput_private.h |  1 +
 4 files changed, 77 insertions(+)

diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h
index 95adfce..d38569d 100644
--- a/src/lib/elput/Elput.h
+++ b/src/lib/elput/Elput.h
@@ -206,6 +206,19 @@ EAPI int elput_manager_open(Elput_Manager *manager, const 
char *path, int flags)
 EAPI void elput_manager_close(Elput_Manager *manager, int fd);
 
 /**
+ * Request to switch to a given vt
+ *
+ * @param manager
+ * @param vt
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise
+ *
+ * @ingroup Elput_Manager_Group
+ * @since 1.18
+ */
+EAPI Eina_Bool elput_manager_vt_set(Elput_Manager *manager, int vt);
+
+/**
  * @defgroup Elput_Input_Group Elput input functions
  *
  * Functions that deal with setup of inputs
diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index 123861a..394fca5 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -574,12 +574,62 @@ _logind_close(Elput_Manager *em, int fd)
_logind_device_release(em, major(st.st_rdev), minor(st.st_rdev));
 }
 
+static Eina_Bool
+_logind_vt_set(Elput_Manager *em, int vt)
+{
+   Eldbus_Object *obj;
+   Eldbus_Proxy *proxy;
+   Eldbus_Message *msg;
+   char self[PATH_MAX];
+
+   snprintf(self, sizeof(self), "/org/freedesktop/login1/seat/self");
+
+   obj = eldbus_object_get(em->dbus.conn, "org.freedesktop.login1", self);
+   if (!obj)
+ {
+ERR("Could not get dbus object");
+goto obj_err;
+ }
+
+   proxy = eldbus_proxy_get(obj, "org.freedesktop.login1.Seat");
+   if (!proxy)
+ {
+ERR("Could not get dbus proxy");
+goto proxy_err;
+ }
+
+   msg = eldbus_proxy_method_call_new(proxy, "SwitchTo");
+   if (!msg)
+ {
+ERR("Could not create method call for proxy");
+goto msg_err;
+ }
+
+   eldbus_message_arguments_append(msg, "u", );
+
+   eldbus_proxy_send(proxy, msg, NULL, NULL, -1);
+
+   eldbus_message_unref(msg);
+   eldbus_proxy_unref(proxy);
+   eldbus_object_unref(obj);
+
+   return EINA_TRUE;
+
+msg_err:
+   eldbus_proxy_unref(proxy);
+proxy_err:
+   eldbus_object_unref(obj);
+obj_err:
+   return EINA_FALSE;
+}
+
 Elput_Interface _logind_interface =
 {
_logind_connect,
_logind_disconnect,
_logind_open,
_logind_close,
+   _logind_vt_set,
 };
 
 #endif
diff --git a/src/lib/elput/elput_manager.c b/src/lib/elput/elput_manager.c
index 3dc67d9..e267951 100644
--- a/src/lib/elput/elput_manager.c
+++ b/src/lib/elput/elput_manager.c
@@ -62,3 +62,16 @@ elput_manager_close(Elput_Manager *manager, int fd)
if (manager->interface->close)
  manager->interface->close(manager, fd);
 }
+
+EAPI Eina_Bool
+elput_manager_vt_set(Elput_Manager *manager, int vt)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(manager, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(manager->interface, EINA_FALSE);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL((vt < 0), EINA_FALSE);
+
+   if (manager->interface->vt_set)
+ return manager->interface->vt_set(manager, vt);
+
+   return EINA_FALSE;
+}
diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h
index 05ee0b1..769d23c 100644
--- a/src/lib/elput/elput_private.h
+++ b/src/lib/elput/elput_private.h
@@ -72,6 +72,7 @@ typedef struct _Elput_Interface
void (*disconnect)(Elput_Manager *manager);
int (*open)(Elput_Manager *manager, const char *path, int flags);
void (*close)(Elput_Manager *manager, int fd);
+   Eina_Bool (*vt_set)(Elput_Manager *manager, int vt);
 } Elput_Interface;
 
 typedef struct _Elput_Input

-- 




[E-devel] Enlightenment Release Management

2016-05-09 Thread Mike Blumenkrantz
This has been a long time coming, but the time has come for me to admit
that I don't have time anymore to actively develop new releases and
regularly manage/test/punt stable releases.

Fortunately, there's a solution to this. I've spoken with Simon Lees (aka
Simotek), and he's agreed to help with the maintenance of stable releases
for an amount of time beginning with the 20.8 release. Simon has been a
member of the community for a long time now, and he is also managing
EFL/Enlightenment releases for openSUSE--arguably the distro on which we
are best-supported.

I'm not involved with infrastructure at all, but it seems to me that
there's two ways this can work:
* He gets commit access, direct ssh access to the download server, and
posting/moderation access to the release list
* I continue to handle these things as a proxy for him

My preference is the former option in order to reduce the amount of time
that I need to spend overseeing someone who is clearly competent and
responsible enough to handle these things on his own.

The 20.8 release is likely to go out sometime next week, and I'd like to
try and get this resolved before then so that the process can go smoothly.

Thoughts?
--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
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/02: elm test dnd: fix multiple items dnd

2016-05-09 Thread Mike Blumenkrantz
On Mon, May 9, 2016 at 4:59 AM Thiep Ha  wrote:

> thiep pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=07507864ca7e383b2dbf5600f8a4d58cb687e142
>
> commit 07507864ca7e383b2dbf5600f8a4d58cb687e142
> Author: Thiep Ha 
> Date:   Mon May 9 17:10:01 2016 +0900
>
> elm test dnd: fix multiple items dnd
>
> When we do dnd with multiple items in genlist, gengrid in dnd test,
> the items are correctly transfered.
> It is caused by incorrect sent data.
> This patch fixes by adding new line separation between items' data.
> ---
>  src/bin/elementary/test_dnd.c | 8 ++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/src/bin/elementary/test_dnd.c b/src/bin/elementary/test_dnd.c
> index 40c2c61..faeee2e 100644
> --- a/src/bin/elementary/test_dnd.c
> +++ b/src/bin/elementary/test_dnd.c
> @@ -65,6 +65,7 @@ _drag_data_build(Eina_List **items)
>  Elm_Object_Item *it;
>  const char *t;
>  unsigned int len = 0;
> +int i = 0;
>
>  EINA_LIST_FOREACH(*items, l, it)
>{
> @@ -73,17 +74,20 @@ _drag_data_build(Eina_List **items)
> len += strlen(t);
>}
>
> -drag_data = malloc(len + eina_list_count(*items) * (FILESEP_LEN +
> 1) + 1);
> +drag_data = malloc(len + eina_list_count(*items) * (FILESEP_LEN +
> 1));
>  strcpy((char *) drag_data, "");
>
> -/* drag data in form: file://URI1\nfile://URI2\n */
> +/* drag data in form: file://URI1\nfile://URI2 */
>  EINA_LIST_FOREACH(*items, l, it)
>{
>   t = (char *)elm_object_item_data_get(it);
>   if (t)
> {
> +  if (i > 0)
> +strcat((char *) drag_data, "\n");
>strcat((char *) drag_data, FILESEP);
>strcat((char *) drag_data, t);
> +  i++;
> }
>}
>   }
>
> --
>
>
>
I would strongly prefer if you could change this to use eina_strbuf. I can
almost guarantee that continued use of strcat will result in even more
coverity issues.
--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
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/03: ecore: update documentation of Efl.Timer.

2016-05-09 Thread Stefan Schmidt
Hello.

On 07/05/16 00:42, Cedric BAIL wrote:
> cedric pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=45d17f100e927ee90ea782a387893add0e7f3fbd
>
> commit 45d17f100e927ee90ea782a387893add0e7f3fbd
> Author: Cedric BAIL 
> Date:   Fri May 6 15:32:32 2016 -0700
>
>  ecore: update documentation of Efl.Timer.
>  
>  I am wondering how this is going to affect our legacy API documentation
>  which has indeed a different lifecycle.

You mean how an documentation update in the EO file would effect the 
published docs?

They would not be part of any current/legacy docs. It will be part of 
the new doc system we are working on based on the EO files though.

What we currently have is manually updated from time to time here:
https://devs.enlightenment.org/~stefan/dokuwiki/doku.php?id=efl:reference#efl_reference

This is nothing official yet but just to help Daniel and me to verify 
our changes.

regards
Stefan Schmidt

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: edje - file set - use vpath for edje files now too like evas images

2016-05-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=90e8ad8d7dec453fa0037792cb6e2e04bdeadc8b

commit 90e8ad8d7dec453fa0037792cb6e2e04bdeadc8b
Author: Carsten Haitzler (Rasterman) 
Date:   Mon May 9 19:37:48 2016 +0900

edje - file set - use vpath for edje files now too like evas images
---
 src/lib/edje/edje_edit.c| 13 -
 src/lib/edje/edje_load.c| 12 +++-
 src/lib/edje/edje_private.h |  2 ++
 src/lib/edje/edje_smart.c   | 42 --
 4 files changed, 61 insertions(+), 8 deletions(-)

diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index da63dd7..bd5552a 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -189,14 +189,25 @@ _edje_edit_efl_file_file_set(Eo *obj, Edje_Edit *eed, 
const char *file, const ch
 *(GROUP parts or BOX/TABLE items pointing to non-existent/renamed
 *groups).
 */
+   Efl_Vpath_File *file_obj =
+ efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, file);
+   efl_vpath_file_do(file_obj);
+   // XXX:FIXME: allow this to be async
+   efl_vpath_file_wait(file_obj);
+   file = efl_vpath_file_result_get(file_obj);
+
Eina_Bool int_ret = EINA_FALSE;
int_ret = efl_file_set(eo_super(obj, MY_CLASS), file, group);
if (!int_ret)
- return ret;
+ {
+eo_del(file_obj);
+return ret;
+ }
 
eed->program_scripts = 
eina_hash_int32_new((Eina_Free_Cb)_edje_edit_program_script_free);
 
ef = eet_open(file, EET_FILE_MODE_READ);
+   eo_del(file_obj);
 
snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i",
 eed->base->collection->id);
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index e73007f..af9e7ce 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -246,11 +246,18 @@ edje_file_collection_list(const char *file)
Eina_List *lst;
 
if ((!file) || (!*file)) return NULL;
+   Efl_Vpath_File *file_obj =
+ efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, file);
+   efl_vpath_file_do(file_obj);
+   // XXX:FIXME: allow this to be async
+   efl_vpath_file_wait(file_obj);
+   file = efl_vpath_file_result_get(file_obj);
f = eina_file_open(file, EINA_FALSE);
 
lst = edje_mmap_collection_list(f);
 
eina_file_close(f);
+   eo_del(file_obj);
return lst;
 }
 
@@ -1412,11 +1419,6 @@ _edje_file_add(Edje *ed, const Eina_File *f)
  ed->file = NULL;
   }
  }
-   else
- {
-// FIXME: it will be actually better to remove ed->path.
-ed->path = eina_stringshare_add(eina_file_filename_get(f));
- }
 }
 
 static int
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index c70f282..92148e8 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -1660,6 +1660,8 @@ struct _Edje
 
doubleduration_scale;
 
+   Efl_Vpath_File   *file_obj;
+
Eina_List*user_defined;
 
lua_State*L;
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 2e905bf..ebfcf0c 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -50,6 +50,11 @@ _edje_object_eo_base_constructor(Eo *obj, Edje *ed)
 EOLIAN static void
 _edje_object_eo_base_destructor(Eo *obj, Edje *class_data)
 {
+   if (class_data->file_obj)
+ {
+eo_del(class_data->file_obj);
+class_data->file_obj = NULL;
+ }
eo_destructor(eo_super(obj, MY_CLASS));
eo_data_unref(obj, class_data->base);
 }
@@ -359,11 +364,28 @@ _edje_object_efl_file_file_set(Eo *obj, Edje *ed, const 
char *file, const char *
 
ret = EINA_FALSE;
 
+   if (ed->file_obj)
+ {
+eo_del(ed->file_obj);
+ed->file_obj = NULL;
+ }
if (file)
  {
-f = eina_file_open(file, EINA_FALSE);
+const char *file2;
+
+ed->file_obj = efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, file);
+efl_vpath_file_do(ed->file_obj);
+// XXX:FIXME: allow this to be async
+efl_vpath_file_wait(ed->file_obj);
+file2 = efl_vpath_file_result_get(ed->file_obj);
+
+f = eina_file_open(file2, EINA_FALSE);
 if (!f)
   {
+ eo_del(ed->file_obj);
+ ed->file_obj = NULL;
+ if (ed->path) eina_stringshare_del(ed->path);
+ ed->path = NULL;
  ed->load_error = EDJE_LOAD_ERROR_DOES_NOT_EXIST;
  return ret;
   }
@@ -371,7 +393,23 @@ _edje_object_efl_file_file_set(Eo *obj, Edje *ed, const 
char *file, const char *
nested = eina_array_new(8);
 
if (_edje_object_file_set_internal(obj, f, group, NULL, NULL, nested))
- ret = EINA_TRUE;
+ {
+if (file)
+  {
+ ed->path = eina_stringshare_add(file);
+  }
+else
+  {
+ if (ed->path) eina_stringshare_del(ed->path);
+ ed->path = NULL;
+  }

[EGIT] [admin/devs] master 01/01: probie: add a new probie, "herb"

2016-05-09 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=a3fc5f0b515337277a43a0be86bfc5377a11dc81

commit a3fc5f0b515337277a43a0be86bfc5377a11dc81
Author: Hermet Park 
Date:   Mon May 9 19:15:35 2016 +0900

probie: add a new probie, "herb"
---
 probies/herb/id_rsa.pub | 1 +
 probies/herb/info.txt   | 8 
 2 files changed, 9 insertions(+)

diff --git a/probies/herb/id_rsa.pub b/probies/herb/id_rsa.pub
new file mode 100644
index 000..c2329ce
--- /dev/null
+++ b/probies/herb/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQDkQvQzmPnmLvbHoKvZ0WTa4ZDfesFgGtr4CJgOCFl5YuNFIOZ/UsOk94q7cEr43erqlRIsI7c8Web4pzNyBt7rJd8wkszoTzvLBSeTLaAI+BnGBWUboROTfcn3poAY2yCkYQYUAquUF8fpRRIICeK1eTCY/KsxYpDmg3+bjd3u5sHmekY4i3SeUwOMQaKBK+ucVZiwGGYdbsINSYzGCixaMYmaRty5r5c06L1Bkg/cIzG66wlrna12ckFZiTD+5twaWkPDst+1428/gExvHH54xt1tKsg4y4y+LwvSlhPDtCVNdvAtU334/w1/r2AB9r7A+KwUGr+50uEjIGEkJ1H9
 taehyub@taehyub
diff --git a/probies/herb/info.txt b/probies/herb/info.txt
new file mode 100644
index 000..f8c969a
--- /dev/null
+++ b/probies/herb/info.txt
@@ -0,0 +1,8 @@
+Login:herb
+IRC Nick: taehyub
+Name: Taehyub Kim
+Location: Seoul, Republic of Korea
+E-Mail:   taehyub0...@gmail.com, taehyub@samsung.com
+Contributing: efl, enventor
+Group:Libraries
+Platform: Ubuntu

-- 




[EGIT] [core/efl] master 02/02: elm entry: add more control for dnd

2016-05-09 Thread Thiep Ha
thiep pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b39d869b7a6fc80a33ec6ec531efab68097e7c7a

commit b39d869b7a6fc80a33ec6ec531efab68097e7c7a
Author: Thiep Ha 
Date:   Mon May 9 17:28:02 2016 +0900

elm entry: add more control for dnd

Adding dnd's enter, leave, position callbacks to let users know
when drag item is entered, leaved; move cursor to follow
drag item's position.
---
 src/lib/elementary/elm_entry.c | 114 -
 1 file changed, 77 insertions(+), 37 deletions(-)

diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index d193a53..f26e803 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -698,8 +698,48 @@ _selection_data_cb(void *data EINA_UNUSED,
return EINA_TRUE;
 }
 
+static void
+_dnd_enter_cb(void *data EINA_UNUSED,
+  Evas_Object *obj)
+{
+   elm_object_focus_set(obj, EINA_TRUE);
+}
+
+static void
+_dnd_leave_cb(void *data EINA_UNUSED,
+  Evas_Object *obj)
+{
+   if (_elm_config->desktop_entry)
+ elm_object_focus_set(obj, EINA_FALSE);
+}
+
+static void
+_dnd_pos_cb(void *data EINA_UNUSED,
+Evas_Object *obj,
+Evas_Coord x,
+Evas_Coord y,
+Elm_Xdnd_Action action EINA_UNUSED)
+{
+   int pos;
+   Evas_Coord ox, oy, ex, ey;
+
+   ELM_ENTRY_DATA_GET(obj, sd);
+
+   evas_object_geometry_get(obj, , , NULL, NULL);
+   evas_object_geometry_get(sd->entry_edje, , , NULL, NULL);
+   x = x + ox - ex;
+   y = y + oy - ey;
+
+   edje_object_part_text_cursor_coord_set
+  (sd->entry_edje, "elm.text", EDJE_CURSOR_USER, x, y);
+   pos = edje_object_part_text_cursor_pos_get
+  (sd->entry_edje, "elm.text", EDJE_CURSOR_USER);
+   edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text",
+EDJE_CURSOR_MAIN, pos);
+}
+
 static Eina_Bool
-_drag_drop_cb(void *data EINA_UNUSED,
+_dnd_drop_cb(void *data EINA_UNUSED,
   Evas_Object *obj,
   Elm_Selection_Data *drop)
 {
@@ -732,10 +772,10 @@ EOLIAN static Eina_Bool
 _elm_entry_elm_widget_disable(Eo *obj, Elm_Entry_Data *sd)
 {
elm_drop_target_del(obj, sd->drop_format,
-   NULL, NULL,
-   NULL, NULL,
-   NULL, NULL,
-   _drag_drop_cb, NULL);
+   _dnd_enter_cb, NULL,
+   _dnd_leave_cb, NULL,
+   _dnd_pos_cb, NULL,
+   _dnd_drop_cb, NULL);
if (elm_object_disabled_get(obj))
  {
 edje_object_signal_emit(sd->entry_edje, "elm,state,disabled", "elm");
@@ -757,10 +797,10 @@ _elm_entry_elm_widget_disable(Eo *obj, Elm_Entry_Data *sd)
 sd->disabled = EINA_FALSE;
 sd->drop_format = _get_drop_format(obj);
 elm_drop_target_add(obj, sd->drop_format,
-NULL, NULL,
-NULL, NULL,
-NULL, NULL,
-_drag_drop_cb, NULL);
+_dnd_enter_cb, NULL,
+_dnd_leave_cb, NULL,
+_dnd_pos_cb, NULL,
+_dnd_drop_cb, NULL);
  }
 
return EINA_TRUE;
@@ -3479,10 +3519,10 @@ _elm_entry_evas_object_smart_add(Eo *obj, 
Elm_Entry_Data *priv)
 
priv->drop_format = ELM_SEL_FORMAT_MARKUP | ELM_SEL_FORMAT_IMAGE;
elm_drop_target_add(obj, priv->drop_format,
-   NULL, NULL,
-   NULL, NULL,
-   NULL, NULL,
-   _drag_drop_cb, NULL);
+   _dnd_enter_cb, NULL,
+   _dnd_leave_cb, NULL,
+   _dnd_pos_cb, NULL,
+   _dnd_drop_cb, NULL);
 
if (!elm_layout_theme_set(obj, "entry", "base", elm_widget_style_get(obj)))
  CRI("Failed to set layout!");
@@ -3898,10 +3938,10 @@ _elm_entry_password_set(Eo *obj, Elm_Entry_Data *sd, 
Eina_Bool password)
sd->password = password;
 
elm_drop_target_del(obj, sd->drop_format,
-   NULL, NULL,
-   NULL, NULL,
-   NULL, NULL,
-   _drag_drop_cb, NULL);
+   _dnd_enter_cb, NULL,
+   _dnd_leave_cb, NULL,
+   _dnd_pos_cb, NULL,
+   _dnd_drop_cb, NULL);
if (password)
  {
 sd->single_line = EINA_TRUE;
@@ -3914,10 +3954,10 @@ _elm_entry_password_set(Eo *obj, Elm_Entry_Data *sd, 
Eina_Bool password)
  {
 sd->drop_format = _get_drop_format(obj);
 elm_drop_target_add(obj, sd->drop_format,
-NULL, NULL,
-NULL, NULL,
-NULL, NULL,
-_drag_drop_cb, NULL);
+

[E-devel] Weekly news from the automated build and QA front

2016-05-09 Thread Stefan Schmidt
Hello.

Summary:
o Nothing urgent to report


This should give everyone an overview over what has happened in the last
week on the QA front. The numbers in parentheses reflect the values from
last week to give you a trend.

CI:
o Overall build statistic: 11.04% (11.57%) failed.
https://build.enlightenment.org/

Unit tests:
o 741 (708) unit tests for efl

Coverage:
o EFL total coverage is at 27.4% (27.4%) lines, 32.6% (32.7%) functions 
and 21.5% (21.5%) branches
https://build.enlightenment.org/view/Test%20Coverage/

Coverity:
o EFL: Outstanding defects 124 (124) with a density of 0.12 (0.12)
o Evas Generic Loaders: Outstanding defects 0 (0) with a density of 0
(0)
o Emotion Generic Players: Outstanding defects 0 (0) with a density of
0 (0)
o Enlightenment: Outstanding defects 4 (0) with a density of 0.01 (0)
o Terminology: Outstanding defects 0 (0) with a density of 0 (0)
o Rage: Outstanding defects 2 (2) with a density of 0.04 (0.04)

Phab:
o Total bug count: 912 (902)
https://phab.enlightenment.org/maniphest/report/burn/
o Pending patch reviews: 124 (117)

regards
Stefan Schmidt

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] eo_part and containers API

2016-05-09 Thread Jean-Philippe André
On 6 May 2016 at 21:09, Tom Hacohen  wrote:

> On 29/04/16 05:36, Jean-Philippe André wrote:
> > Hi Tom,
> >
> > On 29 April 2016 at 11:32, Jean-Philippe André 
> wrote:
> >
> >>
> >>
> >> On 29 April 2016 at 00:51, Tom Hacohen  wrote:
> >>
> >>> On 28/04/16 06:25, Jean-Philippe André wrote:
>  On 27 April 2016 at 23:44, Tom Hacohen  wrote:
> 
> > On 26/04/16 06:28, Jean-Philippe André wrote:
> >> Hello,
> >>
> >>
> >> I've just merged a series of commits dealing with the box & table
> APIs
> > for
> >> Edje.Object and Elm.Layout. Since we decided not to implement
> anything
> > like
> >> eo_part at the core eo level, I've implemented part_box and
> part_table
> >> support using fake objects.
> >>
> >>
> >> This code:
> >>> elm_layout_table_blah(ly, "part", args);
> >>
> >> now becomes:
> >>> efl_pack_blah(efl_content_get(ly, "part"), args);
> >>
> >>
> >> The EO returned by efl_content_get is not a real Evas Object, it's
> >>> only a
> >> temporary proxy object that knows about its parent (ly) and the part
> >>> name
> >> it refers to ("part"). It is attached to the underlying Evas Box or
> >>> Table
> >> created by edje, and should live
> >>
> >> eo_del() is legal, just call efl_content_get() again to create a new
> > handle.
> >> eo_ref() is not a good idea.
> >>
> >>
> >> Note that efl_content_get() also returns real swallowed objects if
> the
> >> "part" is a SWALLOW.
> >>
> >>
> >> I believe text part APIs should eventually move to the same concept,
> >>> once
> >> the text interface is finalized (or, well, good enough).
> >>> efl_text_set()
> > on
> >> a Layout object (or any Widget) should set the text of the "default"
> >>> part
> >> (whatever that means). Other parts can be accessed by
> >>> efl_content_get().
> >>
> >>
> >> Comments? Suggestions on how to improve this?
> >>
> >>
> >
> > Proxy objects were one of the original ideas to do eo_part. After
> that
> > we decided to do the more lightweight version I proposed and after
> that
> > it was rejected altogether.
> >
> > I don't like this solution because it's essentially what everyone
> > (raster?) said he didn't want to do. I prefer doing the part_*
> versions
> > (i.e double the functions), the normal versions (passing NULL as part
> > name) or maybe even an eo_part.
> >
> 
>  The part version means we should probably have a series of part_pack
>  interfaces then.
>  Or duplicate each and every API.
> 
>  Honestly, I'm not sure which solution is best. Proxy object or part
> >>> APIs.
>  But I believe the API looks pretty decent like this.
> >>>
> >>> I also like the part API, it's essentially the same API I suggested a
> >>> while back:
> >>>
> >>> efl_text_set(eo_part(obj, "bla"), "text"));
> >>>
> >>> Raster objected...
> >>>
> >>
> >> There's a difference between eo_part and the proxy object.
> >>
> >> With eo_part we would use a solution like eo_super(), which I have to
> say
> >> is not incredibly pretty (internally: spinlock and extra bit use). I
> >> believe that's the bit (sic) that raster didn't like much. Please
> correct
> >> me if I'm wrong.
> >> Anyway, I don't think parts belong to EO outside of EFL
> >>
> >> The proxy object is a real EO object so you can keep it around if you
> >> want. It's always attached to its parent.
> >> The internal Evas Object Box (or Edje_Real_Part that really is the part)
> >> is the owner of the proxy object.
> >> When the proxy dies (eo_del) then a del callback will remove the entry
> in
> >> the owner. This way, content_get() does not return a dead object.
> >> When the owner (Evas Box) dies, not only should it delete its children
> >> (the proxy object), but it should also set the weak reference to NULL.
> That
> >> way, even if a user called eo_ref() on a proxy object, internally the
> >> reference to the original Edje or Elm layout is reset to NULL. Calls
> won't
> >> work, but nothing should crash, and we can print nice error messages if
> we
> >> want.
> >>
> >> In terms of API, the advantage for both eo_part and proxy object is that
> >> it looks like we have an object, and the API is the same for a normal
> box
> >> and an edje box.
> >> The advantage of proxy object over eo_part is that it's really an EO
> >> object. It's just not a real canvas object.
> >>
> >
> > I pushed a commit testing and showing off the proxy object lifecycle:
> > 0c2027b2af67f91dc4a203c177345e769ec07dec
>
>
> The lifecycle is not that good in that commit, I spotted a few issues.
> Take a look at my email from 11:50 UTC, I think the scheme described
> there will solve them all.
>
> Just a few examples:
>
> table = efl_content_get(obj, "table");
> fail_if(!table);
> other =