[E-devel] Simple ecore.Exe example

2015-01-26 Thread Jeff Hoogland
To familiarize myself with the ecore.Exe class in python I wrote myself a
short tutorial that shows its outputs and how to interact with the running
command via the .send() method.

Figured someone else might find it useful as well at some point. Might be
worth including in the python-efl ecore examples folder?

https://github.com/JeffHoogland/elm-tutorials/blob/master/ecore-Exe-tutorial/ecore-command-example.py

-- 
~Jeff Hoogland 
My Projects on GitHub 
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/04: evas: fix tests to actually test image !

2015-01-26 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit c54c2d94c2ccf783e397c660882436cd45b082ed
Author: Cedric BAIL 
Date:   Mon Jan 26 11:01:44 2015 +0100

evas: fix tests to actually test image !
---
 src/tests/evas/evas_test_image.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/tests/evas/evas_test_image.c b/src/tests/evas/evas_test_image.c
index 157041c..86023c8 100644
--- a/src/tests/evas/evas_test_image.c
+++ b/src/tests/evas/evas_test_image.c
@@ -359,7 +359,7 @@ START_TEST(evas_object_image_all_loader_data)
 int w, h, r_w, r_h;
 const uint32_t *d, *r_d;
 
-fprintf(stderr, "testing '%s'\n", exts[i]);
+eina_strbuf_reset(str);
 
 eina_strbuf_append_printf(str, "%s/Pic4-%s.png", TESTS_IMG_DIR, 
exts[i]);
 
@@ -378,8 +378,6 @@ START_TEST(evas_object_image_all_loader_data)
 evas_object_image_size_get(ref, &r_w, &r_h);
 r_d = evas_object_image_data_get(ref, EINA_FALSE);
 
-eina_strbuf_reset(str);
-
 fail_if(w != r_w || h != r_h);
 fail_if(memcmp(d, r_d, w * h * 4));
  }
@@ -387,6 +385,8 @@ START_TEST(evas_object_image_all_loader_data)
evas_object_del(obj);
evas_object_del(ref);
 
+   eina_strbuf_free(str);
+
evas_free(e);
evas_shutdown();
 }

-- 




[EGIT] [core/efl] master 02/04: evas: add new test for bug in BMP loader.

2015-01-26 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 311ea67b65814d73a9231c3376f2a69388e1b973
Author: Cedric BAIL 
Date:   Mon Jan 26 11:02:14 2015 +0100

evas: add new test for bug in BMP loader.
---
 src/tests/evas/evas_test_image.c  |  62 ++
 src/tests/evas/images/BMP301K.bmp | Bin 0 -> 113062 bytes
 src/tests/evas/images/BMP301K.png | Bin 0 -> 85157 bytes
 3 files changed, 62 insertions(+)

diff --git a/src/tests/evas/evas_test_image.c b/src/tests/evas/evas_test_image.c
index 86023c8..ed339e6 100644
--- a/src/tests/evas/evas_test_image.c
+++ b/src/tests/evas/evas_test_image.c
@@ -392,6 +392,67 @@ START_TEST(evas_object_image_all_loader_data)
 }
 END_TEST
 
+const char *buggy[] = {
+  "BMP301K"
+};
+
+START_TEST(evas_object_image_buggy)
+{
+   Evas *e = _setup_evas();
+   Evas_Object *obj, *ref;
+   Eina_Strbuf *str;
+   unsigned int i, j;
+
+   obj = evas_object_image_add(e);
+   ref = evas_object_image_add(e);
+   str = eina_strbuf_new();
+
+   for (i = 0; i < sizeof (buggy) / sizeof (buggy[0]); i++)
+ {
+for (j = 0; j < sizeof (exts) / sizeof (exts[0]); j++)
+  {
+ struct stat st;
+ int w, h, r_w, r_h;
+ const uint32_t *d, *r_d;
+
+ eina_strbuf_reset(str);
+
+ if (!strcmp(exts[j], "png")) continue ;
+
+ eina_strbuf_append_printf(str, "%s/%s.%s", TESTS_IMG_DIR,
+   buggy[i], exts[j]);
+
+ if (stat(eina_strbuf_string_get(str), &st) != 0) continue;
+
+ evas_object_image_file_set(obj, eina_strbuf_string_get(str), 
NULL);
+ fail_if(evas_object_image_load_error_get(obj) != 
EVAS_LOAD_ERROR_NONE);
+ evas_object_image_size_get(obj, &w, &h);
+ d = evas_object_image_data_get(obj, EINA_FALSE);
+
+ eina_strbuf_reset(str);
+
+ eina_strbuf_append_printf(str, "%s/%s.png", TESTS_IMG_DIR,
+   buggy[i]);
+ evas_object_image_file_set(ref, eina_strbuf_string_get(str), 
NULL);
+ fail_if(evas_object_image_load_error_get(ref) != 
EVAS_LOAD_ERROR_NONE);
+ evas_object_image_size_get(ref, &r_w, &r_h);
+ r_d = evas_object_image_data_get(ref, EINA_FALSE);
+
+ fail_if(w != r_w || h != r_h);
+ fail_if(memcmp(d, r_d, w * h * 4));
+  }
+ }
+
+   evas_object_del(obj);
+   evas_object_del(ref);
+
+   eina_strbuf_free(str);
+
+   evas_free(e);
+   evas_shutdown();
+}
+END_TEST
+
 void evas_test_image_object(TCase *tc)
 {
tcase_add_test(tc, evas_object_image_loader);
@@ -401,5 +462,6 @@ void evas_test_image_object(TCase *tc)
 #endif
 #if BUILD_LOADER_PNG
tcase_add_test(tc, evas_object_image_all_loader_data);
+   tcase_add_test(tc, evas_object_image_buggy);
 #endif
 }
diff --git a/src/tests/evas/images/BMP301K.bmp 
b/src/tests/evas/images/BMP301K.bmp
new file mode 100644
index 000..88634e5
Binary files /dev/null and b/src/tests/evas/images/BMP301K.bmp differ
diff --git a/src/tests/evas/images/BMP301K.png 
b/src/tests/evas/images/BMP301K.png
new file mode 100644
index 000..1dd438c
Binary files /dev/null and b/src/tests/evas/images/BMP301K.png differ

-- 




[EGIT] [core/efl] master 04/04: evas: fix signed/unsigned warning.

2015-01-26 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 154e5103c676ac01bde3a2452bdaaf861b1e24de
Author: Cedric BAIL 
Date:   Mon Jan 26 11:20:32 2015 +0100

evas: fix signed/unsigned warning.

Signed-off-by: Cedric BAIL 
---
 src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c 
b/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c
index cf8156d..c0d25e3 100644
--- a/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c
+++ b/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c
@@ -564,7 +564,7 @@ evas_image_load_file_data_bmp(void *loader_data,
 
 if ((scale_ratio == 1) || (header.comp !=0))
   {
- if (image_size < fsize - position)
+ if (image_size < (int) fsize - position)
image_size = fsize - position;
  buffer = malloc(image_size + 8); // add 8 for padding to avoid 
checks
   }

-- 




[EGIT] [core/efl] master 03/04: evas: fix to load BMP file compressed with RLE.

2015-01-26 Thread jiin.moon
cedric pushed a commit to branch master.

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

commit 0a758d10c9f115def7043aed93547bf4876f99fe
Author: jiin.moon 
Date:   Mon Jan 26 11:02:58 2015 +0100

evas: fix to load BMP file compressed with RLE.

Summary:
If the file size of RLE compressed image is bigger than original image,
BMP loader doesn't work as well.
@fix

Reviewers: Hermet, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1892

Signed-off-by: Cedric BAIL 
---
 src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c 
b/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c
index d54cfdc..cf8156d 100644
--- a/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c
+++ b/src/modules/evas/image_loaders/bmp/evas_image_load_bmp.c
@@ -563,7 +563,11 @@ evas_image_load_file_data_bmp(void *loader_data,
 position = header.offset;
 
 if ((scale_ratio == 1) || (header.comp !=0))
-  buffer = malloc(image_size + 8); // add 8 for padding to avoid checks
+  {
+ if (image_size < fsize - position)
+   image_size = fsize - position;
+ buffer = malloc(image_size + 8); // add 8 for padding to avoid 
checks
+  }
 else
   {
  scale_surface = malloc(image_w * sizeof(DATA32)); //for one line 
decoding

-- 




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

2015-01-26 Thread Stefan Schmidt
Hello.

Summary:
o Mingw build is still out of order
o Nightly builds are working again
o Jenkins updated as well as various libs and tools

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: 10.05% (10.93%) failed.
https://build.enlightenment.org/

clang scan-build:
o EFL scan-build reports N/A (N/A) issues.
https://build.enlightenment.org/job/nightly_efl_clang_x86_64/lastSuccessfu
lBuild/artifact/scan-build/build/
o Elementary scan-build reports 82 (78) issues.
https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build

Unit tests:
o 423 (416) unit tests for efl and none failing

Coverage:
o EFL total coverage is at 35.3% (34.2%) lines and 38.5% (37.3%) functions
https://build.enlightenment.org/view/Test%20Coverage/

Coverity:
o EFL: Outstanding defects 69 (71) with a density of 0.10 (0.10)
o Elm: Outstanding defects 6 (6) with a density of 0.02 (0.02)
o Evas Generic Loaders: Outstanding defects 2 (2) with a density of 0.02
(0.02)
o Emotion Generic Players: Outstanding defects 0 (0) with a density of
0 (0)
o Enlightenment: Outstanding defects 46 (40) with a density of 0.17 (0.15)
o Terminology: Outstanding defects 1 (1) with a density of 0.01 (0.01)

Phab:
o Total bug count: 528 (517)
https://phab.enlightenment.org/maniphest/report/burn/
o Pending patch reviews: 53 (44)

regards
Stefan Schmidt

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/02: Evas masking: Fix rendering of masked objects with maps

2015-01-26 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 77feb96dd7e375a4f4c7e5b9fb024c4b440a7495
Author: Jean-Philippe Andre 
Date:   Mon Jan 26 14:26:36 2015 +0900

Evas masking: Fix rendering of masked objects with maps
---
 src/lib/evas/canvas/evas_render.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 34cfed5..6d301ea 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1226,7 +1226,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
 
if (mapped)
  {
-if (_evas_render_object_is_mask(obj))
+if (use_mapped_ctx && _evas_render_object_is_mask(obj))
   {
  // don't return;
   }

-- 




[EGIT] [core/efl] master 02/02: Evas masking: Fix masking of mapped sub-objects

2015-01-26 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit a376582b4f05b230c038276b81ed2a5ed919f1e4
Author: Jean-Philippe Andre 
Date:   Mon Jan 26 17:52:38 2015 +0900

Evas masking: Fix masking of mapped sub-objects

Some complex examples of masking with mapped smart objects
would fail miserably, rendering the object without any mask,
and/or showing the mask itself somewhere in white color...
---
 src/lib/evas/canvas/evas_render.c | 33 -
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 6d301ea..0a4134b 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1497,6 +1497,31 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
ctx = e->engine.func->context_new(e->engine.data.output);
  if (obj->is_smart)
{
+  Eina_Bool unset_image_clip = EINA_FALSE;
+
+  /* Clipper masks */
+  if (obj->cur->clipper &&
+  _evas_render_object_is_mask(obj->cur->clipper))
+{
+   // This path can be hit when we're multiplying masks on 
top of each other...
+   Evas_Object_Protected_Data *mask = obj->cur->clipper;
+
+   evas_object_clip_recalc(obj);
+
+   if (mask->mask->redraw || !mask->mask->surface)
+ evas_render_mask_subrender(obj->layer->evas, mask, 
NULL);
+
+   if (mask->mask->surface)
+ {
+unset_image_clip = EINA_TRUE;
+e->engine.func->context_clip_image_set
+  (e->engine.data.output, ctx,
+   mask->mask->surface,
+   mask->mask->x + off_x,
+   mask->mask->y + off_y);
+ }
+}
+
   EINA_INLIST_FOREACH
  (evas_object_smart_members_get_direct(eo_obj), obj2)
{
@@ -1506,7 +1531,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
ecx, ecy, ecw, ech,
proxy_render_data,
level + 1,
-   EINA_FALSE,
+   unset_image_clip | 
use_mapped_ctx,
do_async);
   /* We aren't sure this object will be rendered by
  normal(not proxy) drawing after, we reset this
@@ -1516,6 +1541,12 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
   if (!proxy_render_data)
 evas_object_change_reset(obj2->object);
}
+
+  if (unset_image_clip)
+{
+   e->engine.func->context_clip_image_unset
+ (e->engine.data.output, ctx);
+}
}
  else
{

-- 




[EGIT] [core/efl] master 01/01: embryo: prevent useless assignment.

2015-01-26 Thread woochan lee
cedric pushed a commit to branch master.

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

commit 1900e7785fd92d67fcd3938ea222a8e1a8325e9d
Author: woochan lee 
Date:   Mon Jan 26 12:11:03 2015 +0100

embryo: prevent useless assignment.

Summary: In the if case 's1[]19 = 0' state looks meaningless.

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1895

Signed-off-by: Cedric BAIL 
---
 src/bin/embryo/embryo_cc_sc2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/embryo/embryo_cc_sc2.c b/src/bin/embryo/embryo_cc_sc2.c
index 18a2a75..1456cb8 100644
--- a/src/bin/embryo/embryo_cc_sc2.c
+++ b/src/bin/embryo/embryo_cc_sc2.c
@@ -2182,8 +2182,9 @@ needtoken(int token)
 else
   {
  strncpy(s1, sc_tokens[token - tFIRST], 19); /* multi-character 
symbol */
+ s1[19] = 0;
   }
-s1[19] = 0;
+
 if (!freading)
   {
  strncpy(s2, "-end of file-", 19);

-- 




Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Yakov Goldberg
Hey  Davide,
that's cool :)

I installed everything and played with it: changed your test_gui.egui in 
Erigo and run it again through erigo.py! Great!

Just could you explain something.
   You don't generate Python from Json.
   As I understand you read Json, save this data internally and call 
it when needed, which doesn't actually matter in terms of speed and 
convenience for Python, right?

The rest is on the way...


On 01/26/2015 12:22 AM, Davide Andreoli wrote:
> Hi all,
> the python-efl integration for erigo is quite finished, you can try it
> using my pyefl branch:
> devs/davemds/erigo_generator
> Everything is really simple, the only file that implement the generator is
> this:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/efl/utils/erigo.py?h=devs/davemds/erigo_generator
>
> and this the incredible simple example:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/test_erigo.py?h=devs/davemds/erigo_generator
>
> that load this json file:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/erigo_prj/test_gui.egui?h=devs/davemds/erigo_generator
>
> In practice you just need to subclass the ErigoGui class provided, create
> an instance
> passing the json file and implement your callback inside this class. Thats
> it!
> Example usage:
>
> from efl import elementaryfrom efl.utils.erigo import ErigoGui
>
> class MyGui(ErigoGui):
>  def btn_clicked_cb(self, btn):
>  print('User clicked a button', btn)
>  ...and all other widdget callbacks
>
> egui = MyGui('path/to/json_file')
>
>
> Nothing more :)
>
> And now the real purpose of this mail: the issue we need to resolve to
> complete the work,
> in random order:
>
> *1. Classes custom constructor*
> In the json file the custom constructor (and their params)  are listed
> inside the Properties
> list, this is quite annoying for my implementation and seems to me quite
> wrong.
> Why don't you move that in the  "Desc" section of the widget? along the
> "class" attribute?
> It seems to me more natural this way. Example:
>
> "elm_win1":
>  {
>"Desc":
>{
>  "parent":null,
>  "class":"Elm_Win",
>  "Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
>  "public":true
>},
>"Properties":
>{
>  "Evas.Object.visibility":[true],
>  "Evas.Object.size":[381, 480],
>}
> }
>
> Or still better just as:
> "constructor":[null, "ELM_WIN_BASIC"]
>
>
> *2. The Win **mainmenu*
> Every window have a mainmenu, in the json I always find the specification
> of a Menu widget but it is not a children of other widgets nor it is
> a resize object of the window. How can I know about it? How can I know
> it is the mainmenu of the window? How did you implemented this in the
> preview?
>
> *3. The "visibility" property*
> I spoken with Tasn yet about this, and opened a ticket on phab (T2035),
> I really think we must rename this to "visible"
>
> *4. Function call as properties*
> There are some rare case where the json file have functions call inside
> the "Properties" section of a widget, for example in the Radio widget:
> "Properties":
> {
> "Evas.Object.size_hint_weight":[1, 1],
> "Evas.Object.visibility":[true],
> "Elm_Radio.group_add":["elm_radio1"],
>   },
>
> group_add in this case is a function not a property, not that this
> create me too much problem, it's easy to manage in python, it just
> slow down the process a little bit, as I need to check at runtime
> if that is a prop or not. Maybe is better to have a "Functions"
> sections? Would be better for my implementation and seems more
> correct.
>
> *5. Enums*
> Now enums are written in the json files as if they where normal
> strings, for example:
>
> "Elm_Win.constructor":["dia-win", "ELM_WIN_DIALOG_BASIC"]
>
> I solved this yet, but with an hackish and slow solution, it could be
> better if we can find a way to express them in a way that they don't
> get confused with strings. But honestly I do not have any idea.
>
> *6. Labels with markup text*
> this just need to be fixed in some way inside erigo, it not possible atm to
> use
> markup in Labels.
>
>
> It's all for now :)
> Help me to fix this issues and we will have full erigo support in pyefl
> starting from 1.14
>
> bye
> davemds
> --
> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
> GigeNET is offering a free month of service with a new server in Ashburn.
> Choose from 2 high performing configs, both with 100TB of bandwidth.
> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
> http://p.sf.net/sfu/gigenet
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


--

Re: [E-devel] Simple ecore.Exe example

2015-01-26 Thread Davide Andreoli
2015-01-26 10:52 GMT+01:00 Jeff Hoogland :

> To familiarize myself with the ecore.Exe class in python I wrote myself a
> short tutorial that shows its outputs and how to interact with the running
> command via the .send() method.
>
> Figured someone else might find it useful as well at some point. Might be
> worth including in the python-efl ecore examples folder?
>

yes, this can be really usefull for newbies, thanks!

Can you please add some comments in the code? to explain the relevant parts.

And probably also add an example command to run, a simple one, that just
ping back the received data. Otherwise the example it's quite unusable for
new users.



>
>
> https://github.com/JeffHoogland/elm-tutorials/blob/master/ecore-Exe-tutorial/ecore-command-example.py
>
> --
> ~Jeff Hoogland 
> My Projects on GitHub 
>
> --
> Dive into the World of Parallel Programming. The Go Parallel Website,
> sponsored by Intel and developed in partnership with Slashdot Media, is
> your
> hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials and more. Take a
> look and join the conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Davide Andreoli
2015-01-26 12:41 GMT+01:00 Yakov Goldberg :

> Hey  Davide,
> that's cool :)
>
> I installed everything and played with it: changed your test_gui.egui in
> Erigo and run it again through erigo.py! Great!
>
> Just could you explain something.
>You don't generate Python from Json.
>As I understand you read Json, save this data internally and call
> it when needed, which doesn't actually matter in terms of speed and
> convenience for Python, right?
>

right, it generate/instantiate the needed classes/widgets on runtime,
reading
the json file. No need to generate the python code.
I do in this way because it's simpler (it's coded in py) and beautiful :)

Btw, I plan to also write the static code generator (inside erigo in C) as
soon
as the runtime approach will be finished and stable, so that user can
choose the preferred method.
I'm not sure about performance, it's quite fast now as the code to generate
it's simple. But I dont have a static code to do a comparison. We will
understand this when also the static generator will be implemented.


>
> The rest is on the way...
>
>
> On 01/26/2015 12:22 AM, Davide Andreoli wrote:
> > Hi all,
> > the python-efl integration for erigo is quite finished, you can try it
> > using my pyefl branch:
> > devs/davemds/erigo_generator
> > Everything is really simple, the only file that implement the generator
> is
> > this:
> >
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/efl/utils/erigo.py?h=devs/davemds/erigo_generator
> >
> > and this the incredible simple example:
> >
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/test_erigo.py?h=devs/davemds/erigo_generator
> >
> > that load this json file:
> >
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/erigo_prj/test_gui.egui?h=devs/davemds/erigo_generator
> >
> > In practice you just need to subclass the ErigoGui class provided, create
> > an instance
> > passing the json file and implement your callback inside this class.
> Thats
> > it!
> > Example usage:
> >
> > from efl import elementaryfrom efl.utils.erigo import ErigoGui
> >
> > class MyGui(ErigoGui):
> >  def btn_clicked_cb(self, btn):
> >  print('User clicked a button', btn)
> >  ...and all other widdget callbacks
> >
> > egui = MyGui('path/to/json_file')
> >
> >
> > Nothing more :)
> >
> > And now the real purpose of this mail: the issue we need to resolve to
> > complete the work,
> > in random order:
> >
> > *1. Classes custom constructor*
> > In the json file the custom constructor (and their params)  are listed
> > inside the Properties
> > list, this is quite annoying for my implementation and seems to me quite
> > wrong.
> > Why don't you move that in the  "Desc" section of the widget? along the
> > "class" attribute?
> > It seems to me more natural this way. Example:
> >
> > "elm_win1":
> >  {
> >"Desc":
> >{
> >  "parent":null,
> >  "class":"Elm_Win",
> >  "Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
> >  "public":true
> >},
> >"Properties":
> >{
> >  "Evas.Object.visibility":[true],
> >  "Evas.Object.size":[381, 480],
> >}
> > }
> >
> > Or still better just as:
> > "constructor":[null, "ELM_WIN_BASIC"]
> >
> >
> > *2. The Win **mainmenu*
> > Every window have a mainmenu, in the json I always find the specification
> > of a Menu widget but it is not a children of other widgets nor it is
> > a resize object of the window. How can I know about it? How can I know
> > it is the mainmenu of the window? How did you implemented this in the
> > preview?
> >
> > *3. The "visibility" property*
> > I spoken with Tasn yet about this, and opened a ticket on phab (T2035),
> > I really think we must rename this to "visible"
> >
> > *4. Function call as properties*
> > There are some rare case where the json file have functions call inside
> > the "Properties" section of a widget, for example in the Radio widget:
> > "Properties":
> > {
> > "Evas.Object.size_hint_weight":[1, 1],
> > "Evas.Object.visibility":[true],
> > "Elm_Radio.group_add":["elm_radio1"],
> >   },
> >
> > group_add in this case is a function not a property, not that this
> > create me too much problem, it's easy to manage in python, it just
> > slow down the process a little bit, as I need to check at runtime
> > if that is a prop or not. Maybe is better to have a "Functions"
> > sections? Would be better for my implementation and seems more
> > correct.
> >
> > *5. Enums*
> > Now enums are written in the json files as if they where normal
> > strings, for example:
> >
> > "Elm_Win.constructor":["dia-win", "ELM_WIN_DIALOG_BASIC"]
> >
> > I solved this yet, but with an hackish and slow solution, it could be
> > better if we can find a way to express them in a way that they don't
> > get confused with strings. But honestly I do not have any idea.
> >
> > *6. 

[EGIT] [core/efl] master 01/01: release: Update NEWS and bump version for 1.13.0-beta2 release

2015-01-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit f9e4bacfc44b9623b8459191bf0757dcf31e666b
Author: Stefan Schmidt 
Date:   Mon Jan 26 12:48:00 2015 +0100

release: Update NEWS and bump version for 1.13.0-beta2 release
---
 NEWS | 9 +
 configure.ac | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 8461845..6f2b151 100644
--- a/NEWS
+++ b/NEWS
@@ -174,6 +174,15 @@ Fixes:
* eet - image decode - fix robustness of image decode from eet file
* edje: Edje_Edit - fix memory leak in edje_edit_image_usage_list_get
* ecore-wayland: Don't crash if we have no input->cursor_name
+   * ecore-drm: Restore tty keyboard mode on restore of tty
+   * ecore-drm: Reset output cursor and crtc mode on shutdown
+   * ecore-drm: Don't init tty unless we are Not using systemd
+   * edje: edje_pick - fix double free eina hash iterator.
+   * ee engines should not crash when re-setting the same title/name_class
+   * ecore-wayland: Don't send a mouse_up on grab release unless we actually 
have a grabbed button
+   * Efreet: do not get confused by path ending with / in XDG_* vars
+   * evas: fix to load BMP file compressed with RLE.
+
 
 Changes since 1.11.0:
 -
diff --git a/configure.ac b/configure.ac
index cb977ce..0737504 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 EFL_VERSION([1], [13], [0], [release])
-AC_INIT([efl], [efl_version-beta1], 
[enlightenment-devel@lists.sourceforge.net])
+AC_INIT([efl], [efl_version-beta2], 
[enlightenment-devel@lists.sourceforge.net])
 
 AC_PREREQ([2.60])
 AC_CONFIG_SRCDIR([configure.ac])

-- 




Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Tom Hacohen
On 26/01/15 11:41, Yakov Goldberg wrote:
> Hey  Davide,
>  that's cool :)
>
> I installed everything and played with it: changed your test_gui.egui in
> Erigo and run it again through erigo.py! Great!
>
> Just could you explain something.
> You don't generate Python from Json.
> As I understand you read Json, save this data internally and call
> it when needed, which doesn't actually matter in terms of speed and
> convenience for Python, right?
>
> The rest is on the way...

We talked about it on IRC the other day. If you keep the json simple, 
there's no reason why you'd need to generate the python code ahead of 
time. You can even have a cached .egui.py and generate it every time the 
.egui file changes. Or you can generate ahead of time, like in C.

The advantage of the first two methods is that you can develop faster 
(cut down a step), which is useful even if there's a significant 
performance drop. The main advantage of having it generated in c, 
compared to for example python, is that the integration feels more 
native, python doesn't have this problem.

--
Tom.



--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] master 01/01: release: Update NEWS and bump version for 1.13.0-beta2 release

2015-01-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=17376278e7f37cd394911d9c8de1d8d5d0bd5e55

commit 17376278e7f37cd394911d9c8de1d8d5d0bd5e55
Author: Stefan Schmidt 
Date:   Mon Jan 26 13:09:54 2015 +0100

release: Update NEWS and bump version for 1.13.0-beta2 release
---
 NEWS | 2 ++
 configure.ac | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 70130ff..f740fde 100644
--- a/NEWS
+++ b/NEWS
@@ -71,6 +71,8 @@ Fixes:
* elm image - fix image rotation in non-common cases
* elm_transit: Fix to support zoom rate zero.
* elm_transit: Fix crash issue caused by multiple transit effects.
+   * Elm_Entry: set handler style according to current widget style
+   * Icon: use size_hint_min instead of image_size to know the wanted size
 
 Changes since 1.11.0:
 -
diff --git a/configure.ac b/configure.ac
index 277a583..50e14fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 EFL_VERSION([1], [13], [0], [release])
-AC_INIT([elementary], [efl_version-beta1], 
[enlightenment-devel@lists.sourceforge.net])
+AC_INIT([elementary], [efl_version-beta2], 
[enlightenment-devel@lists.sourceforge.net])
 
 AC_PREREQ(2.63)
 AC_CONFIG_SRCDIR([configure.ac])

-- 




[EGIT] [core/emotion_generic_players] master 01/01: release: Update NEWS and bump version for 1.13.0-beta2 release

2015-01-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/emotion_generic_players.git/commit/?id=2a832ae6e7edd05a5c296516c99b8601497be142

commit 2a832ae6e7edd05a5c296516c99b8601497be142
Author: Stefan Schmidt 
Date:   Mon Jan 26 13:27:54 2015 +0100

release: Update NEWS and bump version for 1.13.0-beta2 release
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index a535aa5..171a3d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,7 +18,7 @@ m4_define([lt_age], v_min)
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 
-AC_INIT([emotion_generic_players], [v_ver-beta1], 
[enlightenment-devel@lists.sourceforge.net])
+AC_INIT([emotion_generic_players], [v_ver-beta2], 
[enlightenment-devel@lists.sourceforge.net])
 AC_PREREQ([2.59])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])

-- 




[EGIT] [core/evas_generic_loaders] master 01/01: release: Update NEWS and bump version for 1.13.0-beta2 release

2015-01-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/evas_generic_loaders.git/commit/?id=cf48108076034a3448db39e6215102c17af3b0dc

commit cf48108076034a3448db39e6215102c17af3b0dc
Author: Stefan Schmidt 
Date:   Mon Jan 26 13:27:19 2015 +0100

release: Update NEWS and bump version for 1.13.0-beta2 release
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index b54ba30..33e3281 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@ m4_define([lt_age], v_min)
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 
-AC_INIT([evas_generic_loaders], [v_ver-beta1], 
[enlightenment-devel@lists.sourceforge.net])
+AC_INIT([evas_generic_loaders], [v_ver-beta2], 
[enlightenment-devel@lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])

-- 




[EGIT] [core/evas_generic_loaders] annotated tag v1.13.0-beta2 created (now 6408bc2)

2015-01-26 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.13.0-beta2
in repository core/evas_generic_loaders.

at  6408bc2   (tag)
   tagging  cf48108076034a3448db39e6215102c17af3b0dc (commit)
  replaces  v1.13.0-beta1
 tagged by  Stefan Schmidt
on  Mon Jan 26 13:29:07 2015 +0100

- Log -
v1.13.0-beta2

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.13.0-beta2 release

---

No new revisions were added by this update.

-- 




[EGIT] [core/elementary] annotated tag v1.13.0-beta2 created (now 1e5fe59)

2015-01-26 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.13.0-beta2
in repository core/elementary.

at  1e5fe59   (tag)
   tagging  17376278e7f37cd394911d9c8de1d8d5d0bd5e55 (commit)
  replaces  v1.13.0-beta1
 tagged by  Stefan Schmidt
on  Mon Jan 26 13:29:16 2015 +0100

- Log -
v1.13.0-beta2

ChunEon Park (1):
  transit: fix crash issue.

Daniel Juyung Seo (6):
  test_icon: Clean up icon standard sample.
  colorselector: Remove unnecessary pointer redirection.
  test_colorselector: Clean up a little bit.
  test_gengrid: Dynamically allocate item data.
  test_win_state: Add elm_win_center() sample.
  transit: Fix read from pointer after free.

Dave Andreoli (6):
  Add correct fdo name for the last added search icon
  Improve Standard Icon test
  Icon: no more reimplement sizing_eval
  Icon: use size_hint_min instead of image_size to know the wanted size
  Revert "Icon: use size_hint_min instead of image_size to know the wanted 
size"
  Icon: choose the fdo icon size using the evas obj geometry

Jaeun Choi (1):
  Elm_Entry: set handler style according to current widget style

Mike Blumenkrantz (4):
  win_example now exits fullscreen on any key press...always
  image animation functions now work as expected for edje images
  image now implements edje object size functions
  win centering: unbork!

Stefan Schmidt (4):
  test_disable: Extend button array to fix memory corruption
  elm_image: Fix memory leak in GETDAT macro.
  elm_image: Add missing semi-colon to terminate line.
  release: Update NEWS and bump version for 1.13.0-beta2 release

---

No new revisions were added by this update.

-- 




[EGIT] [core/emotion_generic_players] annotated tag v1.13.0-beta2 created (now 2930655)

2015-01-26 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.13.0-beta2
in repository core/emotion_generic_players.

at  2930655   (tag)
   tagging  2a832ae6e7edd05a5c296516c99b8601497be142 (commit)
  replaces  v1.13.0-beta1
 tagged by  Stefan Schmidt
on  Mon Jan 26 13:29:11 2015 +0100

- Log -
v1.13.0-beta2

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.13.0-beta2 release

---

No new revisions were added by this update.

-- 




[EGIT] [core/efl] annotated tag v1.13.0-beta2 created (now e549c1c)

2015-01-26 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.13.0-beta2
in repository core/efl.

at  e549c1c   (tag)
   tagging  f9e4bacfc44b9623b8459191bf0757dcf31e666b (commit)
  replaces  v1.13.0-beta1
 tagged by  Stefan Schmidt
on  Mon Jan 26 13:29:02 2015 +0100

- Log -
v1.13.0-beta2

Cedric BAIL (8):
  evas: reorder structure to avoid structural hole.
  evas: reduce potential memory hole in Evas_Object_Protected_State.
  eet: properly handle failure and success case by not leaking memory.
  evas: do not compute things twice.
  elocation: fix typos.
  evas: fix tests to actually test image !
  evas: add new test for bug in BMP loader.
  evas: fix signed/unsigned warning.

Christopher Michael (5):
  ecore-drm: Restore tty keyboard mode on restore of tty
  ecore-drm: Reset output cursor and crtc mode on shutdown
  ecore-drm: Don't init tty unless we are Not using systemd
  Revert "ecore-drm: Don't init tty unless we are Not using systemd"
  ecore-wayland: Don't send a mouse_up on grab release unless we

ChunEon Park (1):
  evas/map: make an internal function to static.

Daniel Zaoui (1):
  warning--

Dave Andreoli (1):
  Efreet: do not get confused by path ending with / in XDG_* vars

Jean-Philippe ANDRÉ (11):
  Evas masking: Try to reduce memory footprint a little
  Evas masking: Fix major memory leak
  Evas masking: Fix potential crash
  Evas masking: Fix potential GPU memory leak
  Evas masking: Fix another memory leak
  Evas masking: Aaaand fix another series of memleaks
  Evas masking: Simplify ref/unref code
  Evas masking: Fix blending of some border images
  Evas masking: And another case of bad mask rendering
  Evas masking: Fix rendering of masked objects with maps
  Evas masking: Fix masking of mapped sub-objects

Mike Blumenkrantz (2):
  ecore-wl needs to also set xdg props again on show
  ee engines should not crash when re-setting the same title/name_class

Mykyta Biliavskyi (1):
  edje: edje_pick - fix double free eina hash iterator.

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.13.0-beta2 release

Tom Hacohen (1):
  Eo add: beef up error reporting.

Vasyl Vavrychuk (1):
  ecore: lower priority of some intrusive logs.

Vincent Torri (1):
  autotools: remove some Windows CE bits.

jiin.moon (1):
  evas: fix to load BMP file compressed with RLE.

woochan lee (1):
  embryo: prevent useless assignment.

---

No new revisions were added by this update.

-- 




[E-devel] EFL and friends 1.13.0 beta 2

2015-01-26 Thread Stefan Schmidt
A bunch of fresh new tarballs with our latest work waiting for your
testing before we can go into the final stages of releases.

= EFL, Elementary and friends 1.13 beta2 tarballs =

One week after our beta1 tarballs we just released our first beta
tarballs. Please grab and test.


== Download ==
Its getting a long post so the most important stuff upfront. Downloads. :-)

http://download.enlightenment.org/rel/libs/efl/efl-1.13.0-beta2.tar.gz
a872aa107ef245f121345cbe95eb2559ec352c1f8743b4229f23608ae3460421

http://download.enlightenment.org/rel/libs/elementary/elementary-1.13.0-beta2.tar.gz
200b3cb4dd40e29a8d4f4003f2a5371fbd9ae5d911042dc0052699dab20c8155

http://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-1.13.0-beta2.tar.gz
c1e8f361f2a312a63cb6f514fc785a2471b251c418d637ad9af1a1bd53636687

http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.13.0-beta2.tar.gz
7a6a388e835fa5dd2571f3097d1ac5eb1e8bc3c22cd8e20419e8141febde1388



= What's New =
New since beta1:

== EFL ==

Fixes:

   * ecore-drm: Restore tty keyboard mode on restore of tty
   * ecore-drm: Reset output cursor and crtc mode on shutdown
   * ecore-drm: Don't init tty unless we are Not using systemd
   * edje: edje_pick - fix double free eina hash iterator.
   * ee engines should not crash when re-setting the same title/name_class
   * ecore-wayland: Don't send a mouse_up on grab release unless we
actually have a grabbed button
   * Efreet: do not get confused by path ending with / in XDG_* vars
   * evas: fix to load BMP file compressed with RLE.

== Elementary ==

Fixes:

   * Elm_Entry: set handler style according to current widget style
   * Icon: use size_hint_min instead of image_size to know the wanted size

== Evas Generic Loaders==

== Emotion Generic Players ==

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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: edje - edje_cc - fix wrong state lists where default is not the first

2015-01-26 Thread The Rasterman
On Sun, 25 Jan 2015 23:30:02 +0100 Davide Andreoli 
said:

> 2015-01-18 22:04 GMT+01:00 Davide Andreoli :
> 
> > Hey, this broke edje part inheritance...grrr, you broke my media center!
> >
> > Looking at your next commit seems you fixed for group inheritance,
> > probably
> > the same need to be made for part inheritance?
> >
> 
> Come on raster!! :)
> 
> this is yet broken and the release is coming, I cannot make real tests
> if I have my media center that do not build the edje file.
> 
> PLEEAS, give a look at the issue

i don't have time this week at all. i am offline and away from a pc all day,
every day. i am just looking at mail for 5 mins now.

> > 2015-01-12 7:53 GMT+01:00 Carsten Haitzler :
> >
> >> raster pushed a commit to branch master.
> >>
> >>
> >> http://git.enlightenment.org/core/efl.git/commit/?id=0cb33a46758bd1f66653e97d7ad027a9529b1279
> >>
> >> commit 0cb33a46758bd1f66653e97d7ad027a9529b1279
> >> Author: Carsten Haitzler (Rasterman) 
> >> Date:   Mon Jan 12 15:54:22 2015 +0900
> >>
> >> edje - edje_cc - fix wrong state lists where default is not the first
> >>
> >> this fixes T1926
> >> @fix
> >> ---
> >>  src/bin/edje/edje_cc_handlers.c | 27 ++-
> >>  1 file changed, 26 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/src/bin/edje/edje_cc_handlers.c
> >> b/src/bin/edje/edje_cc_handlers.c
> >> index aebb953..dfb8ed4 100644
> >> --- a/src/bin/edje/edje_cc_handlers.c
> >> +++ b/src/bin/edje/edje_cc_handlers.c
> >> @@ -6478,12 +6478,37 @@
> >> st_collections_group_parts_part_description_state(void)
> >> if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count -
> >> 1];
> >>
> >> s = parse_str(0);
> >> -   if (!strcmp (s, "custom"))
> >> +   if (!strcmp(s, "default"))
> >> + {
> >> +double v;
> >> +
> >> +if (get_arg_count() == 1) v = 0.0;
> >> +else v = parse_float_range(1, 0.0, 1.0);
> >> +if (v == 0.0)
> >> +  {
> >> + if (ed != ep->default_desc)
> >> +   {
> >> +  ERR("parse error %s:%i. description state '%s' %1.2f
> >> is not the first state listed",
> >> +  file_in, line - 1, s, v);
> >> +  exit(-1);
> >> +   }
> >> +  }
> >> + }
> >> +   if (!strcmp(s, "custom"))
> >>   {
> >>  ERR("parse error %s:%i. invalid state name: '%s'.",
> >>  file_in, line - 1, s);
> >>  exit(-1);
> >>   }
> >> +   if (ed == ep->default_desc)
> >> + {
> >> +if (strcmp(s, "default"))
> >> +  {
> >> + ERR("parse error %s:%i.  first state is not 'default'",
> >> + file_in, line - 1);
> >> + exit(-1);
> >> +  }
> >> + }
> >>
> >> free((void *)ed->state.name);
> >> ed->state.name = s;
> >>
> >> --
> >>
> >>
> >>
> >
> --
> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
> GigeNET is offering a free month of service with a new server in Ashburn.
> Choose from 2 high performing configs, both with 100TB of bandwidth.
> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
> http://p.sf.net/sfu/gigenet
> ___
> 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


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] EFL + Elementary ABI report v1.13.0

2015-01-26 Thread Tom Hacohen
Hey,

Here again, the new EFL + Elementary ABI reports.

As usual:
https://devs.enlightenment.org/~tasn/abi/

There's some noise because of C++, but I guess that's easy to skip. Let 
me know if you have any questions.

Thanks to Stefan for reminding me about it.

--
Tom.


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/abi_checks] master 01/01: Add v1.13 config files.

2015-01-26 Thread Tom Hacohen
tasn pushed a commit to branch master.

http://git.enlightenment.org/tools/abi_checks.git/commit/?id=8eebbb4d914e574c6aeb3955cc8954eeb3d4a202

commit 8eebbb4d914e574c6aeb3955cc8954eeb3d4a202
Author: Tom Hacohen 
Date:   Mon Jan 26 13:19:52 2015 +

Add v1.13 config files.

I'll add the abi dump files when we release.
---
 efl-1.13.0.xml| 12 
 elementary-1.13.0.xml | 11 +++
 2 files changed, 23 insertions(+)

diff --git a/efl-1.13.0.xml b/efl-1.13.0.xml
new file mode 100644
index 000..b969f23
--- /dev/null
+++ b/efl-1.13.0.xml
@@ -0,0 +1,12 @@
+
+1.13.0
+
+
+
+/tmp/efl-1.13.0/usr/include
+
+
+
+/tmp/efl-1.13.0/usr/lib
+
+
diff --git a/elementary-1.13.0.xml b/elementary-1.13.0.xml
new file mode 100644
index 000..ae921da
--- /dev/null
+++ b/elementary-1.13.0.xml
@@ -0,0 +1,11 @@
+
+1.13.0
+
+
+
+/tmp/elementary-1.13.0/usr/include
+
+
+
+/tmp/elementary-1.13.0/usr/lib
+

-- 




Re: [E-devel] [Enlightenment-release] EFL and friends 1.13.0 beta 2

2015-01-26 Thread Davide Andreoli
Hi, the Icon fix should be:
* Icon: use evas_object_geometry_get instead of image_size to know the
wanted size

I reverted that commit and done another (better) one.
Just in case you will use that line also in other feature releases.

2015-01-26 13:44 GMT+01:00 Stefan Schmidt :

> A bunch of fresh new tarballs with our latest work waiting for your
> testing before we can go into the final stages of releases.
>
> = EFL, Elementary and friends 1.13 beta2 tarballs =
>
> One week after our beta1 tarballs we just released our first beta
> tarballs. Please grab and test.
>
>
> == Download ==
> Its getting a long post so the most important stuff upfront. Downloads. :-)
>
> http://download.enlightenment.org/rel/libs/efl/efl-1.13.0-beta2.tar.gz
> a872aa107ef245f121345cbe95eb2559ec352c1f8743b4229f23608ae3460421
>
>
> http://download.enlightenment.org/rel/libs/elementary/elementary-1.13.0-beta2.tar.gz
> 200b3cb4dd40e29a8d4f4003f2a5371fbd9ae5d911042dc0052699dab20c8155
>
>
> http://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-1.13.0-beta2.tar.gz
> c1e8f361f2a312a63cb6f514fc785a2471b251c418d637ad9af1a1bd53636687
>
>
> http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.13.0-beta2.tar.gz
> 7a6a388e835fa5dd2571f3097d1ac5eb1e8bc3c22cd8e20419e8141febde1388
>
> 
>
> = What's New =
> New since beta1:
>
> == EFL ==
>
> Fixes:
>
>* ecore-drm: Restore tty keyboard mode on restore of tty
>* ecore-drm: Reset output cursor and crtc mode on shutdown
>* ecore-drm: Don't init tty unless we are Not using systemd
>* edje: edje_pick - fix double free eina hash iterator.
>* ee engines should not crash when re-setting the same title/name_class
>* ecore-wayland: Don't send a mouse_up on grab release unless we
> actually have a grabbed button
>* Efreet: do not get confused by path ending with / in XDG_* vars
>* evas: fix to load BMP file compressed with RLE.
>
> == Elementary ==
>
> Fixes:
>
>* Elm_Entry: set handler style according to current widget style
>* Icon: use size_hint_min instead of image_size to know the wanted size
>
> == Evas Generic Loaders==
>
> == Emotion Generic Players ==
>
>
> --
> Dive into the World of Parallel Programming. The Go Parallel Website,
> sponsored by Intel and developed in partnership with Slashdot Media, is
> your
> hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials and more. Take a
> look and join the conversation now. http://goparallel.sourceforge.net/
> ___
> Enlightenment-release mailing list
> enlightenment-rele...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-release
>
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Daniel Zaoui
Hi Davide,

I saw your stuff on Yakov's laptop, really impressive!

I wanted to add something about the generators, JSON... We plan to
implement a library that will parse the JSON file and give access to the
information via APIs. You can see it as the Eolian library (not
generator) for applications layer. Erigo and all the apps generators
would use it. The advantages are that we won't have to duplicate parsing
for every tool, versioning will be supported, meaning we can move from
JSON to a specific format just by adding support inside this library...

I already began to write this library a few months ago but then had to
move to other stuff. I will update you when l come back to it.

My comments below (just for the enums as Yakov replies for the others).

Anyway, thank you for your review, it is really useful.

JackDanielZ

On 01/26/15 13:56, Davide Andreoli wrote:
> 2015-01-26 12:41 GMT+01:00 Yakov Goldberg :
>
>> Hey  Davide,
>> that's cool :)
>>
>> I installed everything and played with it: changed your test_gui.egui in
>> Erigo and run it again through erigo.py! Great!
>>
>> Just could you explain something.
>>You don't generate Python from Json.
>>As I understand you read Json, save this data internally and call
>> it when needed, which doesn't actually matter in terms of speed and
>> convenience for Python, right?
>>
> right, it generate/instantiate the needed classes/widgets on runtime,
> reading
> the json file. No need to generate the python code.
> I do in this way because it's simpler (it's coded in py) and beautiful :)
>
> Btw, I plan to also write the static code generator (inside erigo in C) as
> soon
> as the runtime approach will be finished and stable, so that user can
> choose the preferred method.
> I'm not sure about performance, it's quite fast now as the code to generate
> it's simple. But I dont have a static code to do a comparison. We will
> understand this when also the static generator will be implemented.
>
>
>> The rest is on the way...
>>
>>
>> On 01/26/2015 12:22 AM, Davide Andreoli wrote:
>>> Hi all,
>>> the python-efl integration for erigo is quite finished, you can try it
>>> using my pyefl branch:
>>> devs/davemds/erigo_generator
>>> Everything is really simple, the only file that implement the generator
>> is
>>> this:
>>>
>> https://git.enlightenment.org/bindings/python/python-efl.git/tree/efl/utils/erigo.py?h=devs/davemds/erigo_generator
>>> and this the incredible simple example:
>>>
>> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/test_erigo.py?h=devs/davemds/erigo_generator
>>> that load this json file:
>>>
>> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/erigo_prj/test_gui.egui?h=devs/davemds/erigo_generator
>>> In practice you just need to subclass the ErigoGui class provided, create
>>> an instance
>>> passing the json file and implement your callback inside this class.
>> Thats
>>> it!
>>> Example usage:
>>>
>>> from efl import elementaryfrom efl.utils.erigo import ErigoGui
>>>
>>> class MyGui(ErigoGui):
>>>  def btn_clicked_cb(self, btn):
>>>  print('User clicked a button', btn)
>>>  ...and all other widdget callbacks
>>>
>>> egui = MyGui('path/to/json_file')
>>>
>>>
>>> Nothing more :)
>>>
>>> And now the real purpose of this mail: the issue we need to resolve to
>>> complete the work,
>>> in random order:
>>>
>>> *1. Classes custom constructor*
>>> In the json file the custom constructor (and their params)  are listed
>>> inside the Properties
>>> list, this is quite annoying for my implementation and seems to me quite
>>> wrong.
>>> Why don't you move that in the  "Desc" section of the widget? along the
>>> "class" attribute?
>>> It seems to me more natural this way. Example:
>>>
>>> "elm_win1":
>>>  {
>>>"Desc":
>>>{
>>>  "parent":null,
>>>  "class":"Elm_Win",
>>>  "Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
>>>  "public":true
>>>},
>>>"Properties":
>>>{
>>>  "Evas.Object.visibility":[true],
>>>  "Evas.Object.size":[381, 480],
>>>}
>>> }
>>>
>>> Or still better just as:
>>> "constructor":[null, "ELM_WIN_BASIC"]
>>>
>>>
>>> *2. The Win **mainmenu*
>>> Every window have a mainmenu, in the json I always find the specification
>>> of a Menu widget but it is not a children of other widgets nor it is
>>> a resize object of the window. How can I know about it? How can I know
>>> it is the mainmenu of the window? How did you implemented this in the
>>> preview?
>>>
>>> *3. The "visibility" property*
>>> I spoken with Tasn yet about this, and opened a ticket on phab (T2035),
>>> I really think we must rename this to "visible"
>>>
>>> *4. Function call as properties*
>>> There are some rare case where the json file have functions call inside
>>> the "Properties" section of a widget, for example in the Radio widget:
>>> "Properties":
>>> {
>>>  

Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Davide Andreoli
2015-01-26 13:09 GMT+01:00 Tom Hacohen :

> On 26/01/15 11:41, Yakov Goldberg wrote:
> > Hey  Davide,
> >  that's cool :)
> >
> > I installed everything and played with it: changed your test_gui.egui in
> > Erigo and run it again through erigo.py! Great!
> >
> > Just could you explain something.
> > You don't generate Python from Json.
> > As I understand you read Json, save this data internally and call
> > it when needed, which doesn't actually matter in terms of speed and
> > convenience for Python, right?
> >
> > The rest is on the way...
>
> We talked about it on IRC the other day. If you keep the json simple,
> there's no reason why you'd need to generate the python code ahead of
> time. You can even have a cached .egui.py and generate it every time the
> .egui file changes. Or you can generate ahead of time, like in C.
>

We cannot have a cached .egui.py. Because the current implementation do
not generate any python code at all, It just instantiate the needed classes.


>
> The advantage of the first two methods is that you can develop faster
> (cut down a step), which is useful even if there's a significant
> performance drop. The main advantage of having it generated in c,
> compared to for example python, is that the integration feels more
> native, python doesn't have this problem.
>
> --
> Tom.
>
>
>
>
> --
> Dive into the World of Parallel Programming. The Go Parallel Website,
> sponsored by Intel and developed in partnership with Slashdot Media, is
> your
> hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials and more. Take a
> look and join the conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Yakov Goldberg
Hi Davide,


On 01/26/2015 12:22 AM, Davide Andreoli wrote:
> Hi all,
> the python-efl integration for erigo is quite finished, you can try it
> using my pyefl branch:
> devs/davemds/erigo_generator
> Everything is really simple, the only file that implement the generator is
> this:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/efl/utils/erigo.py?h=devs/davemds/erigo_generator
>
> and this the incredible simple example:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/test_erigo.py?h=devs/davemds/erigo_generator
>
> that load this json file:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/erigo_prj/test_gui.egui?h=devs/davemds/erigo_generator
>
> In practice you just need to subclass the ErigoGui class provided, create
> an instance
> passing the json file and implement your callback inside this class. Thats
> it!
> Example usage:
>
> from efl import elementaryfrom efl.utils.erigo import ErigoGui
>
> class MyGui(ErigoGui):
>  def btn_clicked_cb(self, btn):
>  print('User clicked a button', btn)
>  ...and all other widdget callbacks
>
> egui = MyGui('path/to/json_file')
>
>
> Nothing more :)
>
> And now the real purpose of this mail: the issue we need to resolve to
> complete the work,
> in random order:
>
> *1. Classes custom constructor*
> In the json file the custom constructor (and their params)  are listed
> inside the Properties
> list, this is quite annoying for my implementation and seems to me quite
> wrong.
> Why don't you move that in the  "Desc" section of the widget? along the
> "class" attribute?
> It seems to me more natural this way. Example:
>
> "elm_win1":
>  {
>"Desc":
>{
>  "parent":null,
>  "class":"Elm_Win",
>  "Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
>  "public":true
>},
>"Properties":
>{
>  "Evas.Object.visibility":[true],
>  "Evas.Object.size":[381, 480],
>}
> }
>
> Or still better just as:
> "constructor":[null, "ELM_WIN_BASIC"]
Until now I was fetching constructor as a method which contains 
"constructor" in it's name.
And as I remember it was so in Eolian.
Now, in eo file, there is a list of methods and  section "constructors" 
that lists methods which are constructors.
So we can't simply put "constructor" key into "Desc" now. read the 
rest  after #4
>
> *2. The Win **mainmenu*
> Every window have a mainmenu, in the json I always find the specification
> of a Menu widget but it is not a children of other widgets nor it is
> a resize object of the window. How can I know about it? How can I know
> it is the mainmenu of the window? How did you implemented this in the
> preview?
Right, need to work on it. I'm checking if "main_menu" is in widget name :)
>
> *3. The "visibility" property*
> I spoken with Tasn yet about this, and opened a ticket on phab (T2035),
> I really think we must rename this to "visible"
>
> *4. Function call as properties*
> There are some rare case where the json file have functions call inside
> the "Properties" section of a widget, for example in the Radio widget:
> "Properties":
> {
> "Evas.Object.size_hint_weight":[1, 1],
> "Evas.Object.visibility":[true],
> "Elm_Radio.group_add":["elm_radio1"],
>   },
>
> group_add in this case is a function not a property, not that this
> create me too much problem, it's easy to manage in python, it just
> slow down the process a little bit, as I need to check at runtime
> if that is a prop or not. Maybe is better to have a "Functions"
> sections? Would be better for my implementation and seems more
> correct.
In general we have properties and methods, some of methods are constructors.
On some steps we need to differ ones from another.
Erigo works with Eolian so we can simply know method's type. (Actually 
we only need to fetch constructors out of methods).

But we need to find solution for bindings.
First: each, who writes generator for Erigo, checks function's type by 
himself in Eolian.
Second: Eolian-like library that provides access to Json (as JackDanielz 
' describes in this branch)
First two are fine for code generations (not runtime).
Third: current case - runtime parsing in Python.
For this case we can generate three separate sections (Constructors, 
Properties, Methods).
Or two sections: "Proerties" and "Methods"- in this case need to 
check if method is constructor.
Slow, but helps to detect if method, that already existed, was added 
to "Constructors" section in Eolian eo-file.
(which is rare and actually is API break, so must be noted somewhere)



> *5. Enums*
> Now enums are written in the json files as if they where normal
> strings, for example:
>
> "Elm_Win.constructor":["dia-win", "ELM_WIN_DIALOG_BASIC"]
>
> I solved this yet, but with an hackish and slow solution, it could be
> better if we can find a way to express them in a way that they don't

[EGIT] [tools/elm-theme-viewer] master 01/02: TODO: Update a todo list.

2015-01-26 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/tools/elm-theme-viewer.git/commit/?id=a3e3452b1d6f994f8a85ba57e6e1096a0f3d2225

commit a3e3452b1d6f994f8a85ba57e6e1096a0f3d2225
Author: Daniel Juyung Seo 
Date:   Sun Oct 26 16:53:39 2014 -0700

TODO: Update a todo list.
---
 TODO | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/TODO b/TODO
index 508380b..2fda20b 100644
--- a/TODO
+++ b/TODO
@@ -16,3 +16,5 @@
 
 * Add edc layout preview feature.
 * Add e theme preview feature.
+* Show default style by default. Promote default style list item.
+* Implement open menu with file selector.

-- 




[EGIT] [enlightenment/modules/tclock] master 01/01: fix tclock to work with git master

2015-01-26 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=e42a6d49ce0b7e4f95131b3c3f54736b0bf803ec

commit e42a6d49ce0b7e4f95131b3c3f54736b0bf803ec
Author: Daniel Kolesa 
Date:   Mon Jan 26 13:39:06 2015 +

fix tclock to work with git master
---
 src/e_mod_config.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/e_mod_config.c b/src/e_mod_config.c
index 96e22d2..98f66fc 100644
--- a/src/e_mod_config.c
+++ b/src/e_mod_config.c
@@ -34,9 +34,9 @@ _config_tclock_module(Config_Item *ci)
 
snprintf(buf, sizeof(buf), "%s/e-module-tclock.edj", 
 tclock_config->mod_dir);
-   cfd = e_config_dialog_new(e_util_comp_current_get(), D_("Tclock Settings"),
-  "TClock",  "_e_modules_tclock_config_dialog",
-  buf, 0, v, ci);
+   cfd = e_config_dialog_new(NULL, D_("Tclock Settings"), "TClock",
+ "_e_modules_tclock_config_dialog",
+ buf, 0, v, ci);
tclock_config->config_dialog = cfd;
 }
 

-- 




[EGIT] [tools/elm-theme-viewer] master 02/02: theme: Make theme parsing logic more efficient and put default style in the front.

2015-01-26 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/tools/elm-theme-viewer.git/commit/?id=73ca0904601be181f0b4649369991774ecf52d0e

commit 73ca0904601be181f0b4649369991774ecf52d0e
Author: Daniel Juyung Seo 
Date:   Fri Jan 16 06:11:49 2015 +0900

theme: Make theme parsing logic more efficient and put default style in the 
front.
---
 src/bin/theme.c | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/bin/theme.c b/src/bin/theme.c
index 59712ba..97de9c4 100644
--- a/src/bin/theme.c
+++ b/src/bin/theme.c
@@ -63,10 +63,13 @@ theme_unset(const char *edje_file)
 static int
 _style_compare_cb(const void *data1, const void *data2)
 {
-   const Widget_Data_Style *wds1 = data1;
-   const Widget_Data_Style *wds2 = data2;
+   const char *txt1 = data1;
+   const char *txt2 = data2;
 
-   return strcmp(wds1->style, wds2->style);
+   if (!txt1) return 1;
+   if (!txt2) return -1;
+
+   return strcmp(txt1, txt2);
 }
 
 void
@@ -85,6 +88,8 @@ theme_load(const char *edje_file)
groups = edje_file_collection_list(edje_file);
if (!groups) return;
 
+   groups = eina_list_sort(groups, eina_list_count(groups), cmp_func);
+
EINA_LIST_FOREACH(groups, l, group)
  {
 strncpy(buf, group, sizeof(buf) - 1);
@@ -125,7 +130,10 @@ theme_load(const char *edje_file)
 wds->simple = eina_stringshare_add(
widget_style_filter(wd->type, style));
 
-wd->styles = eina_list_sorted_insert(wd->styles, cmp_func, wds);
+if (!strcmp("default", wds->simple))
+  wd->styles = eina_list_prepend(wd->styles, wds);
+else
+  wd->styles = eina_list_append(wd->styles, wds);
  }
 
edje_file_collection_list_free(groups);

-- 




Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Tom Hacohen
On 26/01/15 13:26, Davide Andreoli wrote:
> 2015-01-26 13:09 GMT+01:00 Tom Hacohen :
>
>> On 26/01/15 11:41, Yakov Goldberg wrote:
>>> Hey  Davide,
>>>   that's cool :)
>>>
>>> I installed everything and played with it: changed your test_gui.egui in
>>> Erigo and run it again through erigo.py! Great!
>>>
>>> Just could you explain something.
>>>  You don't generate Python from Json.
>>>  As I understand you read Json, save this data internally and call
>>> it when needed, which doesn't actually matter in terms of speed and
>>> convenience for Python, right?
>>>
>>> The rest is on the way...
>>
>> We talked about it on IRC the other day. If you keep the json simple,
>> there's no reason why you'd need to generate the python code ahead of
>> time. You can even have a cached .egui.py and generate it every time the
>> .egui file changes. Or you can generate ahead of time, like in C.
>>
>
> We cannot have a cached .egui.py. Because the current implementation do
> not generate any python code at all, It just instantiate the needed classes.

I know, I meant it as an alternative. We can have the dynamic one we 
have now, the generate python on runtime and cache it, or generate ahead 
of time.

--
Tom.



--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Davide Andreoli
2015-01-26 14:20 GMT+01:00 Daniel Zaoui :

> Hi Davide,
>
> I saw your stuff on Yakov's laptop, really impressive!
>
> I wanted to add something about the generators, JSON... We plan to
> implement a library that will parse the JSON file and give access to the
> information via APIs. You can see it as the Eolian library (not
> generator) for applications layer. Erigo and all the apps generators
> would use it. The advantages are that we won't have to duplicate parsing
> for every tool, versioning will be supported, meaning we can move from
> JSON to a specific format just by adding support inside this library...
>

This new library can be useful for static code generators, but it's not
really
suitable for the runtime generation approach I'm using right now.

Firstly it will require me to write python bindings for that new library.
While
json parsing is yet there in py and in every other language me think.
So basically you avoid me the json parsing (a single line of code in py),
while you create the necessity to bind/implement/learn a new API.

Secondly it will much more slower in the runtime execution, as the python
code that generate the UI will have to call c functions all the time to
fetch the
infos about widgets. Going back and forth between py and C is slow,  will
really
slow down the execution, I think at the point that it will not make sense
anymore
to have  this runtime-generation anymore.

My current implementation is possible and good only because you are using
JSON for storing the widget infos, parsing json from python is really
powerfull and fast.

So please don't remove the JSON format!


>
> I already began to write this library a few months ago but then had to
> move to other stuff. I will update you when l come back to it.
>
> My comments below (just for the enums as Yakov replies for the others).
>
> Anyway, thank you for your review, it is really useful.
>
> JackDanielZ
>
> On 01/26/15 13:56, Davide Andreoli wrote:
> > 2015-01-26 12:41 GMT+01:00 Yakov Goldberg :
> >
> >> Hey  Davide,
> >> that's cool :)
> >>
> >> I installed everything and played with it: changed your test_gui.egui in
> >> Erigo and run it again through erigo.py! Great!
> >>
> >> Just could you explain something.
> >>You don't generate Python from Json.
> >>As I understand you read Json, save this data internally and call
> >> it when needed, which doesn't actually matter in terms of speed and
> >> convenience for Python, right?
> >>
> > right, it generate/instantiate the needed classes/widgets on runtime,
> > reading
> > the json file. No need to generate the python code.
> > I do in this way because it's simpler (it's coded in py) and beautiful :)
> >
> > Btw, I plan to also write the static code generator (inside erigo in C)
> as
> > soon
> > as the runtime approach will be finished and stable, so that user can
> > choose the preferred method.
> > I'm not sure about performance, it's quite fast now as the code to
> generate
> > it's simple. But I dont have a static code to do a comparison. We will
> > understand this when also the static generator will be implemented.
> >
> >
> >> The rest is on the way...
> >>
> >>
> >> On 01/26/2015 12:22 AM, Davide Andreoli wrote:
> >>> Hi all,
> >>> the python-efl integration for erigo is quite finished, you can try it
> >>> using my pyefl branch:
> >>> devs/davemds/erigo_generator
> >>> Everything is really simple, the only file that implement the generator
> >> is
> >>> this:
> >>>
> >>
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/efl/utils/erigo.py?h=devs/davemds/erigo_generator
> >>> and this the incredible simple example:
> >>>
> >>
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/test_erigo.py?h=devs/davemds/erigo_generator
> >>> that load this json file:
> >>>
> >>
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/erigo_prj/test_gui.egui?h=devs/davemds/erigo_generator
> >>> In practice you just need to subclass the ErigoGui class provided,
> create
> >>> an instance
> >>> passing the json file and implement your callback inside this class.
> >> Thats
> >>> it!
> >>> Example usage:
> >>>
> >>> from efl import elementaryfrom efl.utils.erigo import ErigoGui
> >>>
> >>> class MyGui(ErigoGui):
> >>>  def btn_clicked_cb(self, btn):
> >>>  print('User clicked a button', btn)
> >>>  ...and all other widdget callbacks
> >>>
> >>> egui = MyGui('path/to/json_file')
> >>>
> >>>
> >>> Nothing more :)
> >>>
> >>> And now the real purpose of this mail: the issue we need to resolve to
> >>> complete the work,
> >>> in random order:
> >>>
> >>> *1. Classes custom constructor*
> >>> In the json file the custom constructor (and their params)  are listed
> >>> inside the Properties
> >>> list, this is quite annoying for my implementation and seems to me
> quite
> >>> wrong.
> >>> Why don't you move that in the  "Desc" section of the widget? along the
> >>> 

[EGIT] [core/enlightenment] master 01/01: make enlightenment build again for wayland-only

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=56da400c3927130db8e632d38fe92aa8831a3a89

commit 56da400c3927130db8e632d38fe92aa8831a3a89
Author: Chris Michael 
Date:   Mon Jan 26 08:54:38 2015 -0500

make enlightenment build again for wayland-only

Signed-off-by: Chris Michael 
---
 src/bin/e_actions.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_actions.c b/src/bin/e_actions.c
index 52725c2..a04d492 100644
--- a/src/bin/e_actions.c
+++ b/src/bin/e_actions.c
@@ -2902,8 +2902,10 @@ ACT_FN_GO(module_toggle, )
 ACT_FN_GO(screen_redo, __UNUSED__)
 {
printf("REDOOO\n");
+#ifndef HAVE_WAYLAND_ONLY
e_randr2_screeninfo_update();
e_randr2_config_apply();
+#endif
 }
 
 /* local subsystem globals */

-- 




[EGIT] [core/elementary] master 01/01: NEWS: Manually fix up a news entry

2015-01-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=80dbec92a8323db36c7872611f003811bebdac46

commit 80dbec92a8323db36c7872611f003811bebdac46
Author: Stefan Schmidt 
Date:   Mon Jan 26 15:02:55 2015 +0100

NEWS: Manually fix up a news entry
---
 NEWS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index f740fde..575a3d6 100644
--- a/NEWS
+++ b/NEWS
@@ -72,7 +72,7 @@ Fixes:
* elm_transit: Fix to support zoom rate zero.
* elm_transit: Fix crash issue caused by multiple transit effects.
* Elm_Entry: set handler style according to current widget style
-   * Icon: use size_hint_min instead of image_size to know the wanted size
+   * Icon: use evas_object_geometry_get instead of image_size to know the 
wanted size
 
 Changes since 1.11.0:
 -

-- 




Re: [E-devel] [Enlightenment-release] EFL and friends 1.13.0 beta 2

2015-01-26 Thread Stefan Schmidt
Hello.

On 26/01/15 14:20, Davide Andreoli wrote:
> Hi, the Icon fix should be:
> * Icon: use evas_object_geometry_get instead of image_size to know the
> wanted size
>
> I reverted that commit and done another (better) one.
> Just in case you will use that line also in other feature releases.
>

These are auto generated but I fixed it p manually so it should be
correct in the next tarballs.

regards
Stefan Schmidt

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 09/16: ecore-drm: Move session and vt fields to store inside the Ecore_Drm_Device

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 3c62f4222cc018165d6d7f1eb29286b1f65d61ed
Author: Chris Michael 
Date:   Thu Jan 22 12:42:52 2015 -0500

ecore-drm: Move session and vt fields to store inside the
Ecore_Drm_Device

Summary: This moves storing the session name and VT fields inside the
device structure. This also adds a field so we can store the keyboard
mode of the tty, and restore it on close.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/Ecore_Drm.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 7a65273..286aa20 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -66,7 +66,9 @@ typedef struct _Ecore_Drm_Fb
 struct _Ecore_Drm_Device
 {
int id;
+   unsigned int vt;
const char *seat;
+   char *session;
 
struct
  {
@@ -94,6 +96,7 @@ struct _Ecore_Drm_Device
struct
  {
 int fd;
+int kbd_mode;
 const char *name;
 Ecore_Event_Handler *event_hdlr;
 Ecore_Event_Handler *switch_hdlr;

-- 




[EGIT] [core/efl] master 04/16: ecore-drm: Default device->session to NULL

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit bee13a55e1edeaa71f124a3b8c2e19e37159070f
Author: Chris Michael 
Date:   Thu Jan 22 12:36:00 2015 -0500

ecore-drm: Default device->session to NULL

Summary: This sets the default session to NULL when a device is
created. Also a formatting fix

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_device.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 957c439e..5d0c0bc 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -185,8 +185,10 @@ cont:
 dev->seat = eeze_udev_syspath_get_property(device, "ID_SEAT");
 if (!dev->seat) dev->seat = eina_stringshare_add("seat0");
 
+dev->vt = 0;
 dev->format = 0;
 dev->use_hw_accel = EINA_FALSE;
+dev->session = NULL;
 
 DBG("Using Drm Device: %s", dev->drm.name);
  }
@@ -231,6 +233,9 @@ ecore_drm_device_free(Ecore_Drm_Device *dev)
/* free device seat */
if (dev->seat) eina_stringshare_del(dev->seat);
 
+   /* free session */
+   free(dev->session);
+
/* free structure */
free(dev);
 }
@@ -255,7 +260,8 @@ ecore_drm_device_open(Ecore_Drm_Device *dev)
if ((!dev) || (!dev->drm.name)) return EINA_FALSE;
 
/* DRM device node is needed immediately to keep going. */
-   dev->drm.fd = _ecore_drm_launcher_device_open_no_pending(dev->drm.name, 
O_RDWR);
+   dev->drm.fd = 
+ _ecore_drm_launcher_device_open_no_pending(dev->drm.name, O_RDWR);
if (dev->drm.fd < 0) return EINA_FALSE;
 
DBG("Opened Device %s : %d", dev->drm.name, dev->drm.fd);

-- 




[EGIT] [core/efl] master 11/16: ecore-drm: Remove logind header file

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit bd41178fb03eb432cec8ebd92676180ba8477a45
Author: Chris Michael 
Date:   Thu Jan 22 12:45:49 2015 -0500

ecore-drm: Remove logind header file

Summary: These functions have been moved to the private header file
now, and thus this file is no longer needed.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_logind.h | 55 
 1 file changed, 55 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_logind.h 
b/src/lib/ecore_drm/ecore_drm_logind.h
deleted file mode 100644
index fe72b73..000
--- a/src/lib/ecore_drm/ecore_drm_logind.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _ECORE_DRM_LOGIN_H_
-# define _ECORE_DRM_LOGIN_H_
-
-# ifdef HAVE_CONFIG_H
-#  include "config.h"
-# endif
-
-# ifdef HAVE_SYSTEMD_LOGIN
-#  include 
-
-Eina_Bool _ecore_drm_logind_connect(Ecore_Drm_Device *dev);
-void _ecore_drm_logind_disconnect(Ecore_Drm_Device *dev);
-Eina_Bool _ecore_drm_logind_device_open(const char *device, Ecore_Drm_Open_Cb 
callback, void *data);
-int _ecore_drm_logind_device_open_no_pending(const char *device);
-void _ecore_drm_logind_device_close(const char *device);
-
-int _ecore_drm_dbus_init(const char *session);
-int _ecore_drm_dbus_shutdown(void);
-int _ecore_drm_dbus_device_take(uint32_t major, uint32_t minor, 
Ecore_Drm_Open_Cb callback, void *data);
-int _ecore_drm_dbus_device_take_no_pending(uint32_t major, uint32_t minor, 
Eina_Bool *paused_out, double timeout);
-void _ecore_drm_dbus_device_release(uint32_t major, uint32_t minor);
-
-# else
-static inline Eina_Bool
-_ecore_drm_logind_connect(Ecore_Drm_Device *dev EINA_UNUSED)
-{
-   return EINA_FALSE;
-}
-
-static inline void
-_ecore_drm_logind_disconnect(Ecore_Drm_Device *dev EINA_UNUSED)
-{
-   return;
-}
-
-static inline Eina_Bool
-_ecore_drm_logind_device_open(const char *device EINA_UNUSED, 
Ecore_Drm_Open_Cb callback EINA_UNUSED, void *data EINA_UNUSED)
-{
-   return EINA_FALSE;
-}
-
-static inline int
-_ecore_drm_logind_device_open_no_pending(const char *device EINA_UNUSED)
-{
-   return -1;
-}
-
-static inline void
-_ecore_drm_logind_device_close(const char *device EINA_UNUSED)
-{
-   return;
-}
-# endif
-
-#endif

-- 




[EGIT] [core/efl] master 07/16: ecore-drm: Cleanup launcher code

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 81a47310369ac964d5c06f876960717b04f31fc8
Author: Chris Michael 
Date:   Thu Jan 22 12:40:32 2015 -0500

ecore-drm: Cleanup launcher code

Summary: This moves the VT switch handling code to the tty file, and
sets the proper flags on the VT when opened.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_launcher.c | 170 -
 1 file changed, 41 insertions(+), 129 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_launcher.c 
b/src/lib/ecore_drm/ecore_drm_launcher.c
index 41f2fe1..860cc84 100644
--- a/src/lib/ecore_drm/ecore_drm_launcher.c
+++ b/src/lib/ecore_drm/ecore_drm_launcher.c
@@ -1,9 +1,8 @@
 #include "ecore_drm_private.h"
-#include "ecore_drm_logind.h"
 
 static Eina_Bool logind = EINA_FALSE;
 
-static Eina_Bool
+static Eina_Bool 
 _ecore_drm_launcher_cb_vt_switch(void *data, int type EINA_UNUSED, void *event)
 {
Ecore_Drm_Device *dev;
@@ -28,167 +27,80 @@ _ecore_drm_launcher_cb_vt_switch(void *data, int type 
EINA_UNUSED, void *event)
return ECORE_CALLBACK_PASS_ON;
 }
 
-
-static Eina_Bool
-_ecore_drm_launcher_cb_vt_signal(void *data, int type EINA_UNUSED, void *event)
+int
+_ecore_drm_launcher_device_flags_set(int fd, int flags)
 {
-   Ecore_Drm_Device *dev;
-   Ecore_Event_Signal_User *ev;
-   siginfo_t sigdata;
-
-   dev = data;
-   ev = event;
-
-   sigdata = ev->data;
-   if (sigdata.si_code != SI_KERNEL) return ECORE_CALLBACK_RENEW;
-
-   if (ev->number == 1)
- {
-if (!logind)
-  {
- Ecore_Drm_Input *input;
- Ecore_Drm_Output *output;
- Ecore_Drm_Sprite *sprite;
- Eina_List *l;
-
- /* disable inputs (suspends) */
- EINA_LIST_FOREACH(dev->inputs, l, input)
-ecore_drm_inputs_disable(input);
-
- /* disable hardware cursor */
- EINA_LIST_FOREACH(dev->outputs, l, output)
-ecore_drm_output_cursor_size_set(output, 0, 0, 0);
-
- /* disable sprites */
- EINA_LIST_FOREACH(dev->sprites, l, sprite)
-ecore_drm_sprites_fb_set(sprite, 0, 0);
-
- /* drop drm master */
- ecore_drm_device_master_drop(dev);
+   int fl;
 
- _ecore_drm_event_activate_send(EINA_FALSE);
-  }
+   fl = fcntl(fd, F_GETFL);
+   if (fl < 0) return -1;
 
-/* issue ioctl to release vt */
-if (!ecore_drm_tty_release(dev))
-  ERR("Could not release VT: %m");
- }
-   else if (ev->number == 2)
- {
-if (!logind)
-  {
- Ecore_Drm_Output *output;
- Ecore_Drm_Input *input;
- Eina_List *l;
+   if (flags & O_NONBLOCK)
+ fl |= O_NONBLOCK;
 
- /* set drm master */
- if (!ecore_drm_device_master_set(dev))
-   ERR("Could not set drm master: %m");
+   if (fcntl(fd, F_SETFL, fl) < 0)
+ return -1;
 
- /* set output mode */
- EINA_LIST_FOREACH(dev->outputs, l, output)
-ecore_drm_output_enable(output);
+   fl = fcntl(fd, F_GETFD);
+   if (fl < 0) return -1;
 
- /* enable inputs */
- EINA_LIST_FOREACH(dev->inputs, l, input)
-ecore_drm_inputs_enable(input);
+   if (!(flags & O_CLOEXEC))
+ fl &= ~FD_CLOEXEC;
 
- if (ecore_drm_tty_acquire(dev))
-   _ecore_drm_event_activate_send(EINA_TRUE);
- else
-   ERR("Could not acquire VT: %m");
-  }
-else
-  {
- if (!ecore_drm_tty_acquire(dev))
-   ERR("Could not acquire VT: %m");
-  }
- }
+   if (fcntl(fd, F_SETFD, fl) < 0)
+ return -1;
 
-   return ECORE_CALLBACK_RENEW;
+   return fd;
 }
 
-EAPI Eina_Bool
+EAPI Eina_Bool 
 ecore_drm_launcher_connect(Ecore_Drm_Device *dev)
 {
+   /* try to connect to logind */
if (!(logind = _ecore_drm_logind_connect(dev)))
  {
-DBG("Launcher: Not Support logind\n");
+DBG("Launcher: Logind not supported");
 if (geteuid() == 0)
-  DBG("Launcher: Try to keep going with root privilege\n");
+  {
+ DBG("Launcher: Trying to continue with root privileges");
+ if (!ecore_drm_tty_open(dev, NULL))
+   {
+  ERR("Launcher: Could not setup tty");
+  return EINA_FALSE;
+   }
+  }
 else
   {
- ERR("Launcher: Need Root Privilege or logind\n");
+ ERR("Launcher: Root privileges needed");
  return EINA_FALSE;
   }
  }
 
-   if (!ecore_drm_tty_open(dev, NULL))
- {
-ERR("Launcher: failed to open tty\n");
-return EINA_FALSE;
- }
-
-   /* setup handler for signals */
-   dev->tty.event_hdlr =
-  ecore_event

[EGIT] [core/efl] master 05/16: ecore-drm: Cleanup tty code and handle vt signal trapping

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit e6970f4f8b13177c64f7020e26d46a65a527a126
Author: Chris Michael 
Date:   Thu Jan 22 12:37:16 2015 -0500

ecore-drm: Cleanup tty code and handle vt signal trapping

Summary: This cleans up the tty code a bit, and makes it the
responsibility of the tty code to handle VT switching signals

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_tty.c | 62 ---
 1 file changed, 45 insertions(+), 17 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_tty.c 
b/src/lib/ecore_drm/ecore_drm_tty.c
index fe338f5..f88d9f1 100644
--- a/src/lib/ecore_drm/ecore_drm_tty.c
+++ b/src/lib/ecore_drm/ecore_drm_tty.c
@@ -1,12 +1,4 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
 #include "ecore_drm_private.h"
-#include 
-#include 
-#include 
-#include 
 
 #ifndef KDSKBMUTE
 # define KDSKBMUTE 0x4B51
@@ -14,6 +6,35 @@
 
 static int kbd_mode = 0;
 
+static Eina_Bool 
+_ecore_drm_tty_cb_vt_signal(void *data, int type EINA_UNUSED, void *event)
+{
+   Ecore_Drm_Device *dev;
+   Ecore_Event_Signal_User *ev;
+   siginfo_t sig;
+
+   ev = event;
+   sig = ev->data;
+   if (sig.si_code != SI_KERNEL) return ECORE_CALLBACK_RENEW;
+   if (!(dev = data)) return ECORE_CALLBACK_RENEW;
+
+   switch (ev->number)
+ {
+  case 1:
+ecore_drm_device_master_drop(dev);
+ioctl(dev->tty.fd, VT_RELDISP, 1);
+break;
+  case 2:
+ioctl(dev->tty.fd, VT_RELDISP, VT_ACKACQ);
+ecore_drm_device_master_set(dev);
+break;
+  default:
+break;
+ }
+
+   return ECORE_CALLBACK_RENEW;
+}
+
 Eina_Bool
 _ecore_drm_tty_switch(Ecore_Drm_Device *dev, int activate_vt)
 {
@@ -29,7 +50,8 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev)
int kmode;
struct vt_mode vtmode = { 0 };
 
-   if (fstat(dev->tty.fd, &st) == -1)
+   if ((fstat(dev->tty.fd, &st) == -1) || 
+   (major(st.st_rdev) != TTY_MAJOR) || (minor(st.st_rdev) == 0))
  {
 ERR("Failed to get stats for tty: %m");
 return EINA_FALSE;
@@ -41,6 +63,12 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev)
 return EINA_FALSE;
  }
 
+   if (kmode != KD_TEXT)
+ {
+WRN("Virtual Terminal already in KD_GRAPHICS mode");
+return EINA_FALSE;
+ }
+
if (ioctl(dev->tty.fd, VT_ACTIVATE, minor(st.st_rdev)) < 0)
  {
 ERR("Failed to activate vt: %m");
@@ -66,13 +94,10 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev)
 return EINA_FALSE;
  }
 
-   if (kmode != KD_GRAPHICS)
+   if (ioctl(dev->tty.fd, KDSETMODE, KD_GRAPHICS))
  {
-if (ioctl(dev->tty.fd, KDSETMODE, KD_GRAPHICS))
-  {
- ERR("Could not set graphics mode: %m");
- goto err_kmode;
-  }
+ERR("Could not set graphics mode: %m");
+goto err_kmode;
  }
 
vtmode.mode = VT_PROCESS;
@@ -136,7 +161,7 @@ ecore_drm_tty_open(Ecore_Drm_Device *dev, const char *name)
  {
 DBG("Trying to Open Tty: %s", tty);
 
-dev->tty.fd = open(tty, O_RDWR | O_NOCTTY);
+dev->tty.fd = open(tty, (O_RDWR | O_CLOEXEC)); //O_RDWR | O_NOCTTY);
 if (dev->tty.fd < 0)
   {
  DBG("Failed to Open Tty: %m");
@@ -149,7 +174,6 @@ ecore_drm_tty_open(Ecore_Drm_Device *dev, const char *name)
/* save tty name */
dev->tty.name = eina_stringshare_add(tty);
 
-   /* FIXME */
if (!_ecore_drm_tty_setup(dev))
  {
 close(dev->tty.fd);
@@ -162,6 +186,10 @@ ecore_drm_tty_open(Ecore_Drm_Device *dev, const char *name)
 return EINA_FALSE;
  }
 
+   dev->tty.event_hdlr = 
+ ecore_event_handler_add(ECORE_EVENT_SIGNAL_USER, 
+ _ecore_drm_tty_cb_vt_signal, dev);
+
/* set current tty into env */
setenv("ECORE_DRM_TTY", tty, 1);
 

-- 




[EGIT] [core/efl] master 14/16: ecore-drm: Remove unused function parameter

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 3b4a989892a51f419a195190887df18b8c461974
Author: Chris Michael 
Date:   Thu Jan 22 13:16:58 2015 -0500

ecore-drm: Remove unused function parameter

The session take/release functions no longer need the session name
paramater, so remove that.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_dbus.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_dbus.c 
b/src/lib/ecore_drm/ecore_drm_dbus.c
index b79d7d8..2e745eb 100644
--- a/src/lib/ecore_drm/ecore_drm_dbus.c
+++ b/src/lib/ecore_drm/ecore_drm_dbus.c
@@ -122,7 +122,7 @@ _cb_properties_changed(void *data EINA_UNUSED, Eldbus_Proxy 
*proxy EINA_UNUSED,
 }
 
 Eina_Bool 
-_ecore_drm_dbus_session_take(const char *session)
+_ecore_drm_dbus_session_take(void)
 {
Eldbus_Proxy *proxy;
Eldbus_Message *msg, *reply;
@@ -155,7 +155,7 @@ _ecore_drm_dbus_session_take(const char *session)
 }
 
 Eina_Bool 
-_ecore_drm_dbus_session_release(const char *session)
+_ecore_drm_dbus_session_release(void)
 {
Eldbus_Proxy *proxy;
Eldbus_Message *msg, *reply;

-- 




[EGIT] [core/efl] master 16/16: Merge branch 'devs/devilhorns/ecore_drm'

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit a5063a0c9b77abdc1ea8544be1efeebda5a6c5aa
Merge: f9e4bac 8eb78df
Author: Chris Michael 
Date:   Mon Jan 26 09:16:44 2015 -0500

Merge branch 'devs/devilhorns/ecore_drm'

This branch fixes several issues with ecore_drm:

In particular, it address the issue of not properly restoring the tty
on shutdown, saves the current tty keyboard mode and properly restores
that on shutdown, we now get the VT from systemd (if available) and
properly setup the VT.

@fix

 src/Makefile_Ecore_Drm.am  |   5 +-
 src/lib/ecore/ecore_main.c |  15 +-
 src/lib/ecore_drm/Ecore_Drm.h  |   3 +
 src/lib/ecore_drm/ecore_drm_dbus.c |  58 ++---
 src/lib/ecore_drm/ecore_drm_device.c   |   8 +-
 src/lib/ecore_drm/ecore_drm_launcher.c | 170 ---
 src/lib/ecore_drm/ecore_drm_logind.c   | 236 ++---
 src/lib/ecore_drm/ecore_drm_logind.h   |  55 -
 src/lib/ecore_drm/ecore_drm_private.h  |  23 ++
 src/lib/ecore_drm/ecore_drm_tty.c  |  62 --
 .../ecore_evas/engines/drm/ecore_evas_drm.c|   4 +-
 11 files changed, 354 insertions(+), 285 deletions(-)

-- 




[EGIT] [core/efl] master 01/16: ecore: Remove blank line

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit e063027ed81fe7ca3aba2533a943e809c1a11ef9
Author: Chris Michael 
Date:   Thu Jan 22 10:58:34 2015 -0500

ecore: Remove blank line

Summary: No functional changes, just removing an empty line

Signed-off-by: Chris Michael 
---
 src/lib/ecore/ecore_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index d7d6a42..6d088eb 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -373,7 +373,6 @@ _gfd_events_from_fdh(Ecore_Fd_Handler *fdh)
if (fdh->flags & ECORE_FD_ERROR) events |= G_IO_ERR;
return events;
 }
-
 #endif
 
 static inline int
@@ -476,7 +475,7 @@ _ecore_main_fdh_epoll_mark_active(void)
if (ret < 0)
  {
 if (errno == EINTR) return -1;
-ERR("epoll_wait failed %d", errno);
+ERR("epoll_wait failed on fd: %d %s", efd, strerror(errno));
 return -1;
  }
 

-- 




[EGIT] [core/efl] master 10/16: ecore-drm: Remove logind header file from build order

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit c9cee01f125fc1681005bf83e47a535a98603c65
Author: Chris Michael 
Date:   Thu Jan 22 12:44:01 2015 -0500

ecore-drm: Remove logind header file from build order

Summary: Since we removed the need for the logind header file, let's
remove that from the build order.

@fix

Signed-off-by: Chris Michael 
---
 src/Makefile_Ecore_Drm.am | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/Makefile_Ecore_Drm.am b/src/Makefile_Ecore_Drm.am
index 8ed601b..61a1555 100644
--- a/src/Makefile_Ecore_Drm.am
+++ b/src/Makefile_Ecore_Drm.am
@@ -17,14 +17,13 @@ lib/ecore_drm/ecore_drm_output.c \
 lib/ecore_drm/ecore_drm_tty.c \
 lib/ecore_drm/ecore_drm_device.c \
 lib/ecore_drm/ecore_drm_launcher.c \
+lib/ecore_drm/ecore_drm_dbus.c \
 lib/ecore_drm/ecore_drm.c \
-lib/ecore_drm/ecore_drm_logind.h \
 lib/ecore_drm/ecore_drm_private.h
 
 if HAVE_SYSTEMD_LOGIN
 lib_ecore_drm_libecore_drm_la_SOURCES += \
-lib/ecore_drm/ecore_drm_logind.c \
-lib/ecore_drm/ecore_drm_dbus.c
+lib/ecore_drm/ecore_drm_logind.c
 endif
 
 lib_ecore_drm_libecore_drm_la_CPPFLAGS = \

-- 




[EGIT] [core/efl] master 12/16: ecore-evas-drm: Fix improper shutdown sequence

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit b53e125640fd59967ccdaa628b863f22fd90f1a6
Author: Chris Michael 
Date:   Thu Jan 22 12:44:44 2015 -0500

ecore-evas-drm: Fix improper shutdown sequence

Summary: As the launcher code now uses some fields from the
Ecore_Drm_Device, we need to free the device After the launcher has
been disconnected.

@fix

Signed-off-by: Chris Michael 
---
 src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 
b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index 40ec670..8ff1d39 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -526,8 +526,8 @@ input_err:
 sprite_err:
ecore_drm_device_close(dev);
 dev_open_err:
-   ecore_drm_device_free(dev);
ecore_drm_launcher_disconnect(dev);
+   ecore_drm_device_free(dev);
 launcher_err:
 dev_err:
ecore_drm_shutdown();
@@ -543,8 +543,8 @@ _ecore_evas_drm_shutdown(void)
/* NB: No need to free outputs here. Is done in device free */
ecore_drm_sprites_destroy(dev);
ecore_drm_device_close(dev);
-   ecore_drm_device_free(dev);
ecore_drm_launcher_disconnect(dev);
+   ecore_drm_device_free(dev);
ecore_drm_shutdown();
 
ecore_event_evas_shutdown();

-- 




[EGIT] [core/efl] master 08/16: ecore-drm: Cleanup private header file

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit feff00178e7331ef8e32a2b8353aa73e431c2aa4
Author: Chris Michael 
Date:   Thu Jan 22 12:42:06 2015 -0500

ecore-drm: Cleanup private header file

Summary: This moves the logind function prototypes to the private
header and thus removes the need for a separate logind header file.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 2a1bac9..d3ccec5 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -19,6 +19,9 @@
 # include 
 # include 
 
+# include 
+# include 
+# include 
 # include 
 # include 
 # include 
@@ -27,6 +30,10 @@
 # include 
 # include 
 
+# ifdef HAVE_SYSTEMD_LOGIN
+#  include 
+# endif
+
 # include 
 # include 
 # include 
@@ -231,6 +238,7 @@ void _ecore_drm_event_activate_send(Eina_Bool active);
 Eina_Bool _ecore_drm_launcher_device_open(const char *device, 
Ecore_Drm_Open_Cb callback, void *data, int flags);
 int _ecore_drm_launcher_device_open_no_pending(const char *device, int flags);
 void _ecore_drm_launcher_device_close(const char *device, int fd);
+int _ecore_drm_launcher_device_flags_set(int fd, int flags);
 
 Eina_Bool _ecore_drm_tty_switch(Ecore_Drm_Device *dev, int activate_vt);
 
@@ -245,4 +253,19 @@ void _ecore_drm_output_fb_release(Ecore_Drm_Output 
*output, Ecore_Drm_Fb *fb);
 void _ecore_drm_output_repaint_start(Ecore_Drm_Output *output);
 void _ecore_drm_output_frame_finish(Ecore_Drm_Output *output);
 
+Eina_Bool _ecore_drm_logind_connect(Ecore_Drm_Device *dev);
+void _ecore_drm_logind_disconnect(Ecore_Drm_Device *dev);
+void _ecore_drm_logind_restore(Ecore_Drm_Device *dev);
+Eina_Bool _ecore_drm_logind_device_open(const char *device, Ecore_Drm_Open_Cb 
callback, void *data);
+int _ecore_drm_logind_device_open_no_pending(const char *device);
+void _ecore_drm_logind_device_close(const char *device);
+
+int _ecore_drm_dbus_init(Ecore_Drm_Device *dev);
+int _ecore_drm_dbus_shutdown(void);
+int _ecore_drm_dbus_device_take(uint32_t major, uint32_t minor, 
Ecore_Drm_Open_Cb callback, void *data);
+int _ecore_drm_dbus_device_take_no_pending(uint32_t major, uint32_t minor, 
Eina_Bool *paused_out, double timeout);
+void _ecore_drm_dbus_device_release(uint32_t major, uint32_t minor);
+Eina_Bool _ecore_drm_dbus_session_take(const char *session);
+Eina_Bool _ecore_drm_dbus_session_release(const char *session);
+
 #endif

-- 




[EGIT] [core/efl] master 06/16: ecore-drm: Fix various issues with logind code

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit c7d557cf4e1cf2b5d4278141363c02ec01d98dfc
Author: Chris Michael 
Date:   Thu Jan 22 12:38:29 2015 -0500

ecore-drm: Fix various issues with logind code

Summary: This fixes a few issues with the logind code such as: Getting
the VT from systemd (if available), Properly setup the VT using proper
'open' flags, adding a 'restore' function to reset the tty properly,
and handle take/release session.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_logind.c | 236 ++-
 1 file changed, 207 insertions(+), 29 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_logind.c 
b/src/lib/ecore_drm/ecore_drm_logind.c
index 9a8d7f1..dfc5402 100644
--- a/src/lib/ecore_drm/ecore_drm_logind.c
+++ b/src/lib/ecore_drm/ecore_drm_logind.c
@@ -1,32 +1,154 @@
-#include 
-#include 
-#include 
-#include 
-#include 
 #include "ecore_drm_private.h"
-#include "ecore_drm_logind.h"
 
 #ifndef KDSKBMUTE
 # define KDSKBMUTE 0x4B51
 #endif
 
-static Ecore_Event_Handler *active_hdl;
-static char *sid;
+static Ecore_Event_Handler *active_hdlr;
 
-static Eina_Bool
+#ifdef HAVE_SYSTEMD
+static inline Eina_Bool 
+_ecore_drm_logind_vt_get(Ecore_Drm_Device *dev)
+{
+   int ret;
+   char *tty;
+
+   ret = sd_session_get_tty(dev->session, &tty);
+   if (ret < 0)
+ {
+ERR("Could not get systemd tty: %m");
+return EINA_FALSE;
+ }
+
+   ret = sscanf(tty, "tty%u", &dev->vt);
+   free(tty);
+
+   if (ret != 1) return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+#endif
+
+static Eina_Bool 
+_ecore_drm_logind_vt_setup(Ecore_Drm_Device *dev)
+{
+   struct stat st;
+   char buff[64];
+   struct vt_mode vtmode = { 0 };
+
+   snprintf(buff, sizeof(buff), "/dev/tty%d", dev->vt);
+   buff[sizeof(buff) - 1] = 0;
+
+   dev->tty.fd = open(buff, (O_RDWR | O_CLOEXEC | O_NONBLOCK));
+   if (dev->tty.fd < 0)
+ {
+ERR("Could not open VT %s %m", buff);
+return EINA_FALSE;
+ }
+
+   if ((fstat(dev->tty.fd, &st) == -1) || 
+   (major(st.st_rdev) != TTY_MAJOR) || 
+   (minor(st.st_rdev) <= 0) || (minor(st.st_rdev) >= 64))
+ {
+ERR("TTY %s is not a virtual terminal", buff);
+goto stat_err;
+ }
+
+   if (ioctl(dev->tty.fd, KDGKBMODE, &dev->tty.kbd_mode) < 0)
+ {
+ERR("Could not read keyboard mode of %s: %m", buff);
+dev->tty.kbd_mode = K_UNICODE;
+ }
+   else if (dev->tty.kbd_mode == K_OFF)
+ dev->tty.kbd_mode = K_UNICODE;
+
+   if ((ioctl(dev->tty.fd, KDSKBMUTE, 1) < 0) && 
+   (ioctl(dev->tty.fd, KDSKBMODE, K_OFF) < 0))
+ {
+ERR("Could not set K_OFF keyboard mode on %s: %m", buff);
+goto stat_err;
+ }
+
+   if (ioctl(dev->tty.fd, KDSETMODE, KD_GRAPHICS) < 0)
+ {
+ERR("Could not set KD_GRAPHICS mode on %s: %m", buff);
+goto kbdmode_err;
+ }
+
+   vtmode.mode = VT_PROCESS;
+   vtmode.waitv =0 ;
+   vtmode.relsig = SIGUSR1;
+   vtmode.acqsig = SIGUSR2;
+
+   if (ioctl(dev->tty.fd, VT_SETMODE, &vtmode) < 0)
+ {
+ERR("Could not take over virtual terminal: %m");
+goto mode_err;
+ }
+
+   return EINA_TRUE;
+
+mode_err:
+   ioctl(dev->tty.fd, KDSETMODE, KD_TEXT);
+kbdmode_err:
+   ioctl(dev->tty.fd, KDSKBMUTE, 0);
+   ioctl(dev->tty.fd, KDSKBMODE, dev->tty.kbd_mode);
+stat_err:
+   close(dev->tty.fd);
+   return EINA_FALSE;
+}
+
+static void 
+_ecore_drm_logind_vt_destroy(Ecore_Drm_Device *dev)
+{
+   _ecore_drm_logind_restore(dev);
+   close(dev->tty.fd);
+}
+
+static Eina_Bool 
+_ecore_drm_logind_cb_vt_signal(void *data, int type EINA_UNUSED, void *event)
+{
+   Ecore_Drm_Device *dev;
+   Ecore_Event_Signal_User *ev;
+   siginfo_t sig;
+
+   ev = event;
+   sig = ev->data;
+
+   if (sig.si_code != SI_KERNEL) return ECORE_CALLBACK_RENEW;
+   if (!(dev = data)) return ECORE_CALLBACK_RENEW;
+
+   switch (ev->number)
+ {
+  case 1:
+_ecore_drm_event_activate_send(EINA_FALSE);
+ioctl(dev->tty.fd, VT_RELDISP, 1);
+break;
+  case 2:
+ioctl(dev->tty.fd, VT_RELDISP, VT_ACKACQ);
+_ecore_drm_event_activate_send(EINA_TRUE);
+break;
+  default:
+break;
+ }
+
+   return ECORE_CALLBACK_RENEW;
+}
+
+static Eina_Bool 
 _ecore_drm_logind_cb_activate(void *data, int type EINA_UNUSED, void *event)
 {
-   Ecore_Drm_Event_Activate *e;
+   Ecore_Drm_Event_Activate *ev;
Ecore_Drm_Device *dev;
Ecore_Drm_Output *output;
Eina_List *l;
 
if ((!event) || (!data)) return ECORE_CALLBACK_RENEW;
 
-   e = event;
+   ev = event;
dev = data;
 
-   if (e->active)
+   if (ev->active)
  {
 /* set output mode */
 EINA_LIST_FOREACH(dev->outputs, l, output)
@@ -48,38 +170,94 @@ _ecore_drm_logind_cb_activate(void *data, int type 
EINA_UNUSED, void *event)
return ECORE_CALLBACK_PASS_ON;
 }
 
-Ei

[EGIT] [core/efl] master 15/16: ecore-drm: Remove session parameter for session take/release functions

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 8eb78df3bb75e165349ccdee15427689c56dcd9e
Author: Chris Michael 
Date:   Thu Jan 22 13:17:43 2015 -0500

ecore-drm: Remove session parameter for session take/release functions

The functions to take or release a session no longer accept session
name as a parameter, so fix calls to those functions

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_logind.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_logind.c 
b/src/lib/ecore_drm/ecore_drm_logind.c
index dfc5402..7e7fa89 100644
--- a/src/lib/ecore_drm/ecore_drm_logind.c
+++ b/src/lib/ecore_drm/ecore_drm_logind.c
@@ -204,7 +204,7 @@ _ecore_drm_logind_connect(Ecore_Drm_Device *dev)
if (!_ecore_drm_dbus_init(dev)) return EINA_FALSE;
 
/* take control of session */
-   if (!_ecore_drm_dbus_session_take(dev->session))
+   if (!_ecore_drm_dbus_session_take())
  {
 ERR("Could not take control of session");
 goto take_err;
@@ -229,7 +229,7 @@ _ecore_drm_logind_connect(Ecore_Drm_Device *dev)
return EINA_TRUE;
 
 vt_err:
-   _ecore_drm_dbus_session_release(dev->session);
+   _ecore_drm_dbus_session_release();
 take_err:
_ecore_drm_dbus_shutdown();
return EINA_FALSE;
@@ -242,7 +242,7 @@ _ecore_drm_logind_disconnect(Ecore_Drm_Device *dev)
active_hdlr = NULL;
 
_ecore_drm_logind_vt_destroy(dev);
-   _ecore_drm_dbus_session_release(dev->session);
+   _ecore_drm_dbus_session_release();
_ecore_drm_dbus_shutdown();
 }
 

-- 




[EGIT] [core/efl] master 02/16: ecore: Remove potentially useless 'else' branches

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit f046a60a487d71facf5ec4cc06f78599eb65a371
Author: Chris Michael 
Date:   Thu Jan 22 10:59:03 2015 -0500

ecore: Remove potentially useless 'else' branches

Summary: We actually don't need an else branch here if we don't have
USE_G_MAIN_LOOP

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore/ecore_main.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index 6d088eb..de84e61 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -385,16 +385,16 @@ _ecore_main_fdh_poll_add(Ecore_Fd_Handler *fdh)
 r = _ecore_epoll_add(_ecore_get_epoll_fd(), fdh->fd,
  _ecore_poll_events_from_fdh(fdh), fdh);
  }
+#ifdef USE_G_MAIN_LOOP
else
  {
-#ifdef USE_G_MAIN_LOOP
 fdh->gfd.fd = fdh->fd;
 fdh->gfd.events = _gfd_events_from_fdh(fdh);
 fdh->gfd.revents = 0;
 DBG("adding gpoll on %d %08x", fdh->fd, fdh->gfd.events);
 g_source_add_poll(ecore_glib_source, &fdh->gfd);
-#endif
  }
+#endif
return r;
 }
 
@@ -424,16 +424,16 @@ _ecore_main_fdh_poll_del(Ecore_Fd_Handler *fdh)
}
   }
  }
+#ifdef USE_G_MAIN_LOOP
else
  {
-#ifdef USE_G_MAIN_LOOP
 fdh->gfd.fd = fdh->fd;
 fdh->gfd.events = _gfd_events_from_fdh(fdh);
 fdh->gfd.revents = 0;
 DBG("removing gpoll on %d %08x", fdh->fd, fdh->gfd.events);
 g_source_remove_poll(ecore_glib_source, &fdh->gfd);
-#endif
  }
+#endif
 }
 
 static inline int
@@ -451,15 +451,15 @@ _ecore_main_fdh_poll_modify(Ecore_Fd_Handler *fdh)
 DBG("modifing epoll on %d to %08x", fdh->fd, ev.events);
 r = epoll_ctl(efd, EPOLL_CTL_MOD, fdh->fd, &ev);
  }
+#ifdef USE_G_MAIN_LOOP
else
  {
-#ifdef USE_G_MAIN_LOOP
 fdh->gfd.fd = fdh->fd;
 fdh->gfd.events = _gfd_events_from_fdh(fdh);
 fdh->gfd.revents = 0;
 DBG("modifing gpoll on %d to %08x", fdh->fd, fdh->gfd.events);
-#endif
  }
+#endif
return r;
 }
 

-- 




[EGIT] [core/efl] master 03/16: ecore-drm: Store session name inside dev structure and don't take/release session control inside dbus functions

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 5a62a760c064ed233bca054eaeb3ad5a1d51cb5d
Author: Chris Michael 
Date:   Thu Jan 22 12:34:38 2015 -0500

ecore-drm: Store session name inside dev structure and don't
take/release session control inside dbus functions

Summary: These changes move the storage of session name to inside the
Ecore_Drm_Device structure and remove calls to take/release session
control to outside of the dbus code

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_dbus.c | 54 +++---
 1 file changed, 15 insertions(+), 39 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_dbus.c 
b/src/lib/ecore_drm/ecore_drm_dbus.c
index 292879e..b79d7d8 100644
--- a/src/lib/ecore_drm/ecore_drm_dbus.c
+++ b/src/lib/ecore_drm/ecore_drm_dbus.c
@@ -2,7 +2,6 @@
 
 static int _dbus_init_count = 0;
 
-static const char *dsession;
 static Eldbus_Connection *dconn;
 static Eldbus_Object *dobj;
 
@@ -30,11 +29,14 @@ _ecore_drm_dbus_device_pause_done(uint32_t major, uint32_t 
minor)
 }
 
 static void 
-_cb_session_removed(void *ctxt EINA_UNUSED, const Eldbus_Message *msg)
+_cb_session_removed(void *data, const Eldbus_Message *msg)
 {
+   Ecore_Drm_Device *dev;
const char *errname, *errmsg;
const char *sid;
 
+   if (!(dev = data)) return;
+
if (eldbus_message_error_get(msg, &errname, &errmsg))
  {
 ERR("Eldbus Message Error: %s %s", errname, errmsg);
@@ -43,8 +45,11 @@ _cb_session_removed(void *ctxt EINA_UNUSED, const 
Eldbus_Message *msg)
 
if (eldbus_message_arguments_get(msg, "s", &sid))
  {
-if (!strcmp(sid, dsession))
-  ERR("\tCurrent Session Removed!!");
+if (!strcmp(sid, dev->session))
+  {
+ WRN("\tCurrent Session Removed!!");
+ _ecore_drm_logind_restore(dev);
+  }
  }
 }
 
@@ -116,19 +121,13 @@ _cb_properties_changed(void *data EINA_UNUSED, 
Eldbus_Proxy *proxy EINA_UNUSED,
  }
 }
 
-static Eina_Bool 
+Eina_Bool 
 _ecore_drm_dbus_session_take(const char *session)
 {
Eldbus_Proxy *proxy;
Eldbus_Message *msg, *reply;
const char *errname, *errmsg;
 
-   if ((session) && (strcmp(session, dsession)))
- {
-ERR("Invalid session: %s", session);
-return EINA_FALSE;
- }
-
/* try to get the Session proxy */
if (!(proxy = eldbus_proxy_get(dobj, "org.freedesktop.login1.Session")))
  {
@@ -155,19 +154,13 @@ _ecore_drm_dbus_session_take(const char *session)
return EINA_TRUE;
 }
 
-static Eina_Bool 
+Eina_Bool 
 _ecore_drm_dbus_session_release(const char *session)
 {
Eldbus_Proxy *proxy;
Eldbus_Message *msg, *reply;
const char *errname, *errmsg;
 
-   if ((session) && (strcmp(session, dsession)))
- {
-ERR("Invalid session: %s", session);
-return EINA_FALSE;
- }
-
/* try to get the Session proxy */
if (!(proxy = eldbus_proxy_get(dobj, "org.freedesktop.login1.Session")))
  {
@@ -300,7 +293,7 @@ _ecore_drm_dbus_device_take_no_pending(uint32_t major, 
uint32_t minor, Eina_Bool
 }
 
 int 
-_ecore_drm_dbus_init(const char *session)
+_ecore_drm_dbus_init(Ecore_Drm_Device *dev)
 {
Eldbus_Proxy *proxy;
int ret = 0;
@@ -308,7 +301,7 @@ _ecore_drm_dbus_init(const char *session)
 
if (++_dbus_init_count != 1) return _dbus_init_count;
 
-   if (!session) return --_dbus_init_count;
+   if (!dev->session) return --_dbus_init_count;
 
/* try to init eldbus */
if (!eldbus_init())
@@ -317,8 +310,6 @@ _ecore_drm_dbus_init(const char *session)
 return --_dbus_init_count;
  }
 
-   dsession = eina_stringshare_add(session);
-
/* try to get the dbus connection */
if (!(dconn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM)))
  {
@@ -327,7 +318,7 @@ _ecore_drm_dbus_init(const char *session)
  }
 
/* assemble dbus path */
-   ret = asprintf(&dpath, "/org/freedesktop/login1/session/%s", session);
+   ret = asprintf(&dpath, "/org/freedesktop/login1/session/%s", dev->session);
if (ret < 0)
  {
 ERR("Could not assemble dbus path");
@@ -349,7 +340,7 @@ _ecore_drm_dbus_init(const char *session)
  }
 
eldbus_proxy_signal_handler_add(proxy, "SessionRemoved", 
-   _cb_session_removed, NULL);
+   _cb_session_removed, dev);
 
/* try to get the Session proxy */
if (!(proxy = eldbus_proxy_get(dobj, "org.freedesktop.login1.Session")))
@@ -374,17 +365,8 @@ _ecore_drm_dbus_init(const char *session)
eldbus_proxy_event_callback_add(proxy, ELDBUS_PROXY_EVENT_PROPERTY_CHANGED, 
_cb_properties_changed, NULL);
 
-   if (!_ecore_drm_dbus_session_take(dsession))
- {
-ERR("Failed to take control of session");
-goto session_err;
- }
-
return _dbus_init_count;

[EGIT] [core/efl] master 13/16: ecore-drm: Remove session parameter for internal function

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit c853181533df6ce39a55101ce91a3a0ba40f4550
Author: Chris Michael 
Date:   Thu Jan 22 13:16:19 2015 -0500

ecore-drm: Remove session parameter for internal function

The session take/release functions no longer require the name of the
session, so remove the function parameter

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index d3ccec5..444b1c0 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -265,7 +265,7 @@ int _ecore_drm_dbus_shutdown(void);
 int _ecore_drm_dbus_device_take(uint32_t major, uint32_t minor, 
Ecore_Drm_Open_Cb callback, void *data);
 int _ecore_drm_dbus_device_take_no_pending(uint32_t major, uint32_t minor, 
Eina_Bool *paused_out, double timeout);
 void _ecore_drm_dbus_device_release(uint32_t major, uint32_t minor);
-Eina_Bool _ecore_drm_dbus_session_take(const char *session);
-Eina_Bool _ecore_drm_dbus_session_release(const char *session);
+Eina_Bool _ecore_drm_dbus_session_take(void);
+Eina_Bool _ecore_drm_dbus_session_release(void);
 
 #endif

-- 




[EGIT] [core/efl] master 01/01: eet: add warning about security to be sure people don't use this function in the wrong context.

2015-01-26 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 686b10df5523f30765173c2392bda77155496b50
Author: Cedric BAIL 
Date:   Mon Jan 26 15:27:31 2015 +0100

eet: add warning about security to be sure people don't use this function 
in the wrong context.
---
 src/lib/eet/Eet.h | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/eet/Eet.h b/src/lib/eet/Eet.h
index de56b18..59560a5 100644
--- a/src/lib/eet/Eet.h
+++ b/src/lib/eet/Eet.h
@@ -2073,7 +2073,10 @@ eet_identity_print(Eet_Key *key,
  * checking will fail. The path to the certificate file must be a valid
  * file path to a 'pem' format file (the same used for siging with
  * eet_identity_open() as a certificate file).
- * 
+ *
+ * @note This function can not be used to provide any security mecanism. You
+ * need to check your x509 certificate against a chain of trust to have a 
proper
+ * security. This is just a convenience test function.
  * @warning You need to compile signature support in EET.
  * @since 1.13
  * @ingroup Eet_Cipher_Group

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: eet: add warning about security to be sure people don't use this function in the wrong context.

2015-01-26 Thread Tom Hacohen
No one is going to read this comment. Probably better to rename it to 
"verify_unsafe", or "verify_test".

--
Tom.

On 26/01/15 14:29, Cedric BAIL wrote:
> cedric pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=686b10df5523f30765173c2392bda77155496b50
>
> commit 686b10df5523f30765173c2392bda77155496b50
> Author: Cedric BAIL 
> Date:   Mon Jan 26 15:27:31 2015 +0100
>
>  eet: add warning about security to be sure people don't use this 
> function in the wrong context.
> ---
>   src/lib/eet/Eet.h | 5 -
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/lib/eet/Eet.h b/src/lib/eet/Eet.h
> index de56b18..59560a5 100644
> --- a/src/lib/eet/Eet.h
> +++ b/src/lib/eet/Eet.h
> @@ -2073,7 +2073,10 @@ eet_identity_print(Eet_Key *key,
>* checking will fail. The path to the certificate file must be a valid
>* file path to a 'pem' format file (the same used for siging with
>* eet_identity_open() as a certificate file).
> - *
> + *
> + * @note This function can not be used to provide any security mecanism. You
> + * need to check your x509 certificate against a chain of trust to have a 
> proper
> + * security. This is just a convenience test function.
>* @warning You need to compile signature support in EET.
>* @since 1.13
>* @ingroup Eet_Cipher_Group
>



--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [enlightenment/modules/tclock] master 01/01: convert config dialog to elementary

2015-01-26 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=2b57ff648b27cc174501d327c2c580dc6d014ac2

commit 2b57ff648b27cc174501d327c2c580dc6d014ac2
Author: Daniel Kolesa 
Date:   Mon Jan 26 17:18:30 2015 +

convert config dialog to elementary
---
 src/e_mod_config.c | 251 ++---
 1 file changed, 160 insertions(+), 91 deletions(-)

diff --git a/src/e_mod_config.c b/src/e_mod_config.c
index 98f66fc..9272af9 100644
--- a/src/e_mod_config.c
+++ b/src/e_mod_config.c
@@ -3,8 +3,10 @@
 
 struct _E_Config_Dialog_Data
 {
-  int show_date, show_time, show_tip;
-  char *time_format, *date_format, *tip_format;
+  E_Config_Dialog *cfd;
+  Eina_Bool show_time, show_date, show_tip;
+  Evas_Object *time_entry, *date_entry, *tip_entry;
+  const char *time_format, *date_format, *tip_format;
 };
 
 /* Protos */
@@ -12,9 +14,12 @@ static void *_create_data(E_Config_Dialog *cfd);
 static void _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data 
*cfdata);
 static Evas_Object *_basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, 
E_Config_Dialog_Data *cfdata);
 static int _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
-static void _cb_time_check(void *data, Evas_Object *obj);
-static void _cb_date_check(void *data, Evas_Object *obj);
-static void _cb_tooltip_check(void *data, Evas_Object *obj);
+
+static void
+_cb_changed(void *data, Evas_Object *obj, void *event __UNUSED__)
+{
+   e_config_dialog_changed_set(((E_Config_Dialog_Data *)data)->cfd, EINA_TRUE);
+}
 
 void
 _config_tclock_module(Config_Item *ci)
@@ -46,9 +51,9 @@ _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata)
cfdata->show_time = ci->show_time;
cfdata->show_date = ci->show_date;
cfdata->show_tip = ci->show_tip;
-   if (ci->time_format) cfdata->time_format = strdup(ci->time_format);
-   if (ci->date_format) cfdata->date_format = strdup(ci->date_format);
-   if (ci->tip_format) cfdata->tip_format = strdup(ci->tip_format);
+   if (ci->time_format) cfdata->time_format = 
eina_stringshare_add(ci->time_format);
+   if (ci->date_format) cfdata->date_format = 
eina_stringshare_add(ci->date_format);
+   if (ci->tip_format) cfdata->tip_format = 
eina_stringshare_add(ci->tip_format);
 }
 
 static void *
@@ -68,68 +73,159 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, 
E_Config_Dialog_Data *cfdata)
 {
if (!tclock_config) return;
tclock_config->config_dialog = NULL;
-   free(cfdata->time_format);
-   free(cfdata->date_format);
-   free(cfdata->tip_format);
+   eina_stringshare_del(cfdata->time_format);
+   eina_stringshare_del(cfdata->date_format);
+   eina_stringshare_del(cfdata->tip_format);
E_FREE(cfdata);
 }
 
 static Evas_Object *
-_basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, 
E_Config_Dialog_Data *cfdata)
+_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
 {
-   Evas_Object *o = NULL, *of = NULL, *ob = NULL;
+   Evas_Object *o = NULL, *of = NULL, *obx = NULL, *bx = NULL;
Evas_Object *time_entry = NULL, *time_check = NULL;
Evas_Object *date_entry = NULL, *date_check = NULL;
Evas_Object *tooltip_entry = NULL, *tooltip_check = NULL;
 
-   o = e_widget_list_add(evas, 0, 0);
-
-   of = e_widget_frametable_add(evas, D_("Top"), 1);
-   time_check =
- e_widget_check_add(evas, D_("Show Top Line"), &(cfdata->show_time));
-   e_widget_frametable_object_append(of, time_check, 0, 0, 1, 1, 1, 0, 1, 0);
-   time_entry = e_widget_entry_add(evas, &cfdata->time_format, NULL, NULL, 
NULL);
-   e_widget_on_change_hook_set(time_check, _cb_time_check, time_entry);
-   e_widget_disabled_set(time_entry, !cfdata->show_time);
-   e_widget_size_min_set(time_entry, 150, 20);
-   e_widget_frametable_object_append(of, time_entry, 0, 1, 1, 1, 1, 0, 1, 0);
-   ob =
- e_widget_label_add(evas, D_("Consult strftime(3) for format syntax"));
-   e_widget_frametable_object_append(of, ob, 0, 2, 1, 1, 1, 0, 1, 0);
-   e_widget_list_object_append(o, of, 1, 1, 0.5);
-
-   of = e_widget_frametable_add (evas, D_ ("Bottom"), 1);
-   date_check =
- e_widget_check_add(evas, D_("Show Bottom Line"), &(cfdata->show_date));
-   e_widget_frametable_object_append(of, date_check, 0, 0, 1, 1, 1, 0, 1, 0);
-   date_entry = e_widget_entry_add(evas, &(cfdata->date_format), 
-   NULL, NULL, NULL);
-   e_widget_on_change_hook_set(date_check, _cb_date_check, date_entry);
-   e_widget_disabled_set(date_entry, !cfdata->show_date);
-   e_widget_size_min_set(date_entry, 150, 20);
-   e_widget_frametable_object_append(of, date_entry, 0, 1, 1, 1, 1, 0, 1, 0);
-   ob =
- e_widget_label_add(evas, D_("Consult strftime(3) for format syntax"));
-   e_widget_frametable_object_append(of, ob, 0, 2, 1, 1, 1, 0, 1, 0);
-   e_widget_list_object_append(o, of, 1, 1, 0.5);
-
-   of = e_widget_frametable_add(evas, D_("Tool Tip"), 1);
-   tooltip_check =
- e_widget_check_ad

[EGIT] [enlightenment/modules/tclock] master 01/01: use eina_stringshare_ref instead of eina_stringshare_add

2015-01-26 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=5388680581b36b9072a08446ad4e015c282c528e

commit 5388680581b36b9072a08446ad4e015c282c528e
Author: Daniel Kolesa 
Date:   Mon Jan 26 17:24:03 2015 +

use eina_stringshare_ref instead of eina_stringshare_add
---
 src/e_mod_config.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/e_mod_config.c b/src/e_mod_config.c
index 9272af9..3a1bbf8 100644
--- a/src/e_mod_config.c
+++ b/src/e_mod_config.c
@@ -51,9 +51,9 @@ _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata)
cfdata->show_time = ci->show_time;
cfdata->show_date = ci->show_date;
cfdata->show_tip = ci->show_tip;
-   if (ci->time_format) cfdata->time_format = 
eina_stringshare_add(ci->time_format);
-   if (ci->date_format) cfdata->date_format = 
eina_stringshare_add(ci->date_format);
-   if (ci->tip_format) cfdata->tip_format = 
eina_stringshare_add(ci->tip_format);
+   if (ci->time_format) cfdata->time_format = 
eina_stringshare_ref(ci->time_format);
+   if (ci->date_format) cfdata->date_format = 
eina_stringshare_ref(ci->date_format);
+   if (ci->tip_format) cfdata->tip_format = 
eina_stringshare_ref(ci->tip_format);
 }
 
 static void *

-- 




Re: [E-devel] [EGIT] [enlightenment/modules/tclock] master 01/01: use eina_stringshare_ref instead of eina_stringshare_add

2015-01-26 Thread Tom Hacohen
On 26/01/15 17:24, Daniel Kolesa wrote:
> q66 pushed a commit to branch master.
>
> http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=5388680581b36b9072a08446ad4e015c282c528e
>
> commit 5388680581b36b9072a08446ad4e015c282c528e
> Author: Daniel Kolesa 
> Date:   Mon Jan 26 17:24:03 2015 +
>
>  use eina_stringshare_ref instead of eina_stringshare_add
> ---
>   src/e_mod_config.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/e_mod_config.c b/src/e_mod_config.c
> index 9272af9..3a1bbf8 100644
> --- a/src/e_mod_config.c
> +++ b/src/e_mod_config.c
> @@ -51,9 +51,9 @@ _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata)
>  cfdata->show_time = ci->show_time;
>  cfdata->show_date = ci->show_date;
>  cfdata->show_tip = ci->show_tip;
> -   if (ci->time_format) cfdata->time_format = 
> eina_stringshare_add(ci->time_format);
> -   if (ci->date_format) cfdata->date_format = 
> eina_stringshare_add(ci->date_format);
> -   if (ci->tip_format) cfdata->tip_format = 
> eina_stringshare_add(ci->tip_format);
> +   if (ci->time_format) cfdata->time_format = 
> eina_stringshare_ref(ci->time_format);
> +   if (ci->date_format) cfdata->date_format = 
> eina_stringshare_ref(ci->date_format);
> +   if (ci->tip_format) cfdata->tip_format = 
> eina_stringshare_ref(ci->tip_format);
>   }
>
>   static void *
>

It's fine to stringshare_ref NULL... No need to test it (unless you are 
doing it on purpose, i.e you don't want to override when NULL).

--
Tom.


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [enlightenment/modules/tclock] master 01/01: use elm label for popup

2015-01-26 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=eee6b70ec68d18096c319d4511e23bd060921e3e

commit eee6b70ec68d18096c319d4511e23bd060921e3e
Author: Daniel Kolesa 
Date:   Mon Jan 26 17:32:41 2015 +

use elm label for popup
---
 src/e_mod_main.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index e8d58be..c3f7398 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -24,7 +24,7 @@ static const char *_gc_id_new(const E_Gadcon_Client_Class 
*client_class __UNUSED
 
 /* Module Protos */
 static void _tclock_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object 
*obj __UNUSED__, void *event_info);
-static void _tclock_cb_mouse_in(void *data, Evas *e __UNUSED__, Evas_Object 
*obj __UNUSED__, void *event_info __UNUSED__);
+static void _tclock_cb_mouse_in(void *data, Evas *e, Evas_Object *obj 
__UNUSED__, void *event_info __UNUSED__);
 static void _tclock_cb_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object 
*obj __UNUSED__, void *event_info __UNUSED__);
 static void _tclock_menu_cb_configure(void *data, E_Menu *m __UNUSED__, 
E_Menu_Item *mi __UNUSED__);
 static void _tclock_menu_cb_post(void *data __UNUSED__, E_Menu *m __UNUSED__);
@@ -195,7 +195,7 @@ _tclock_cb_mouse_down(void *data, Evas *e __UNUSED__, 
Evas_Object *obj __UNUSED_
 }
 
 static void 
-_tclock_cb_mouse_in(void *data, Evas *e __UNUSED__, Evas_Object *obj 
__UNUSED__, void *event_info __UNUSED__) 
+_tclock_cb_mouse_in(void *data, Evas *e, Evas_Object *obj __UNUSED__, void 
*event_info __UNUSED__) 
 {
Instance *inst = NULL;
char buf[1024];
@@ -212,7 +212,8 @@ _tclock_cb_mouse_in(void *data, Evas *e __UNUSED__, 
Evas_Object *obj __UNUSED__,
local_time = localtime(¤t_time);
memset(buf, 0, sizeof(buf));
strftime(buf, 1024, inst->ci->tip_format, local_time);
-   inst->o_tip = e_widget_label_add(e_comp_get(inst->tip)->evas, buf);
+   inst->o_tip = elm_label_add(e_win_evas_win_get(e));
+   elm_object_text_set(inst->o_tip, buf);
 
e_gadcon_popup_content_set(inst->tip, inst->o_tip);
e_gadcon_popup_show(inst->tip);
@@ -318,7 +319,7 @@ _tclock_cb_check(void *data __UNUSED__)
if ((inst->ci->tip_format) && (inst->o_tip))
  {
  strftime(buf, 1024, inst->ci->tip_format, local_time);
-e_widget_label_text_set(inst->o_tip, buf);
+ elm_object_text_set(inst->o_tip, buf);
  }
  }
 

-- 




[EGIT] [enlightenment/modules/tclock] master 01/01: detab

2015-01-26 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=d0ed2d6e00b3e6652bc416a6e8d40098470e410c

commit d0ed2d6e00b3e6652bc416a6e8d40098470e410c
Author: Daniel Kolesa 
Date:   Mon Jan 26 17:36:28 2015 +

detab
---
 src/e_mod_main.c | 114 +++
 1 file changed, 57 insertions(+), 57 deletions(-)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index c3f7398..0438577 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -38,10 +38,10 @@ static Ecore_Timer *check_timer;
 Config *tclock_config = NULL;
 
 /* Define the class and gadcon functions this module provides */
-static const E_Gadcon_Client_Class _gc_class = 
+static const E_Gadcon_Client_Class _gc_class =
 {
-   GADCON_CLIENT_CLASS_VERSION, "tclock", 
- { _gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, 
+   GADCON_CLIENT_CLASS_VERSION, "tclock",
+ { _gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new,
   NULL, NULL },
E_GADCON_CLIENT_STYLE_PLAIN
 };
@@ -70,7 +70,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, 
const char *style)
 
o = edje_object_add(gc->evas);
snprintf(buf, sizeof(buf), "%s/tclock.edj", tclock_config->mod_dir);
-   if (!e_theme_edje_object_set(o, "base/theme/modules/tclock", 
+   if (!e_theme_edje_object_set(o, "base/theme/modules/tclock",
 "modules/tclock/main"))
  edje_object_file_set(o, buf, "modules/tclock/main");
evas_object_show(o);
@@ -115,10 +115,10 @@ _gc_shutdown(E_Gadcon_Client *gcc)
tclock_config->instances =
  eina_list_remove(tclock_config->instances, inst);
 
-   if (eina_list_count(tclock_config->instances) <= 0) 
+   if (eina_list_count(tclock_config->instances) <= 0)
  {
-   if (check_timer) ecore_timer_del(check_timer);
-   check_timer = NULL;
+if (check_timer) ecore_timer_del(check_timer);
+check_timer = NULL;
  }
 
E_FREE(inst);
@@ -185,17 +185,17 @@ _tclock_cb_mouse_down(void *data, Evas *e __UNUSED__, 
Evas_Object *obj __UNUSED_
 m = e_gadcon_client_util_menu_items_append(inst->gcc, m, 0);
 e_menu_post_deactivate_callback_set(m, _tclock_menu_cb_post, inst);
 tclock_config->menu = m;
-   
+
 e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, 
NULL);
 e_menu_activate_mouse (m,
-   
e_util_zone_current_get(e_manager_current_get()), 
+   
e_util_zone_current_get(e_manager_current_get()),
x + ev->output.x, y + ev->output.y, 1, 1,
E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
  }
 }
 
-static void 
-_tclock_cb_mouse_in(void *data, Evas *e, Evas_Object *obj __UNUSED__, void 
*event_info __UNUSED__) 
+static void
+_tclock_cb_mouse_in(void *data, Evas *e, Evas_Object *obj __UNUSED__, void 
*event_info __UNUSED__)
 {
Instance *inst = NULL;
char buf[1024];
@@ -219,8 +219,8 @@ _tclock_cb_mouse_in(void *data, Evas *e, Evas_Object *obj 
__UNUSED__, void *even
e_gadcon_popup_show(inst->tip);
 }
 
-static void 
-_tclock_cb_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object *obj 
__UNUSED__, void *event_info __UNUSED__) 
+static void
+_tclock_cb_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object *obj 
__UNUSED__, void *event_info __UNUSED__)
 {
Instance *inst = NULL;
 
@@ -288,39 +288,39 @@ _tclock_cb_check(void *data __UNUSED__)
 
current_time = time(NULL);
local_time = localtime(¤t_time);
-   for (l = tclock_config->instances; l; l = l->next) 
+   for (l = tclock_config->instances; l; l = l->next)
  {
-   inst = l->data;
-
-   if (!inst->ci->show_time)
- edje_object_signal_emit(inst->tclock, "time_hidden", "");
-   else
- edje_object_signal_emit(inst->tclock, "time_visible", "");
-   edje_object_message_signal_process(inst->tclock);
-   
-   if (!inst->ci->show_date)
- edje_object_signal_emit(inst->tclock, "date_hidden", "");
-   else
- edje_object_signal_emit(inst->tclock, "date_visible", "");
-   edje_object_message_signal_process(inst->tclock);
-
-   memset(buf, 0, sizeof(buf));
-
-   if (inst->ci->time_format)
- {
+inst = l->data;
+
+if (!inst->ci->show_time)
+  edje_object_signal_emit(inst->tclock, "time_hidden", "");
+else
+  edje_object_signal_emit(inst->tclock, "time_visible", "");
+edje_object_message_signal_process(inst->tclock);
+
+if (!inst->ci->show_date)
+  edje_object_signal_emit(inst->tclock, "date_hidden", "");
+else
+  edje_object_signal_emit(inst->tclock, "date_visible", "");
+edje_object_message_signal_process(inst->tclock);
+
+memset(buf, 0, sizeof(buf));
+
+if (inst->ci->time_format)
+  {
  strftime(buf, 1024, inst->ci-

[EGIT] [core/enlightenment] master 02/05: de-e_comp_get()-ify lokker module

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=4753c56d429468b2113b86e385c30d25333ff69d

commit 4753c56d429468b2113b86e385c30d25333ff69d
Author: Chris Michael 
Date:   Mon Jan 26 14:32:32 2015 -0500

de-e_comp_get()-ify lokker module

Signed-off-by: Chris Michael 
---
 src/modules/lokker/lokker.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/lokker/lokker.c b/src/modules/lokker/lokker.c
index 038784f..152969e 100644
--- a/src/modules/lokker/lokker.c
+++ b/src/modules/lokker/lokker.c
@@ -354,7 +354,7 @@ _lokker_popup_add(E_Zone *zone)
bg = cbg ? cbg->file : NULL;
 
lp->zone = zone;
-   evas = e_comp_get(zone)->evas;
+   evas = e_comp->evas;
evas_event_freeze(evas);
lp->bg_object = edje_object_add(evas);
evas_object_name_set(lp->bg_object, "desklock->bg_object");

-- 




[EGIT] [core/enlightenment] master 05/05: make desklock timeouts work in wayland-only. Fixes T1818

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit bf8fde1948ddcd30b8bc8b88414eaec67ef15cd3
Author: Chris Michael 
Date:   Mon Jan 26 14:51:17 2015 -0500

make desklock timeouts work in wayland-only. Fixes T1818

Signed-off-by: Chris Michael 
---
 src/bin/e_desklock.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_desklock.c b/src/bin/e_desklock.c
index 430e5de..8a72f50 100644
--- a/src/bin/e_desklock.c
+++ b/src/bin/e_desklock.c
@@ -425,12 +425,9 @@ _e_desklock_cb_idle_poller(void *data __UNUSED__)
 
 #ifndef HAVE_WAYLAND_ONLY
 idle = ecore_x_screensaver_idle_time_get();
+#else
+idle = e_comp_wl_idle_time_get();
 #endif
-/* FIXME: We need to get the idle time from ecore_wayland or 
- * ecore_drm here. The problem is, we do not link to ecore_drm library 
- * other than the wl_drm module, and idle_time from ecore_wayland 
- * library will only work if the comp->ee is created using 
- * ecore_evas_wayland */
 
 max = e_config->desklock_autolock_idle_timeout;
 if (_e_desklock_ask_presentation_count > 0)

-- 




[EGIT] [core/enlightenment] master 04/05: add function to return input idle time in wayland compositor

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit e647105421cff9b1ab95557317e939cc81a7c10a
Author: Chris Michael 
Date:   Mon Jan 26 14:50:58 2015 -0500

add function to return input idle time in wayland compositor

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl.c | 37 +
 1 file changed, 33 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 79eb525..687110d 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -26,6 +26,7 @@ static void _e_comp_wl_client_idler_add(E_Client *ec);
 static Eina_List *handlers = NULL;
 static Eina_List *_idle_clients = NULL;
 static Ecore_Idle_Enterer *_client_idler = NULL;
+static double _last_event_time = 0.0;
 
 /* local functions */
 static void 
@@ -825,6 +826,13 @@ _e_comp_wl_cb_comp_object_add(void *data EINA_UNUSED, int 
type EINA_UNUSED, E_Ev
return ECORE_CALLBACK_RENEW;
 }
 
+static Eina_Bool 
+_e_comp_wl_cb_input_event(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*ev)
+{
+   _last_event_time = ecore_loop_time_get();
+   return ECORE_CALLBACK_RENEW;
+}
+
 static void 
 _e_comp_wl_surface_cb_destroy(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource)
 {
@@ -876,7 +884,7 @@ _e_comp_wl_surface_cb_attach(struct wl_client *client 
EINA_UNUSED, struct wl_res
 return;
  }
 
-   DBG("Surface Attach: %d", wl_resource_get_id(resource));
+   /* DBG("Surface Attach: %d", wl_resource_get_id(resource)); */
 
/* reset client pending information */
ec->comp_data->pending.x = sx;
@@ -926,8 +934,8 @@ _e_comp_wl_surface_cb_damage(struct wl_client *client 
EINA_UNUSED, struct wl_res
if (e_object_is_del(E_OBJECT(ec))) return;
if (!ec->comp_data) return;
 
-   DBG("Surface Cb Damage: %d", wl_resource_get_id(resource));
-   DBG("\tGeom: %d %d %d %d", x, y, w, h);
+   /* DBG("Surface Cb Damage: %d", wl_resource_get_id(resource)); */
+   /* DBG("\tGeom: %d %d %d %d", x, y, w, h); */
 
/* create new damage rectangle */
if (!(dmg = eina_rectangle_new(x, y, w, h))) return;
@@ -1100,7 +1108,7 @@ _e_comp_wl_surface_cb_commit(struct wl_client *client 
EINA_UNUSED, struct wl_res
/* trap for clients which are being deleted */
if (e_object_is_del(E_OBJECT(ec))) return;
 
-   DBG("Surface Commit: %d", wl_resource_get_id(resource));
+   /* DBG("Surface Commit: %d", wl_resource_get_id(resource)); */
 
/* call the subsurface commit function
 * 
@@ -2501,6 +2509,19 @@ e_comp_wl_init(void)
E_LIST_HANDLER_APPEND(handlers, E_EVENT_COMP_OBJECT_ADD, 
  _e_comp_wl_cb_comp_object_add, NULL);
 
+   E_LIST_HANDLER_APPEND(handlers, ECORE_EVENT_KEY_DOWN, 
+ _e_comp_wl_cb_input_event, NULL);
+   E_LIST_HANDLER_APPEND(handlers, ECORE_EVENT_KEY_UP, 
+ _e_comp_wl_cb_input_event, NULL);
+   E_LIST_HANDLER_APPEND(handlers, ECORE_EVENT_MOUSE_BUTTON_DOWN, 
+ _e_comp_wl_cb_input_event, NULL);
+   E_LIST_HANDLER_APPEND(handlers, ECORE_EVENT_MOUSE_BUTTON_UP, 
+ _e_comp_wl_cb_input_event, NULL);
+   E_LIST_HANDLER_APPEND(handlers, ECORE_EVENT_MOUSE_MOVE, 
+ _e_comp_wl_cb_input_event, NULL);
+   E_LIST_HANDLER_APPEND(handlers, ECORE_EVENT_MOUSE_WHEEL, 
+ _e_comp_wl_cb_input_event, NULL);
+
/* add hooks to catch e_client events */
e_client_hook_add(E_CLIENT_HOOK_NEW_CLIENT, _e_comp_wl_client_cb_new, NULL);
e_client_hook_add(E_CLIENT_HOOK_DEL, _e_comp_wl_client_cb_del, NULL);
@@ -2520,6 +2541,8 @@ e_comp_wl_init(void)
e_client_hook_add(E_CLIENT_HOOK_RESIZE_END, 
  _e_comp_wl_client_cb_resize_end, NULL);
 
+   _last_event_time = ecore_loop_time_get();
+
return EINA_TRUE;
 }
 
@@ -2779,3 +2802,9 @@ e_comp_wl_subsurface_commit(E_Client *ec)
 
return EINA_TRUE;
 }
+
+EAPI double 
+e_comp_wl_idle_time_get(void)
+{
+   return (ecore_loop_time_get() - _last_event_time);
+}

-- 




[EGIT] [core/enlightenment] master 01/05: remove unused inline function

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 3d9e6cd934e01fc95a3cca77d80c740493b3ee6b
Author: Chris Michael 
Date:   Mon Jan 26 09:28:14 2015 -0500

remove unused inline function

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl.h | 6 --
 1 file changed, 6 deletions(-)

diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index 037aa8e..f645ee1 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -277,11 +277,5 @@ EINTERN void 
e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, E_Comp_Wl_Buf
 
 EAPI struct wl_signal e_comp_wl_surface_create_signal_get(E_Comp *comp);
 
-static inline uint64_t
-e_comp_wl_id_get(uint32_t client, uint32_t surface)
-{
-   return ((uint64_t)surface << 32) + (uint64_t)client;
-}
-
 # endif
 #endif

-- 




[EGIT] [core/enlightenment] master 03/05: add function prototype for getting idle time

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit c6a5f9448c8fa6bb737cb876d76b6d6c10ec08ef
Author: Chris Michael 
Date:   Mon Jan 26 14:48:47 2015 -0500

add function prototype for getting idle time

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index f645ee1..62aaeca 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -276,6 +276,7 @@ EINTERN Eina_Bool e_comp_wl_subsurface_commit(E_Client *ec);
 EINTERN void e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, 
E_Comp_Wl_Buffer *buffer);
 
 EAPI struct wl_signal e_comp_wl_surface_create_signal_get(E_Comp *comp);
+EAPI double e_comp_wl_idle_time_get(void);
 
 # endif
 #endif

-- 




[EGIT] [core/enlightenment] master 01/01: add EINA_UNUSED for unused function paramater

2015-01-26 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit c024e4bc1726ccfdaec8d24c1f4fda72f071e74a
Author: Chris Michael 
Date:   Mon Jan 26 14:54:55 2015 -0500

add EINA_UNUSED for unused function paramater

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 687110d..10e40cf 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -827,7 +827,7 @@ _e_comp_wl_cb_comp_object_add(void *data EINA_UNUSED, int 
type EINA_UNUSED, E_Ev
 }
 
 static Eina_Bool 
-_e_comp_wl_cb_input_event(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*ev)
+_e_comp_wl_cb_input_event(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*ev EINA_UNUSED)
 {
_last_event_time = ecore_loop_time_get();
return ECORE_CALLBACK_RENEW;

-- 




[EGIT] [core/efl] master 01/03: Revert "efl - edje_cc - fix default state checks in previous commit"

2015-01-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 0b99f4ee05e7dc48f75d8362f340d8c13b6319ca
Author: Mike Blumenkrantz 
Date:   Mon Jan 26 14:33:52 2015 -0500

Revert "efl - edje_cc - fix default state checks in previous commit"

This reverts commit 82014cad2c11b40e455e0578d22f09b04ebd1e5c.
---
 src/bin/edje/edje_cc_handlers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index df2b1d2..dfb8ed4 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -6478,7 +6478,7 @@ st_collections_group_parts_part_description_state(void)
if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
 
s = parse_str(0);
-   if ((!current_group_inherit) && (!strcmp(s, "default")))
+   if (!strcmp(s, "default"))
  {
 double v;
 
@@ -6500,7 +6500,7 @@ st_collections_group_parts_part_description_state(void)
 file_in, line - 1, s);
 exit(-1);
  }
-   if ((!current_group_inherit) && (ed == ep->default_desc))
+   if (ed == ep->default_desc)
  {
 if (strcmp(s, "default"))
   {

-- 




[EGIT] [core/efl] master 03/03: edje_cc must error when first provided state description is not "default" 0.0

2015-01-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit ae16cb648ad50ba45597b5bb08961a012a1e98fa
Author: Mike Blumenkrantz 
Date:   Mon Jan 26 15:02:51 2015 -0500

edje_cc must error when first provided state description is not "default" 
0.0

correctly @fix T1926 without breaking existing apps/syntax
---
 src/bin/edje/edje_cc_handlers.c | 24 +---
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index aebb953..ab878f6 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -6469,14 +6469,12 @@ st_collections_group_parts_part_description_state(void)
Edje_Part *ep;
Edje_Part_Description_Common *ed;
char *s;
+   double val;
 
check_min_arg_count(1);
 
ep = current_part;
 
-   ed = ep->default_desc;
-   if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
-
s = parse_str(0);
if (!strcmp (s, "custom"))
  {
@@ -6484,13 +6482,25 @@ st_collections_group_parts_part_description_state(void)
 file_in, line - 1, s);
 exit(-1);
  }
+   if (get_arg_count() == 1)
+ val = 0.0;
+   else
+ val = parse_float_range(1, 0.0, 1.0);
+
+   /* if only default desc exists and current desc is not default, commence 
paddling */
+   if ((!ep->other.desc_count) && (val || (!eina_streq(s, "default"
+ {
+ERR("parse error %s:%i. invalid state name: '%s'. \"default\" state 
must always be first.",
+file_in, line - 1, s);
+exit(-1);
+ }
+   ed = ep->default_desc;
+   if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
 
free((void *)ed->state.name);
ed->state.name = s;
-   if (get_arg_count() == 1)
- ed->state.value = 0.0;
-   else
- ed->state.value = parse_float_range(1, 0.0, 1.0);
+   ed->state.value = val;
+
_part_description_state_update(ed);
 }
 

-- 




[EGIT] [core/efl] master 02/03: Revert "edje - edje_cc - fix wrong state lists where default is not the first"

2015-01-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit a5217c7c534407edce180389460b5e8708e7fb02
Author: Mike Blumenkrantz 
Date:   Mon Jan 26 14:33:55 2015 -0500

Revert "edje - edje_cc - fix wrong state lists where default is not the 
first"

This reverts commit 0cb33a46758bd1f66653e97d7ad027a9529b1279.

broke existing edc syntax. SPANK SPANK SPANK!!
---
 src/bin/edje/edje_cc_handlers.c | 27 +--
 1 file changed, 1 insertion(+), 26 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index dfb8ed4..aebb953 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -6478,37 +6478,12 @@ st_collections_group_parts_part_description_state(void)
if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
 
s = parse_str(0);
-   if (!strcmp(s, "default"))
- {
-double v;
-
-if (get_arg_count() == 1) v = 0.0;
-else v = parse_float_range(1, 0.0, 1.0);
-if (v == 0.0)
-  {
- if (ed != ep->default_desc)
-   {
-  ERR("parse error %s:%i. description state '%s' %1.2f is not 
the first state listed",
-  file_in, line - 1, s, v);
-  exit(-1);
-   }
-  }
- }
-   if (!strcmp(s, "custom"))
+   if (!strcmp (s, "custom"))
  {
 ERR("parse error %s:%i. invalid state name: '%s'.",
 file_in, line - 1, s);
 exit(-1);
  }
-   if (ed == ep->default_desc)
- {
-if (strcmp(s, "default"))
-  {
- ERR("parse error %s:%i.  first state is not 'default'",
- file_in, line - 1);
- exit(-1);
-  }
- }
 
free((void *)ed->state.name);
ed->state.name = s;

-- 




[EGIT] [apps/ephoto] master 01/01: Ephoto: Bump config version: Remember fsel hidden state for next time opened.

2015-01-26 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=a5fb4b25c4f219261544e7b7c76010499b879c2f

commit a5fb4b25c4f219261544e7b7c76010499b879c2f
Author: Stephen Houston 
Date:   Mon Jan 26 16:21:31 2015 -0600

Ephoto: Bump config version: Remember fsel hidden state for next time 
opened.
---
 src/bin/ephoto.h   | 1 +
 src/bin/ephoto_config.c| 5 +++--
 src/bin/ephoto_thumb_browser.c | 6 ++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/bin/ephoto.h b/src/bin/ephoto.h
index 419179e..5c7caa2 100644
--- a/src/bin/ephoto.h
+++ b/src/bin/ephoto.h
@@ -102,6 +102,7 @@ struct _Ephoto_Config
Evas_Object *window;
Evas_Object *slide_time;
Evas_Object *slide_trans;
+   int fsel_hide;
 };
 
 struct _Ephoto
diff --git a/src/bin/ephoto_config.c b/src/bin/ephoto_config.c
index e7156fd..0812ff0 100644
--- a/src/bin/ephoto_config.c
+++ b/src/bin/ephoto_config.c
@@ -1,6 +1,6 @@
 #include "ephoto.h"
 
-#define CONFIG_VERSION 9
+#define CONFIG_VERSION 10
 
 static int _ephoto_config_load(Ephoto *ephoto);
 static Eina_Bool _ephoto_on_config_save(void *data);
@@ -38,7 +38,7 @@ ephoto_config_init(Ephoto *ephoto)
C_VAL(D, T, editor, EET_T_STRING);
C_VAL(D, T, window_width, EET_T_INT);
C_VAL(D, T, window_height, EET_T_INT);
-
+   C_VAL(D, T, fsel_hide, EET_T_INT);
switch (_ephoto_config_load(ephoto))
  {
   case 0:
@@ -49,6 +49,7 @@ ephoto_config_init(Ephoto *ephoto)
  ephoto->config->editor = eina_stringshare_add("gimp %s");
  ephoto->config->window_width = 900;
  ephoto->config->window_height = 600;
+ ephoto->config->fsel_hide = 0;
  break;
   default:
  return EINA_TRUE;
diff --git a/src/bin/ephoto_thumb_browser.c b/src/bin/ephoto_thumb_browser.c
index b57b728..d5c682a 100644
--- a/src/bin/ephoto_thumb_browser.c
+++ b/src/bin/ephoto_thumb_browser.c
@@ -367,6 +367,8 @@ _ephoto_dir_show_folders(void *data, Evas_Object *o 
EINA_UNUSED, void *event_inf
 
evas_object_show(tb->leftbox);
elm_box_pack_start(tb->main, tb->leftbox);
+
+   tb->ephoto->config->fsel_hide = 0;
 }
 
 static void
@@ -418,6 +420,7 @@ _ephoto_dir_hide_folders(void *data, Evas_Object *o 
EINA_UNUSED, void *event_inf
elm_box_pack_end(tb->bleftbox, but);
evas_object_show(but);
 
+   tb->ephoto->config->fsel_hide = 1;
 }
 
 static void
@@ -941,6 +944,9 @@ ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object 
*parent)
   (tb->handlers, ecore_event_handler_add
(EPHOTO_EVENT_ENTRY_CREATE, _ephoto_thumb_entry_create, tb));
 
+   if (tb->ephoto->config->fsel_hide)
+ evas_object_smart_callback_call(but, "clicked", tb);
+
return tb->main;
 
  error:

-- 




[EGIT] [enlightenment/modules/places] master 01/01: Redone the config panel using elm

2015-01-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=27c26a47a5b0f5b8040f9c2a8a7226667984f972

commit 27c26a47a5b0f5b8040f9c2a8a7226667984f972
Author: Dave Andreoli 
Date:   Mon Jan 26 23:44:29 2015 +0100

Redone the config panel using elm

The e_widget version was a little broken by recent e changes
---
 src/e_mod_config.c | 225 +++--
 1 file changed, 116 insertions(+), 109 deletions(-)

diff --git a/src/e_mod_config.c b/src/e_mod_config.c
index 5448728..a87859d 100644
--- a/src/e_mod_config.c
+++ b/src/e_mod_config.c
@@ -5,21 +5,21 @@
 
 struct _E_Config_Dialog_Data
 {
-   int auto_mount;
-   int boot_mount;
-   int auto_open;
-   char *fm;
-   int fm_chk;
+   Eina_Bool auto_mount;
+   Eina_Bool boot_mount;
+   Eina_Bool auto_open;
+   Eina_Bool fm_chk;
+   Eina_Bool show_menu;
+   Eina_Bool hide_header;
+   Eina_Bool autoclose_popup;
+   Eina_Bool show_home;
+   Eina_Bool show_desk;
+   Eina_Bool show_trash;
+   Eina_Bool show_root;
+   Eina_Bool show_temp;
+   Eina_Bool show_bookm;
Evas_Object *entry;
-   int show_menu;
-   int hide_header;
-   int autoclose_popup;
-   int show_home;
-   int show_desk;
-   int show_trash;
-   int show_root;
-   int show_temp;
-   int show_bookm;
+   Evas_Object *auto_open_chk;
 };
 
 /* Local Function Prototypes */
@@ -72,7 +72,6 @@ _create_data(E_Config_Dialog *cfd)
 static void
 _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
 {
-   free(cfdata->fm);
places_conf->cfd = NULL;
E_FREE(cfdata);
 }
@@ -84,7 +83,6 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->auto_mount = places_conf->auto_mount;
cfdata->boot_mount = places_conf->boot_mount;
cfdata->auto_open = places_conf->auto_open;
-
cfdata->show_menu = places_conf->show_menu;
cfdata->hide_header = places_conf->hide_header;
cfdata->autoclose_popup = places_conf->autoclose_popup;
@@ -94,116 +92,126 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->show_root = places_conf->show_root;
cfdata->show_temp = places_conf->show_temp;
cfdata->show_bookm = places_conf->show_bookm;
-
-   if (places_conf->fm)
- cfdata->fm = strdup(places_conf->fm);
-   else
- cfdata->fm = strdup("");
 }
 
-void _custom_fm_click(void *data, Evas_Object *obj)
+static void
+_mount_on_insert_chk_changed_cb(void *data, Evas_Object *obj, void *event 
__UNUSED__)
 {
E_Config_Dialog_Data *cfdata = data;
 
-   if (e_widget_check_checked_get(obj))
- e_widget_disabled_set(cfdata->entry, 0);
+   if (elm_check_state_get(obj))
+ elm_object_disabled_set(cfdata->auto_open_chk, EINA_FALSE);
else
  {
-e_widget_disabled_set(cfdata->entry, 1);
-e_widget_entry_text_set(cfdata->entry, "");
+elm_object_disabled_set(cfdata->auto_open_chk, EINA_TRUE);
+elm_check_state_set(cfdata->auto_open_chk, EINA_FALSE);
  }
 }
 
-void _mount_on_insert_click(void *data, Evas_Object *obj)
+static void
+_custom_fm_chk_changed_cb(void *data, Evas_Object *obj, void *event __UNUSED__)
 {
-   Evas_Object *ow = data;
+   Evas_Object *en = data;
 
-   if (e_widget_check_checked_get(obj))
- e_widget_disabled_set(ow, 0);
-   else
- {
-e_widget_check_checked_set(ow, 0);
-e_widget_disabled_set(ow, 1);
- }
+   elm_object_disabled_set(en, !elm_check_state_get(obj));
+   if (!elm_check_state_get(obj))
+ elm_object_text_set(en, NULL);
 }
 
-static Evas_Object *
-_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
+static void
+_all_changed_cb(void *data, Evas_Object *obj __UNUSED__, void *event 
__UNUSED__)
 {
-   Evas_Object *o = NULL, *of = NULL, *ow = NULL, *ow1 = NULL;
-
-   o = e_widget_list_add(evas, 0, 0);
-
-   //General frame
-   of = e_widget_framelist_add(evas, D_("General"), 0);
-   e_widget_framelist_content_align_set(of, 0.0, 0.0);
-
-   ow = e_widget_check_add(evas, D_("Show in main menu"),
-   &(cfdata->show_menu));
-   e_widget_framelist_object_append(of, ow);
-
-   ow = e_widget_check_add(evas, D_("Hide the gadget header"),
-   &(cfdata->hide_header));
-   e_widget_framelist_object_append(of, ow);
-
-   ow = e_widget_check_add(evas, D_("Auto close the popup"),
-   &(cfdata->autoclose_popup));
-   e_widget_framelist_object_append(of, ow);
-
-   ow = e_widget_check_add(evas, D_("Mount volumes at boot"),
-   &(cfdata->boot_mount));
-   e_widget_framelist_object_append(of, ow);
-
-   ow1 = e_widget_check_add(evas, D_("Mount volumes on insert"),
-   &(cfdata->auto_mount));
-   e_widget_framelist_object_append(of, ow1);
-
-   ow = e_widget_check_add(evas, D_("Open filemanager on insert"),
-   &(cfdata->auto_open));
-   e_widget_framelist_object_append(of, ow);
-   e_widget_on_change_hook_set(ow1, _mount_on_insert_click, ow);
-   if (!cfdata

Re: [E-devel] [EGIT] [core/efl] master 03/03: edje_cc must error when first provided state description is not "default" 0.0

2015-01-26 Thread Davide Andreoli
2015-01-26 21:07 GMT+01:00 Mike Blumenkrantz :

> discomfitor pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=ae16cb648ad50ba45597b5bb08961a012a1e98fa
>
> commit ae16cb648ad50ba45597b5bb08961a012a1e98fa
> Author: Mike Blumenkrantz 
> Date:   Mon Jan 26 15:02:51 2015 -0500
>
> edje_cc must error when first provided state description is not
> "default" 0.0
>
> correctly @fix T1926 without breaking existing apps/syntax
>

Thanks man !!


> ---
>  src/bin/edje/edje_cc_handlers.c | 24 +---
>  1 file changed, 17 insertions(+), 7 deletions(-)
>
> diff --git a/src/bin/edje/edje_cc_handlers.c
> b/src/bin/edje/edje_cc_handlers.c
> index aebb953..ab878f6 100644
> --- a/src/bin/edje/edje_cc_handlers.c
> +++ b/src/bin/edje/edje_cc_handlers.c
> @@ -6469,14 +6469,12 @@
> st_collections_group_parts_part_description_state(void)
> Edje_Part *ep;
> Edje_Part_Description_Common *ed;
> char *s;
> +   double val;
>
> check_min_arg_count(1);
>
> ep = current_part;
>
> -   ed = ep->default_desc;
> -   if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count -
> 1];
> -
> s = parse_str(0);
> if (!strcmp (s, "custom"))
>   {
> @@ -6484,13 +6482,25 @@
> st_collections_group_parts_part_description_state(void)
>  file_in, line - 1, s);
>  exit(-1);
>   }
> +   if (get_arg_count() == 1)
> + val = 0.0;
> +   else
> + val = parse_float_range(1, 0.0, 1.0);
> +
> +   /* if only default desc exists and current desc is not default,
> commence paddling */
> +   if ((!ep->other.desc_count) && (val || (!eina_streq(s, "default"
> + {
> +ERR("parse error %s:%i. invalid state name: '%s'. \"default\"
> state must always be first.",
> +file_in, line - 1, s);
> +exit(-1);
> + }
> +   ed = ep->default_desc;
> +   if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count -
> 1];
>
> free((void *)ed->state.name);
> ed->state.name = s;
> -   if (get_arg_count() == 1)
> - ed->state.value = 0.0;
> -   else
> - ed->state.value = parse_float_range(1, 0.0, 1.0);
> +   ed->state.value = val;
> +
> _part_description_state_update(ed);
>  }
>
>
> --
>
>
>
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/edi] master 01/01: Merge in the new elm_code widget.

2015-01-26 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=66b79dd0e290ebcfc3ab50e0a5136bb9b23833b7

commit 66b79dd0e290ebcfc3ab50e0a5136bb9b23833b7
Merge: 664cff7 ba60959
Author: Andy Williams 
Date:   Mon Jan 26 23:14:17 2015 +

Merge in the new elm_code widget.

This provides the new eo API and handles focus and a cursor now too!

 configure.ac  |  10 +
 elm_code/bin/elm_code_test_main.c |  21 +-
 elm_code/lib/Elm_Code.h   |   2 +-
 elm_code/lib/Makefile.am  |   4 +-
 elm_code/lib/elm_code.c   |   2 +-
 elm_code/lib/elm_code_common.h|   1 +
 elm_code/lib/elm_code_diff_widget.c   |  21 +-
 elm_code/lib/elm_code_widget.c| 387 --
 elm_code/lib/elm_code_widget.eo   |  80 +++
 elm_code/lib/elm_code_widget.eo.c |  70 ++
 elm_code/lib/elm_code_widget.eo.h |  99 +
 elm_code/lib/elm_code_widget.h|  41 
 elm_code/lib/regen.sh |   8 +
 elm_code/tests/Makefile.am|   2 +
 elm_code/tests/elm_code_test_widget.c |   4 +-
 src/bin/edi_consolepanel.c|   8 +-
 src/bin/edi_logpanel.c|   8 +-
 src/tests/edi_test_content_provider.c |   2 +-
 18 files changed, 639 insertions(+), 131 deletions(-)

-- 




[EGIT] [apps/rage] master 01/01: Better Exec line in the desktop file

2015-01-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/rage.git/commit/?id=6265d0dd71a876638e9b7bd5cf666e4f36d45070

commit 6265d0dd71a876638e9b7bd5cf666e4f36d45070
Author: Dave Andreoli 
Date:   Tue Jan 27 00:22:18 2015 +0100

Better Exec line in the desktop file

%U means that rage can accept one or more urls as params

Whitout this filemanagers (nemo at least) never list rage
as a suggested default for your files and you cannot
set rage as your default player.
---
 data/desktop/rage.desktop | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/desktop/rage.desktop b/data/desktop/rage.desktop
index 5d4470e..fcb9598 100644
--- a/data/desktop/rage.desktop
+++ b/data/desktop/rage.desktop
@@ -6,7 +6,7 @@ GenericName=Video Player
 GenericName[ru]=Видеоплеер
 Comment=Video player
 Comment[ru]=Видеоплеер
-Exec=rage
+Exec=rage %U
 Icon=rage
 Categories=AudioVideo;Player;
 StartupWMClass=rage

-- 




[EGIT] [apps/ephoto] master 01/01: Better Exec line in the desktop file

2015-01-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=59fab60f1b787aaf716ad08bbd2014d981e0c9d0

commit 59fab60f1b787aaf716ad08bbd2014d981e0c9d0
Author: Dave Andreoli 
Date:   Tue Jan 27 00:24:31 2015 +0100

Better Exec line in the desktop file

%u means that ephoto accept a single url as param

Whitout this filemanagers (nemo at least) never list ephoto
as a suggested default for your files and you cannot
set it as your default viewer.
---
 data/desktop/ephoto.desktop | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/desktop/ephoto.desktop b/data/desktop/ephoto.desktop
index 50e1ba2..3a8c414 100644
--- a/data/desktop/ephoto.desktop
+++ b/data/desktop/ephoto.desktop
@@ -29,7 +29,7 @@ Comment[ru]=Просмотр фото
 Comment[sr]=Просвећени прегледник слика
 Comment[tr]=Fotoğraf görüntüleyici
 Icon=ephoto
-Exec=ephoto
+Exec=ephoto %u
 Terminal=false
 
MimeType=inode/directory;image/png;image/jpeg;image/pjpeg;image/x-xpixmap;image/tiff;image/svg+xml;image/svg+xml-compressed;image/gif;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/bmp;image/x-bmp;image/x-tga;image/vnd.wap.wbmp;image/webp;image/vnd.microsoft.icon;image/ico;image/x-ico;image/x-win-bitmap;image/vnd.adobe.photoshop;image/x-psd;application/pdf;application/x-pdf;image/pdf;application/postscript;image/x-xcf;image/x-compre
 [...]
 Categories=Graphics;Viewer;

-- 




[EGIT] [tools/edi] master 01/01: Update TODO with recent changes

2015-01-26 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=6dcfb21d3ec60ef97975a55fd2919947fe374f13

commit 6dcfb21d3ec60ef97975a55fd2919947fe374f13
Author: Andy Williams 
Date:   Mon Jan 26 23:30:17 2015 +

Update TODO with recent changes
---
 TODO | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/TODO b/TODO
index 6fc0162..0970f14 100644
--- a/TODO
+++ b/TODO
@@ -1,11 +1,12 @@
 This project is in heavy development, we are currenty working towards the
 "Code aware editor" phase, the following work is still to be done:
 
-* Replace in file
+* Tidy test panel output - summarise run and click to show test
+
 * Redo changes that have been undone
 * Add a menu for easier access to some features
 * Search / replace in project / directory
-* Integrate elm_code project (cedric and TAsn)
+* Integrate elm_code project (cedric, ajwillia-ms and TAsn)
   - Code folding
   - Automatic code indenting / formatting
   - Code expansion (nested display of function call body)

-- 




Re: [E-devel] Trouble compiling an eo.c file

2015-01-26 Thread Andrew Williams

On 25/01/15 02:16, Carsten Haitzler (The Rasterman) wrote:
> On Sat, 24 Jan 2015 18:53:15 + Tom Hacohen  said:
>
>> Ask raster?
> yeah. only the author can do this. eo stuff changed around after i wrote this
> post - so yes - it has details that are off (but general gist is correct)
> someone summarize what they want me to change so i dont have to spend the time
> figuring it out myself :)
Hey Raster,

The main thing that tripped me up is

#define EFL_BETA_API_SUPPORT

is no longer sufficcent as you also need

#define EFL_EO_API_SUPPORT

I also wondered that as these are included in every header but can also 
be in the Makefile should the eolian_gen actually output:

#ifndef EFL_BETA_API_SUPPORT
#define EFL_BETA_API_SUPPORT
#endif
#ifndef EFL_EO_API_SUPPORT
#define EFL_EO_API_SUPPORT
#endif

Just a thought,
Andy

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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/16: ecore: Remove blank line

2015-01-26 Thread David Seikel
On Mon, 26 Jan 2015 06:20:37 -0800 Christopher Michael
 wrote:

> devilhorns pushed a commit to branch master.
> 
> http://git.enlightenment.org/core/efl.git/commit/?id=e063027ed81fe7ca3aba2533a943e809c1a11ef9
> 
> commit e063027ed81fe7ca3aba2533a943e809c1a11ef9
> Author: Chris Michael 
> Date:   Thu Jan 22 10:58:34 2015 -0500
> 
> ecore: Remove blank line
> 
> Summary: No functional changes, just removing an empty line
> 
> Signed-off-by: Chris Michael 
> ---
>  src/lib/ecore/ecore_main.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
> index d7d6a42..6d088eb 100644
> --- a/src/lib/ecore/ecore_main.c
> +++ b/src/lib/ecore/ecore_main.c
> @@ -373,7 +373,6 @@ _gfd_events_from_fdh(Ecore_Fd_Handler *fdh)
> if (fdh->flags & ECORE_FD_ERROR) events |= G_IO_ERR;
> return events;
>  }
> -
>  #endif
>  
>  static inline int
> @@ -476,7 +475,7 @@ _ecore_main_fdh_epoll_mark_active(void)
> if (ret < 0)
>   {
>  if (errno == EINTR) return -1;
> -ERR("epoll_wait failed %d", errno);
> +ERR("epoll_wait failed on fd: %d %s", efd, strerror(errno));

This doesn't look like an empty line being removed.

>  return -1;
>   }
>  
> 


-- 
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
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Evas render: Remove useless code

2015-01-26 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit bd818f7eca3c21f0d58adc81b499d37a4c937f86
Author: Jean-Philippe Andre 
Date:   Tue Jan 27 12:21:12 2015 +0900

Evas render: Remove useless code

While invesigating some clip & map issues, I found some very
strange piece of code:
{
  tmp = a;
  a = c;
  a = tmp;
}

This actually comes from a very old code refactoring where a
line in-between was removed:

   tobj = obj->cur.map_parent;
   obj->cur.map_parent = obj->cur.clipper->cur.map_parent;
 - evas_object_clip_recalc(obj);
   obj->cur.map_parent = tobj;

Adding this line back there doesn't seem to do anything anyways.
So, let's just remove useless code.

For the record (legacy evas):
  commit e1f6f3c5f239dfd95a307949acd5f98831c0c3c0
  Date:   Fri Aug 17 06:16:04 2012 +
  evas/render - code refactoring.
  SVN revision: 75351
---
 src/lib/evas/canvas/evas_render.c | 13 -
 1 file changed, 13 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 0a4134b..9032619 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1432,24 +1432,11 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
 
   if (obj->is_smart)
 {
-   Evas_Object *tobj;
-
EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
  {
 state_write->cache.clip.dirty = EINA_TRUE;
  }
EINA_COW_STATE_WRITE_END(obj, state_write, cur);
-
-   EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map,
-Evas_Object_Map_Data, map_write)
- {
-tobj = map_write->cur.map_parent;
-map_write->cur.map_parent =
-   obj->cur->clipper->map->cur.map_parent;
-map_write->cur.map_parent = tobj;
- }
-   EINA_COW_WRITE_END(evas_object_map_cow, obj->map,
-  map_write);
 }
   _evas_render_mapped_context_clip_set(e, eo_obj, obj, context,
proxy_render_data, 
off_x,

-- 




[EGIT] [core/elementary] master 01/01: panes: Fix elm_panes_fixed_set.

2015-01-26 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=6e8cb900d051cc521fd928be571c436a5f9d1dd7

commit 6e8cb900d051cc521fd928be571c436a5f9d1dd7
Author: Daniel Juyung Seo 
Date:   Tue Jan 27 13:11:05 2015 +0900

panes: Fix elm_panes_fixed_set.

@fix
---
 data/themes/edc/elm/panes.edc | 69 +++
 1 file changed, 69 insertions(+)

diff --git a/data/themes/edc/elm/panes.edc b/data/themes/edc/elm/panes.edc
index 56d65e0..45b6d4a 100644
--- a/data/themes/edc/elm/panes.edc
+++ b/data/themes/edc/elm/panes.edc
@@ -1,3 +1,16 @@
+/* panes widget style information
+
+   [SIGNAL]
+  elm,panes,fixed: Used for elm_panes_fixed_set()
+  elm,panes,unfixed: Used for elm_panes_fixed_set()
+
+   [SIGNAL EMIT]
+  elm,action,click: Used for "clicked" smart callback.
+  elm,action,click,double: Used for "clicked,double" smart callback.
+  elm,action,press: Used for "press" smart callback.
+  elm,action,unpress: Used for "unpress" smart callback.
+*/
+
 #define PANEMIN  10
 #define PANEMIN2 16
 #define PANEWID  32
@@ -105,6 +118,10 @@ group { name: "elm/panes/vertical/default";
 rel2.to_x: "elm.swallow.event";
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
}
programs {
@@ -120,6 +137,16 @@ group { name: "elm/panes/vertical/default";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
}
 }
 
@@ -226,6 +253,10 @@ group { name: "elm/panes/horizontal/default";
 rel2.to_y: "elm.swallow.event";
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
}
programs {
@@ -241,6 +272,16 @@ group { name: "elm/panes/horizontal/default";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
}
 }
 
@@ -343,6 +384,10 @@ group { name: "elm/panes/vertical/flush";
 rel2.relative: 1.0 0.75;
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
   part { name: "glow1a"; mouse_events: 0;
  description { state: "default" 0.0;
@@ -430,6 +475,16 @@ group { name: "elm/panes/vertical/flush";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
   program {
  signal: "mouse,in"; source: "bar1";
  action: STATE_SET "active" 0.0;
@@ -557,6 +612,10 @@ group { name: "elm/panes/horizontal/flush";
 rel2.relative: 0.75 1.0;
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
   part { name: "glow1a"; mouse_events: 0;
  description { state: "default" 0.0;
@@ -672,5 +731,15 @@ group { name: "elm/panes/horizontal/flush";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
}
 }

-- 




[EGIT] [core/elementary] elementary-1.12 01/01: panes: Fix elm_panes_fixed_set.

2015-01-26 Thread Daniel Juyung Seo
seoz pushed a commit to branch elementary-1.12.

http://git.enlightenment.org/core/elementary.git/commit/?id=41ff89df7f86908945f7f96b45e65e61caa64e92

commit 41ff89df7f86908945f7f96b45e65e61caa64e92
Author: Daniel Juyung Seo 
Date:   Tue Jan 27 13:11:05 2015 +0900

panes: Fix elm_panes_fixed_set.

@fix
---
 data/themes/edc/elm/panes.edc | 69 +++
 1 file changed, 69 insertions(+)

diff --git a/data/themes/edc/elm/panes.edc b/data/themes/edc/elm/panes.edc
index 56d65e0..45b6d4a 100644
--- a/data/themes/edc/elm/panes.edc
+++ b/data/themes/edc/elm/panes.edc
@@ -1,3 +1,16 @@
+/* panes widget style information
+
+   [SIGNAL]
+  elm,panes,fixed: Used for elm_panes_fixed_set()
+  elm,panes,unfixed: Used for elm_panes_fixed_set()
+
+   [SIGNAL EMIT]
+  elm,action,click: Used for "clicked" smart callback.
+  elm,action,click,double: Used for "clicked,double" smart callback.
+  elm,action,press: Used for "press" smart callback.
+  elm,action,unpress: Used for "unpress" smart callback.
+*/
+
 #define PANEMIN  10
 #define PANEMIN2 16
 #define PANEWID  32
@@ -105,6 +118,10 @@ group { name: "elm/panes/vertical/default";
 rel2.to_x: "elm.swallow.event";
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
}
programs {
@@ -120,6 +137,16 @@ group { name: "elm/panes/vertical/default";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
}
 }
 
@@ -226,6 +253,10 @@ group { name: "elm/panes/horizontal/default";
 rel2.to_y: "elm.swallow.event";
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
}
programs {
@@ -241,6 +272,16 @@ group { name: "elm/panes/horizontal/default";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
}
 }
 
@@ -343,6 +384,10 @@ group { name: "elm/panes/vertical/flush";
 rel2.relative: 1.0 0.75;
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
   part { name: "glow1a"; mouse_events: 0;
  description { state: "default" 0.0;
@@ -430,6 +475,16 @@ group { name: "elm/panes/vertical/flush";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
   program {
  signal: "mouse,in"; source: "bar1";
  action: STATE_SET "active" 0.0;
@@ -557,6 +612,10 @@ group { name: "elm/panes/horizontal/flush";
 rel2.relative: 0.75 1.0;
 color: 0 0 0 0;
  }
+ description { state: "disabled" 0.0;
+inherit: "default" 0.0;
+visible: 0;
+ }
   }
   part { name: "glow1a"; mouse_events: 0;
  description { state: "default" 0.0;
@@ -672,5 +731,15 @@ group { name: "elm/panes/horizontal/flush";
   program { signal: "mouse,down,1,double"; source: "bar"; // for 
"clicked,double" smart callback
  action: SIGNAL_EMIT "elm,action,click,double" "elm";
   }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,fixed"; source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bar";
+  }
+  program { // for elm_panes_fixed_set()
+ signal: "elm,panes,unfixed"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bar";
+  }
}
 }

-- 




[EGIT] [tools/elm-theme-viewer] master 01/01: gui: Fix the initial panes size by pixel.

2015-01-26 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/tools/elm-theme-viewer.git/commit/?id=ba0fa6a2fd32bb86a8cf6b1746c38cfea3c9c371

commit ba0fa6a2fd32bb86a8cf6b1746c38cfea3c9c371
Author: Daniel Juyung Seo 
Date:   Tue Jan 27 13:21:07 2015 +0900

gui: Fix the initial panes size by pixel.
---
 src/bin/gui.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/gui.c b/src/bin/gui.c
index c594efb..256ee90 100644
--- a/src/bin/gui.c
+++ b/src/bin/gui.c
@@ -450,8 +450,10 @@ gui_create(const char *edje_file,
elm_layout_text_set(gd->gui_layout, "edje_name_txt", edje_file);
 
// Panes for preview and menu
+   Evas_Coord w = 0;
+   evas_object_geometry_get(gd->win, NULL, NULL, &w, NULL);
panes = o = elm_panes_add(gd->gui_layout);
-   elm_panes_content_left_size_set(o, 0.4);
+   elm_panes_content_left_size_set(o, ELM_SCALE_SIZE(250.0 / w));
evas_object_show(o);
evas_object_smart_callback_add(o, "clicked,double",
   gui_panes_clicked_double_cb, o);

--