[EGIT] [website/www-content] master 01/01: Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie

2016-07-11 Thread Philippe Jean Guillaumie
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=12bc5512a9bb7a8b0fdbe54546fb45e50da8d65d

commit 12bc5512a9bb7a8b0fdbe54546fb45e50da8d65d
Author: Philippe Jean Guillaumie 
Date:   Mon Jul 11 22:48:38 2016 -0700

Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie
---
 pages/distros/ubuntu-start.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pages/distros/ubuntu-start.txt b/pages/distros/ubuntu-start.txt
index e0354ba..61f5344 100644
--- a/pages/distros/ubuntu-start.txt
+++ b/pages/distros/ubuntu-start.txt
@@ -2,7 +2,8 @@
  Packages 
 
 The available packages in the official Ubuntu repositories are outdated.
-The PPA below provides the latest __stable version__ of E20.
+The PPA below provides the latest __stable version__ of E20
+(this PPA does not support Xenial).
 
 To add this PPA to your system,
 open a terminal and enter:

-- 




[EGIT] [website/www-content] master 01/01: Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie

2016-07-11 Thread Philippe Jean Guillaumie
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=6937e11dc0ea9ea3f86cf26c50caeb408db9a6c5

commit 6937e11dc0ea9ea3f86cf26c50caeb408db9a6c5
Author: Philippe Jean Guillaumie 
Date:   Mon Jul 11 22:39:02 2016 -0700

Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie
---
 pages/distros/ubuntu-start.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/distros/ubuntu-start.txt b/pages/distros/ubuntu-start.txt
index 57e97b7..e0354ba 100644
--- a/pages/distros/ubuntu-start.txt
+++ b/pages/distros/ubuntu-start.txt
@@ -27,7 +27,7 @@ sudo apt-get install libelementary1
 
 
 
-E20 __daily builds__ PPA for Ubuntu Xenial Xerus :
+E20 __daily builds__ PPA for Ubuntu Xenial Xerus:
 
 
 sudo add-apt-repository ppa:enlightenment-git/ppa

-- 




[EGIT] [core/efl] master 01/01: evas/gl_generic: Recreate texture when native surface image size is changed.

2016-07-11 Thread Minkyoung Kim
raster pushed a commit to branch master.

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

commit fd1917e90d19126f22b982c3dcaed60e28a47f34
Author: Minkyoung Kim 
Date:   Tue Jul 12 14:11:36 2016 +0900

evas/gl_generic: Recreate texture when native surface image size is changed.

Summary:
Now, if image is native, do not recreate texture when image size is changed.
Recreate next native surface set time. So during the time between 
image_size_set and native_surface_set, native image is fragile. Fix it.

Test Plan: Local Test

Reviewers: spacegrapher, jpeg, wonsik, dkdk, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4153
---
 src/modules/evas/engines/gl_generic/evas_engine.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index 0a683e5..07771f5 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -594,6 +594,7 @@ eng_image_size_set(void *data, void *image, int w, int h)
  {
 im->w = w;
 im->h = h;
+evas_gl_common_image_native_enable(im);
 return image;
  }
re->window_use(re->software.ob);

-- 




[EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object

2016-07-11 Thread Shinwoo Kim
raster pushed a commit to branch master.

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

commit c52eda0bf155b11ca137450cb388cd239d434554
Author: Shinwoo Kim 
Date:   Tue Jul 12 10:53:27 2016 +0900

edje: the repeat_events property of swallowed object probably should follow 
the repeat_events property of swallow part object

Summary: Need discussion about the repeat_events property

Test Plan: Swallow an object which has EINA_TRUE repeat_events to a swallow 
part which has EINA_FALSE repeat_events

Reviewers: Hermet, cedric, raster, jpeg

Reviewed By: raster, jpeg

Subscribers: jaehwan, seoz, woohyun

Differential Revision: https://phab.enlightenment.org/D3580
---
 src/lib/edje/edje_util.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 4f82e32..48ee448 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed,
if (rp->part->mouse_events)
  {
 _edje_callbacks_add(obj_swallow, ed, rp);
-if (rp->part->repeat_events)
-  evas_object_repeat_events_set(obj_swallow, 1);
+evas_object_repeat_events_set(obj_swallow, rp->part->repeat_events);
 if (rp->part->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
   evas_object_pointer_mode_set(obj_swallow, rp->part->pointer_mode);
 evas_object_pass_events_set(obj_swallow, 0);

-- 




[EGIT] [core/efl] master 01/01: Edje calc: Fix Evas Text width calculation with ellipsis

2016-07-11 Thread Youngbok Shin
raster pushed a commit to branch master.

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

commit 982ef0b9d0a5ffb8dc84824ec8a44cfc9b69886c
Author: Youngbok Shin 
Date:   Tue Jul 12 10:20:03 2016 +0900

Edje calc: Fix Evas Text width calculation with ellipsis

Summary:
To keep consistency with Evas Textblock part in edje,
text.min has to work logically even if ellipsis is enabled.
If a Text part has minimum width, maximum width and "text.min: 1 X;",
Text part should be expanded until its width reaches to the maximum width.
Then, ellipsis will work. Singleline Textblock is also working like this.
@fix

Reviewers: cedric, herdsman, raster, tasn

Subscribers: Blackmole, z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D3587
---
 src/bin/edje/edje_cc_handlers.c | 27 ---
 src/lib/edje/edje_calc.c| 10 --
 src/lib/edje/edje_text.c| 29 ++---
 3 files changed, 14 insertions(+), 52 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 88da2ee..7a1b653 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -15057,19 +15057,6 @@ edje_cc_handlers_hierarchy_free(void)
part_hierarchy = NULL;
 }
 
-static Eina_Bool
-_part_text_ellipsis_check(Edje_Part *ep, Edje_Part_Description_Common *desc)
-{
-   Edje_Part_Description_Text *ed;
-
-   if ((ep->type != EDJE_PART_TYPE_TEXT) && (ep->type != 
EDJE_PART_TYPE_TEXTBLOCK))
- return EINA_FALSE;
-
-   ed = (Edje_Part_Description_Text*)desc;
-
-   return ((ed->text.ellipsis != -1) && ed->text.min_x);
-}
-
 static void
 edje_cc_handlers_hierarchy_pop(void)
 {  /* Remove part from hierarchy stack when finished parsing it */
@@ -15093,25 +15080,11 @@ edje_cc_handlers_hierarchy_pop(void)
 file_in, line - 1, current_de->entry, 
current_part->name);
 exit(-1);
}
- if (_part_text_ellipsis_check(current_part, 
current_part->other.desc[i]))
-   {
-  WRN("Part '%s' in group '%s' contains description '%s:%g' 
which has text.min: 1 X; but not text.ellipsis: -1;",
-  current_part->name, current_de->entry,
-  current_part->other.desc[i]->state.name, 
current_part->other.desc[i]->state.value);
-  WRN("This is almost certainly not what you want.");
-   }
   }
 
 /* auto-add default desc if it was omitted */
 if (!current_part->default_desc)
   ob_collections_group_parts_part_description();
-else if (_part_text_ellipsis_check(current_part, 
current_part->default_desc))
-  {
- WRN("Part '%s' in group '%s' contains description '%s:%g' which 
has text.min: 1 X; but not text.ellipsis: -1;",
- current_part->name, current_de->entry,
- current_part->default_desc->state.name, 
current_part->default_desc->state.value);
- WRN("This is almost certainly not what you want.");
-  }
  }
 
if (info)
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index b38b03a..04abc0e 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -1700,20 +1700,26 @@ _edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
 
if (chosen_desc->text.max_x)
  {
-if ((*maxw < 0) || (mw < *maxw)) *maxw = mw;
+if ((*maxw < 0) || (mw > *maxw)) *maxw = mw;
  }
if (chosen_desc->text.max_y)
  {
-if ((*maxh < 0) || (mh < *maxh)) *maxh = mh;
+if ((*maxh < 0) || (mh > *maxh)) *maxh = mh;
  }
if (chosen_desc->text.min_x)
  {
 if (mw > *minw) *minw = mw;
+if ((*maxw > -1) && (*minw > *maxw)) *minw = *maxw;
  }
if (chosen_desc->text.min_y)
  {
 if (mh > *minh) *minh = mh;
+if ((*maxh > -1) && (*minh > *maxh)) *minh = *maxh;
  }
+   if ((*maxw > -1) && (mw > *maxw)) mw = *maxw;
+   if ((*maxh > -1) && (mh > *maxh)) mh = *maxh;
+
+   evas_object_resize(ep->object, mw, mh);
 }
 
 #else
diff --git a/src/lib/edje/edje_text.c b/src/lib/edje/edje_text.c
index 50f8e90..d65f0a9 100644
--- a/src/lib/edje/edje_text.c
+++ b/src/lib/edje/edje_text.c
@@ -135,7 +135,7 @@ _edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
 
if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
 
-   evas_obj_text_ellipsis_set(ep->object, (chosen_desc->text.min_x || 
chosen_desc->text.fit_x) ? -1 : params->type.text.ellipsis);
+   evas_obj_text_ellipsis_set(ep->object, params->type.text.ellipsis);
efl_text_properties_font_set(ep->object, font, size);
efl_text_set(ep->object, text);
efl_gfx_size_set(ep->object, sw, sh);
@@ -462,28 +462,11 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
 text, 

[EGIT] [core/efl] master 01/01: evas: fix work of engine on macOS.

2016-07-11 Thread se.osadchy
cedric pushed a commit to branch master.

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

commit f796f04aae894274e7819b0e4a61b4386aa9fb05
Author: se.osadchy 
Date:   Mon Jul 11 10:54:47 2016 -0700

evas: fix work of engine on macOS.

Summary: Update eng_image_free function and check of references.

Reviewers: thiepha, NikaWhite, FurryMyad, raster, cedric

Subscribers: raster, jpeg

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

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

diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.c 
b/src/modules/evas/engines/gl_cocoa/evas_engine.c
index dfe82da..1cd81c7 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_engine.c
+++ b/src/modules/evas/engines/gl_cocoa/evas_engine.c
@@ -582,7 +582,7 @@ eng_image_free(void *data, void *image)
re = (Render_Engine *)data;
if (!image) return;
eng_window_use(re->win);
-   evas_gl_common_image_free(image);
+   evas_gl_common_image_unref(image);
 }
 
 static void

-- 




[EGIT] [apps/terminology] master 01/01: fix vietnamese translation

2016-07-11 Thread Toan Pham
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=83db7b1ed0d706908ba2298038b15913fbe743ae

commit 83db7b1ed0d706908ba2298038b15913fbe743ae
Author: Toan Pham 
Date:   Mon Jul 11 10:07:32 2016 -0400

fix vietnamese translation
---
 po/vi.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/po/vi.po b/po/vi.po
index a5c6916..19de5f9 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -69,8 +69,8 @@ msgid ""
 "clause BSD license detailed below:%s"
 msgstr ""
 "Terminology %sTại sao các terminal lại nhàm chán?Terminal "
-"này được viết choEnlightenment, để dùng EFL và mặt khác là để thể hiện cái "
-"mà các bộ mô phỏng terminal nên là. Chúng tôi hy vọng bạn thích nó."
+"này được viết cho Enlightenment, để dùng EFL và mặt khác là để thể hiện những 
"
+"ranh giới mà các terminal hiện đại khác không có. Chúng tôi hy vọng bạn thích 
nó."
 "Bản quyền © 2012-%d bởi:%sPhân phối theo giấy phép 2-"
 "clause BSD license với thông tin cụ thể bên dưới:%s"
 

-- 




[EGIT] [core/enlightenment] master 01/01: 'cur_group' variable is unused here if we are not building for wayland

2016-07-11 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit f3371ff04c30db15cd43dd3637a43fb7aceb9e4a
Author: Chris Michael 
Date:   Mon Jul 11 12:11:00 2016 -0400

'cur_group' variable is unused here if we are not building for wayland

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

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 1f7cdae..1b4ecdc 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -251,6 +251,8 @@ _e_wl_xkb_update(int cur_group)
 #ifdef HAVE_WAYLAND
e_comp_wl_input_keymap_index_set(cur_group);
_e_xkb_update_event(cur_group);
+#else
+   (void)cur_group;
 #endif
 }
 

-- 




[EGIT] [core/efl] master 01/01: ecore-wl2: Fix issue of misleading 'if' statement

2016-07-11 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 5fc4b971dc7c01b6d76322cfb90e254b57c717c5
Author: Chris Michael 
Date:   Mon Jul 11 11:56:17 2016 -0400

ecore-wl2: Fix issue of misleading 'if' statement

Gcc reports that this 'if' statement is misleading due to indentation.
We should only be sending the 'finish' call if the dnd version
supports it, however we should always be sending 'destroy'

@fix

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

diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c 
b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index 827bc55..7e17d86 100644
--- a/src/lib/ecore_wl2/ecore_wl2_dnd.c
+++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c
@@ -244,9 +244,11 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh)
   {
  if (source->input->display->wl.data_device_manager_version >=
  WL_DATA_OFFER_FINISH_SINCE_VERSION)
-   wl_data_offer_finish(source->offer);
-   wl_data_offer_destroy(source->offer);
-   source->offer = NULL;
+   {
+  wl_data_offer_finish(source->offer);
+   }
+ wl_data_offer_destroy(source->offer);
+ source->offer = NULL;
   }
 
 fd = ecore_main_fd_handler_fd_get(source->fdh);

-- 




[EGIT] [core/efl] master 01/01: edje: Fix issue of null pointer dereference

2016-07-11 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit ce9379398fdc3a99df1f212a349cfdac5fef4d3b
Author: Chris Michael 
Date:   Mon Jul 11 11:19:01 2016 -0400

edje: Fix issue of null pointer dereference

Coverity reports that 'text' here is a null pointer dereference so
check for valid 'text' variable before trying to use it.

Fixes Coverity CID1267490

@fix

Signed-off-by: Chris Michael 
---
 src/lib/edje/edje_load.c | 34 ++
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 85dc114..c370a72 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1041,21 +1041,31 @@ _edje_object_file_set_internal(Evas_Object *obj, const 
Eina_File *file, const ch
 Edje_Part_Description_Text *text;
 
 text = (Edje_Part_Description_Text 
*)rp->param1.description;
-
-if (ed->file->feature_ver < 1)
+if (text)
   {
- text->text.id_source = -1;
- text->text.id_text_source = -1;
-  }
+ if (ed->file->feature_ver < 1)
+   {
+  text->text.id_source = -1;
+  text->text.id_text_source = -1;
+   }
 
-if ((rp->type == EDJE_RP_TYPE_TEXT) &&
-(rp->typedata.text))
-  {
- if (text->text.id_source >= 0)
-   rp->typedata.text->source = 
ed->table_parts[text->text.id_source % ed->table_parts_size];
- if (text->text.id_text_source >= 0)
-   rp->typedata.text->text_source = 
ed->table_parts[text->text.id_text_source % ed->table_parts_size];
+ if ((rp->type == EDJE_RP_TYPE_TEXT) &&
+ (rp->typedata.text))
+   {
+  if (text->text.id_source >= 0)
+{
+   rp->typedata.text->source =
+ 
ed->table_parts[text->text.id_source % ed->table_parts_size];
+}
+
+  if (text->text.id_text_source >= 0)
+{
+   rp->typedata.text->text_source =
+ 
ed->table_parts[text->text.id_text_source % ed->table_parts_size];
+}
+   }
   }
+
 if (rp->part->entry_mode > 
EDJE_ENTRY_EDIT_MODE_NONE)
   {
  _edje_entry_real_part_init(ed, rp);

-- 




[EGIT] [core/efl] master 01/01: docs: generate proper descriptions for structs and enums

2016-07-11 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit a8eb31f146adb8f3bc06966f86e9cf328eb7607d
Author: Daniel Kolesa 
Date:   Mon Jul 11 16:03:53 2016 +0100

docs: generate proper descriptions for structs and enums
---
 src/scripts/elua/apps/docgen/gendoc.lua | 36 +
 1 file changed, 36 insertions(+)

diff --git a/src/scripts/elua/apps/docgen/gendoc.lua 
b/src/scripts/elua/apps/docgen/gendoc.lua
index c55de3b..2943aaa 100644
--- a/src/scripts/elua/apps/docgen/gendoc.lua
+++ b/src/scripts/elua/apps/docgen/gendoc.lua
@@ -1597,6 +1597,10 @@ local build_alias = function(tp)
 
 write_tsigs(f, tp)
 
+f:write_h("Description", 3)
+write_full_doc(f, tp:documentation_get())
+f:write_nl(2)
+
 f:finish()
 end
 
@@ -1606,6 +1610,22 @@ local build_struct = function(tp)
 
 write_tsigs(f, tp)
 
+f:write_h("Description", 3)
+write_full_doc(f, tp:documentation_get())
+f:write_nl(2)
+
+f:write_h("Fields", 3)
+
+local arr = {}
+for fl in tp:struct_fields_get() do
+local buf = Buffer()
+buf:write_b(fl:name_get())
+buf:write_raw(" - ", get_full_doc(fl:documentation_get()))
+arr[#arr + 1] = buf:finish()
+end
+f:write_list(arr)
+f:write_nl()
+
 f:finish()
 end
 
@@ -1615,6 +1635,22 @@ local build_enum = function(tp)
 
 write_tsigs(f, tp)
 
+f:write_h("Description", 3)
+write_full_doc(f, tp:documentation_get())
+f:write_nl(2)
+
+f:write_h("Fields", 3)
+
+local arr = {}
+for fl in tp:enum_fields_get() do
+local buf = Buffer()
+buf:write_b(fl:name_get())
+buf:write_raw(" - ", get_full_doc(fl:documentation_get()))
+arr[#arr + 1] = buf:finish()
+end
+f:write_list(arr)
+f:write_nl()
+
 f:finish()
 end
 

-- 




[EGIT] [website/www-content] master 01/01: pages about: add enventor about page.

2016-07-11 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=b495d8f5f8faa80366cc3f606678ab420d35044c

commit b495d8f5f8faa80366cc3f606678ab420d35044c
Author: Hermet Park 
Date:   Mon Jul 11 23:53:20 2016 +0900

pages about: add enventor about page.

initial version.
---
 media/enventor-main.png  | Bin 0 -> 574740 bytes
 media/icon-enventor.png  | Bin 0 -> 19740 bytes
 pages/about-enventor.txt |  10 ++
 pages/about.txt  |   3 ++-
 4 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/media/enventor-main.png b/media/enventor-main.png
new file mode 100644
index 000..e07c78b
Binary files /dev/null and b/media/enventor-main.png differ
diff --git a/media/icon-enventor.png b/media/icon-enventor.png
new file mode 100644
index 000..bd8e0db
Binary files /dev/null and b/media/icon-enventor.png differ
diff --git a/pages/about-enventor.txt b/pages/about-enventor.txt
new file mode 100644
index 000..89ee56f
--- /dev/null
+++ b/pages/about-enventor.txt
@@ -0,0 +1,10 @@
+~~Title: About Enventor~~
+ Enventor 
+
+[[download|Download Enventor Here]]
+
+{{:icon-enventor.png?nolink |}}
+
+{{ :enventor-main.png?&200|}}
+
+Enventor, which is also known as EDC (Edje Data Collections) Editor, is a 
useful EDC script editor tool that supports text edit function and preview 
function for EDC source code. When your application requires realtime 
changeable layouts like animative ones, then you could write those layout 
design using EDC script, compile it to EDJ format then import it into your 
application. You can write any kinds of design layouts from simple to complex 
ones if you use EDC script with Enventor. Enve [...]
diff --git a/pages/about.txt b/pages/about.txt
index a8a3667..f982a92 100644
--- a/pages/about.txt
+++ b/pages/about.txt
@@ -17,6 +17,7 @@ their environment.
 [[about-rage|{{:icon-rage.png|Rage}}]]
 [[about-edi|{{:edi-logo.png|EDI}}]]
 [[about-eflete|{{:icon-eflete.png|Eflete}}]]
+[[about-enventor|{{:icon-enventor.png|Enventor}}]]
 
 
 
@@ -187,4 +188,4 @@ See [[about-edi|the EDI page]] for more details.
 === Media ===
 
 If you want media like official logos, screenshots etc. please see
-[[media|our media page]] for details.
\ No newline at end of file
+[[media|our media page]] for details.

-- 




[EGIT] [core/efl] master 01/01: Canvas text: fix corner case in range geometry calc

2016-07-11 Thread Daniel Hirt
herdsman pushed a commit to branch master.

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

commit 0c2398562687888f36e36d37a876427d9b4408a0
Author: Daniel Hirt 
Date:   Mon Jul 11 16:18:54 2016 +

Canvas text: fix corner case in range geometry calc

The trivial case of [pos,pos] (i.e. range of length 0) didn't work if there 
is a
format item in 'pos'.
The condition was fixed to not include such items. The reason it was not
apparent for text items is that these have further handling in the rest of 
the
code and would've been disposed of.

@fix
---
 src/lib/evas/canvas/evas_object_textblock.c | 2 +-
 src/tests/evas/evas_test_textblock.c| 9 +
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 3503e71..0048ffc 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -11706,7 +11706,7 @@ _evas_textblock_cursor_range_in_line_geometry_get(
_ITEM_TEXT(it)->text_props.text_len
: 1;
 if ((!cur1 || (cur1->pos < it->text_pos + item_len)) &&
-  (!cur2 || (cur2->pos >= it->text_pos)))
+  (!cur2 || (cur2->pos > it->text_pos)))
   {
  if (!it1)
{
diff --git a/src/tests/evas/evas_test_textblock.c 
b/src/tests/evas/evas_test_textblock.c
index f2e542a..70ba06b 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -2839,6 +2839,15 @@ START_TEST(evas_textblock_geometries)
 
eina_iterator_free(it);
 
+   /* Check trivial case with format items */
+   evas_object_textblock_text_markup_set(tb, "abcefg");
+   evas_textblock_cursor_pos_set(cur, 3);
+   evas_textblock_cursor_pos_set(main_cur, 3);
+   it = evas_textblock_cursor_range_simple_geometry_get(cur, main_cur);
+   rects = eina_iterator_container_get(it);
+   ck_assert(!rects);
+   eina_iterator_free(it);
+
END_TB_TEST();
 }
 END_TEST

-- 




[EGIT] [core/efl] master 01/01: If there is situation when server is closed prior to client, the client pointer pointing to server must be reset and check must be there during client deletion

2016-07-11 Thread Prince Kumar Dubey
raster pushed a commit to branch master.

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

commit 8fbb6d73dc0761ad6b3b5bcf1d1dc36ceef1
Author: Prince Kumar Dubey 
Date:   Mon Jul 11 22:29:04 2016 +0900

If there is situation when server is closed prior to client, the client 
pointer pointing to server must be reset and check must be there during client 
deletion

Summary: During mobile product testing, we got a crash with callstack which 
suggest server is getting deleted prior to client. On valgrind analysis we 
found invalid write operation with same callstack. callstack is pasted in 
comment section.

Test Plan: create a situation where server got deleted prior to client.

Reviewers: raster, cedric

Subscribers: govi, rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D4152
---
 src/lib/ecore_ipc/ecore_ipc.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_ipc/ecore_ipc.c b/src/lib/ecore_ipc/ecore_ipc.c
index 56de0ab..219c950 100644
--- a/src/lib/ecore_ipc/ecore_ipc.c
+++ b/src/lib/ecore_ipc/ecore_ipc.c
@@ -461,7 +461,10 @@ ecore_ipc_server_del(Ecore_Ipc_Server *svr)
 Ecore_Ipc_Client *cl;
 
 EINA_LIST_FREE(svr->clients, cl)
-  ecore_ipc_client_del(cl);
+  {
+ cl->svr = NULL;
+ ecore_ipc_client_del(cl);
+  }
 if (svr->server) ecore_con_server_del(svr->server);
 servers = eina_list_remove(servers, svr);
 
@@ -875,7 +878,8 @@ ecore_ipc_client_del(Ecore_Ipc_Client *cl)
  {
 svr = cl->svr;
 if (cl->client) ecore_con_client_del(cl->client);
-svr->clients = eina_list_remove(svr->clients, cl);
+if (ECORE_MAGIC_CHECK(svr, ECORE_MAGIC_IPC_SERVER))
+  svr->clients = eina_list_remove(svr->clients, cl);
 if (cl->buf) free(cl->buf);
 ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE);
 free(cl);

-- 




[EGIT] [core/efl] master 05/10: eet - fix possible integer overflow in ptr diff on parse

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 679af3271fbc577602fded804dee6fe59748178f
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 21:54:57 2016 +0900

eet - fix possible integer overflow in ptr diff on parse

coverity spotted this - with silly long strings (like 1gb in size or+)
it might happen. fix CID 1256196
---
 src/lib/eet/eet_lib.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c
index 4d0dfba..d2c95c2 100644
--- a/src/lib/eet/eet_lib.c
+++ b/src/lib/eet/eet_lib.c
@@ -1757,7 +1757,9 @@ _base64_dec(const char *file, int *size_ret)
   }
 end = p;
 // go from line start to (but not including) first invalid char
-if (((end - buf) > 0) && (((end - buf) % 4) == 0))
+if (((end - buf) > 0) &&
+((end - buf) < 0x1fff) && // not too long
+(((end - buf) % 4) == 0))
   {
  unsigned char *tmp = malloc((end - buf + 4) * 2);
 

-- 




[EGIT] [core/efl] master 03/10: evas software x11 - dri swapping - fix possible coverity bug

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit ea99e6288d8aa03aad0f1763ec0e8160ffeb08d9
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 21:29:32 2016 +0900

evas software x11 - dri swapping - fix possible coverity bug

fix CID 1039620 - coverity is right, in theory.
---
 src/modules/evas/engines/software_x11/evas_xlib_dri_image.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c 
b/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c
index 7c968ee..3069eb0 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c
@@ -193,6 +193,11 @@ _drm_init(Display *disp, int scr)
 if (exim_debug) ERR("DRI2 connect failed on screen %i", scr);
 goto err;
   }
+   if (!dev_name)
+ {
+if (exim_debug) ERR("DRI2 connect - cannot find dev name");
+goto err;
+ }
drm_fd = open(dev_name, O_RDWR);
if (drm_fd < 0)
   {

-- 




[EGIT] [core/efl] master 08/10: evas engine cache - drop useless iff that assert already checked

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 485074df3a01a3d35b016d2337d87748bd15e0d1
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 22:09:12 2016 +0900

evas engine cache - drop useless iff that assert already checked

CID 1267465 pointed this out - assert(eim) already checked this so no
need to do it again - looks confusing
---
 src/lib/evas/cache/evas_cache_engine_image.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/cache/evas_cache_engine_image.c 
b/src/lib/evas/cache/evas_cache_engine_image.c
index 339721d..b3c98dc 100644
--- a/src/lib/evas/cache/evas_cache_engine_image.c
+++ b/src/lib/evas/cache/evas_cache_engine_image.c
@@ -473,7 +473,7 @@ evas_cache_engine_image_dirty(Engine_Image_Entry *eim, 
unsigned int x, unsigned
return eim_dirty;
 
   on_error:
-   if (eim) evas_cache_engine_image_drop(eim);
+   evas_cache_engine_image_drop(eim);
if (eim_dirty && eim_dirty != eim)
  evas_cache_engine_image_drop(eim_dirty);
else

-- 




[EGIT] [core/efl] master 10/10: edje_cc handle theoretical string overflow (not real) shhh coverity

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 4329a359dc967d550965edd5139218afe3718347
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 22:23:58 2016 +0900

edje_cc handle theoretical string overflow (not real) shhh coverity

these strings are internal fixed strings so never bigger than buffer,.
but silence coverity to avoid noise. fixes CID 1355588 , 1355589
---
 src/bin/edje/edje_cc_parse.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c
index 4c860b5..ea0cc30 100644
--- a/src/bin/edje/edje_cc_parse.c
+++ b/src/bin/edje/edje_cc_parse.c
@@ -216,7 +216,8 @@ new_object(void)
   char buf[512] = { 0, };
   char *end;
 
-  strcpy(buf, id);
+  strncpy(buf, id, sizeof(buf) - 1);
+  buf[sizeof(buf) - 1] = 0;
   end = strrchr(buf, '.');
   if (end) end++;
   else end = buf;
@@ -256,7 +257,8 @@ new_statement(void)
 char buf[512] = { 0, };
 char *end;
 
-strcpy(buf, id);
+strncpy(buf, id, sizeof(buf) - 1);
+buf[sizeof(buf) - 1] = 0;
 end = strrchr(buf, '.');
 if (end) end++;
 else end = buf;

-- 




[EGIT] [core/efl] master 09/10: evas render2 region - handle if src region is empty correctly on add

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 52f752f73d592d8673012b119528cde3578678a1
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 22:16:06 2016 +0900

evas render2 region - handle if src region is empty correctly on add

fix coverity CID 1313542
---
 src/lib/evas/canvas/render2/region.c | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/render2/region.c 
b/src/lib/evas/canvas/render2/region.c
index 5175ee1..4a13e10 100644
--- a/src/lib/evas/canvas/render2/region.c
+++ b/src/lib/evas/canvas/render2/region.c
@@ -847,12 +847,7 @@ region_add(Region *dest, Region *source)
  }
 
// Region 2 is empty
-   if (PIXREGION_NIL(source))
- {
-if (PIXREGION_NAR(source)) return _region_break(dest);
-if (dest != source) return region_copy(dest, source);
-return EINA_TRUE;
- }
+   if (PIXREGION_NIL(source)) return EINA_TRUE;
 
// Region 1 completely subsumes region 2
if (!dest->data && CONTAINS(>bound, >bound))

-- 




[EGIT] [core/efl] master 02/10: ecore x xrandr - fix possible divide by zero

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 1e6375cbe35e788300b8089f7c5ebada67746afc
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 21:17:39 2016 +0900

ecore x xrandr - fix possible divide by zero

fixes CID 1039437 , 1039438
---
 src/lib/ecore_x/xlib/ecore_x_randr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_x/xlib/ecore_x_randr.c 
b/src/lib/ecore_x/xlib/ecore_x_randr.c
index 3277045..03da850 100644
--- a/src/lib/ecore_x/xlib/ecore_x_randr.c
+++ b/src/lib/ecore_x/xlib/ecore_x_randr.c
@@ -655,14 +655,14 @@ ecore_x_randr_screen_current_size_set(Ecore_X_Window 
root, int w, int h, int w_m
 if (h <= 0) h = ch;
 if (w_mm <= 0)
   {
- if ((double)cw > 0.0)
+ if (cw > 0)
w_mm = (int)(((double)(cwmm / (double)cw)) * (double)w);
  else
w_mm = (int)(((double)(cwmm)) * (double)w);
   }
 if (h_mm <= 0)
   {
- if ((double)ch > 0.0)
+ if (ch > 0)
h_mm = (int)(((double)(chmm / (double)ch)) * (double)h);
  else
h_mm = (int)(((double)(chmm)) * (double)h);

-- 




[EGIT] [core/efl] master 06/10: ecore pipe - fix close of pipe that doesnt set fd to invalid

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 2d003e25035aa11957b3e2c7c9d948ee938fd660
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 22:02:45 2016 +0900

ecore pipe - fix close of pipe that doesnt set fd to invalid

this should fix CID 1267459
---
 src/lib/ecore/ecore_pipe.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/ecore/ecore_pipe.c b/src/lib/ecore/ecore_pipe.c
index 7ac6964..2642d5d 100644
--- a/src/lib/ecore/ecore_pipe.c
+++ b/src/lib/ecore/ecore_pipe.c
@@ -389,6 +389,9 @@ _ecore_pipe_del(Ecore_Pipe *p)
if (p->fd_handler) _ecore_main_fd_handler_del(p->fd_handler);
if (p->fd_read != PIPE_FD_INVALID) pipe_close(p->fd_read);
if (p->fd_write != PIPE_FD_INVALID) pipe_close(p->fd_write);
+   p->fd_handler = NULL;
+   p->fd_read = PIPE_FD_INVALID;
+   p->fd_write = PIPE_FD_INVALID;
data = (void *)p->data;
ecore_pipe_mp_free(p);
return data;

-- 




[EGIT] [core/efl] master 01/10: evas object freeing - fix missing null check for layer

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit aa11fef2189b321dd09ee2c699c427a1103a1406
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 21:14:51 2016 +0900

evas object freeing - fix missing null check for layer

fix CID 1039409
---
 src/lib/evas/canvas/evas_object_main.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index 7c36a0a..c9051fd 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -267,9 +267,12 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer)
   mask->w = mask->h = 0;
   if (mask->surface)
 {
-   obj->layer->evas->engine.func->image_free
- (obj->layer->evas->engine.data.output, mask->surface);
-   mask->surface = NULL;
+   if (obj->layer)
+ {
+obj->layer->evas->engine.func->image_free
+  (obj->layer->evas->engine.data.output, mask->surface);
+mask->surface = NULL;
+ }
 }
 EINA_COW_WRITE_END(evas_object_mask_cow, obj->mask, mask);
  }

-- 




[EGIT] [core/efl] master 07/10: evas cache - avoid possible deref of null pointer

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 2b413d3f875d2c8be316592a7e56f94057f7d57b
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 22:06:16 2016 +0900

evas cache - avoid possible deref of null pointer

this fixes CID 1267472
---
 src/lib/evas/cache2/evas_cache2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/cache2/evas_cache2.c 
b/src/lib/evas/cache2/evas_cache2.c
index d9788aa..bdb97b2 100644
--- a/src/lib/evas/cache2/evas_cache2.c
+++ b/src/lib/evas/cache2/evas_cache2.c
@@ -932,7 +932,7 @@ evas_cache2_image_scale_load(Image_Entry *im,
error = evas_cache2_image_load_data(ret);
if (error != EVAS_LOAD_ERROR_NONE)
  {
-_evas_cache2_image_entry_delete(im->cache2, ret);
+if (ret) _evas_cache2_image_entry_delete(im->cache2, ret);
 goto parent_out;
  }
 

-- 




[EGIT] [core/efl] master 04/10: evas scale cache - address possible coverity deadlock

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 98a02fc17c8d630068684385f74787bfc26183cf
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 21:45:39 2016 +0900

evas scale cache - address possible coverity deadlock

this should fix CID 1106338  where we don't lock and unlock caches in
the same order.
---
 src/lib/evas/common/evas_image_scalecache.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/evas/common/evas_image_scalecache.c 
b/src/lib/evas/common/evas_image_scalecache.c
index 16c4451..978a4cb 100644
--- a/src/lib/evas/common/evas_image_scalecache.c
+++ b/src/lib/evas/common/evas_image_scalecache.c
@@ -802,7 +802,10 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
   ct = evas_common_draw_context_new();
   evas_common_draw_context_set_render_op(ct, 
_EVAS_RENDER_COPY);
}
+ SLKU(cache_lock);
  SLKU(im->cache.lock);
+
+ SLKL(cache_lock);
  if (im->cache_entry.space == EVAS_COLORSPACE_ARGB)
{
 #ifdef EVAS_CSERVE2
@@ -812,7 +815,10 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
 #endif
 evas_cache_image_load_data(>cache_entry);
}
+ SLKU(cache_lock);
+
  SLKL(im->cache.lock);
+ SLKL(cache_lock);
  evas_common_image_colorspace_normalize(im);
  if (im->image.data)
{

-- 




[EGIT] [tools/enventor] master 01/01: file_browser: Code refactoring to fix file search crash.

2016-07-11 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=b570f792ff317862a09a1d2ded45dbc45f25b85e

commit b570f792ff317862a09a1d2ded45dbc45f25b85e
Author: Jaehyun Cho 
Date:   Mon Jul 11 21:06:10 2016 +0900

file_browser: Code refactoring to fix file search crash.

Previously, searching files in file browser causes crash.
Now, each file browser data contains genlist item and the genlist item
is also deleted when the file browser data is deallocated.
---
 src/bin/file_browser.c | 74 ++
 1 file changed, 39 insertions(+), 35 deletions(-)

diff --git a/src/bin/file_browser.c b/src/bin/file_browser.c
index f2ad6ef..c78f2ff 100644
--- a/src/bin/file_browser.c
+++ b/src/bin/file_browser.c
@@ -13,10 +13,13 @@ typedef enum
 typedef struct file_browser_file_s brows_file;
 struct file_browser_file_s
 {
+   Eina_List *sub_file_list; //NULL if file type is not directory.
+
char *path;
char *name;
File_Browser_File_Type type;
-   Eina_List *sub_file_list; //NULL if file type is not directory.
+
+   Elm_Object_Item *it;
 
Eina_Bool main: 1;   //Is it main edc file?
 };
@@ -51,8 +54,8 @@ static brows_data *g_bd = NULL;
 /*/
 
 static void brows_file_free(brows_file *file);
-static Eina_List *sub_brows_file_list_create(brows_file *file);
 static void brows_file_list_free(Eina_List *file_list);
+static Eina_List *sub_brows_file_list_create(brows_file *file);
 static void refresh_btn_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED);
 
 static void
@@ -129,6 +132,17 @@ gl_clicked_double_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
file_mgr_sub_file_add(file->path);
 }
 
+//Set file->it as NULL when genlist item is deleted.
+static void
+gl_item_del_cb(void *data, Evas_Object *obj EINA_UNUSED,
+   void *event_info EINA_UNUSED)
+{
+   brows_file *file = data;
+   if (!file) return;
+
+   file->it = NULL;
+}
+
 static Elm_Object_Item *
 file_genlist_item_append(brows_file *file, Elm_Object_Item *parent_it,
  Elm_Genlist_Item_Type it_type)
@@ -143,22 +157,22 @@ file_genlist_item_append(brows_file *file, 
Elm_Object_Item *parent_it,
if (bd->mode == FILE_BROWSER_MODE_SEARCH)
  itc = bd->search_itc;
 
-   Elm_Object_Item *it =
-  elm_genlist_item_append(bd->genlist,
-  itc, /* item class */
-  file,/* item data */
-  parent_it,   /* parent */
-  it_type, /* item type */
-  NULL,/* select cb */
-  file);   /* select cb data */
+   if (file->it) elm_object_item_del(file->it);
 
-   char it_str[EINA_PATH_MAX];
-   snprintf(it_str, EINA_PATH_MAX, "%p", it);
-   evas_object_data_set(bd->genlist, it_str, file);
+   file->it = elm_genlist_item_append(bd->genlist,
+  itc, /* item class */
+  file,/* item data */
+  parent_it,   /* parent */
+  it_type, /* item type */
+  NULL,/* select cb */
+  file);   /* select cb data */
 
-   elm_genlist_item_expanded_set(it, EINA_FALSE);
+   //Set file->it as NULL when genlist item is deleted.
+   elm_object_item_del_cb_set(file->it, gl_item_del_cb);
 
-   return it;
+   elm_genlist_item_expanded_set(file->it, EINA_FALSE);
+
+   return file->it;
 }
 
 static char *
@@ -291,9 +305,7 @@ gl_expanded_cb(void *data EINA_UNUSED, Evas_Object *obj, 
void *event_info)
 
Elm_Object_Item *it = event_info;
 
-   char it_str[EINA_PATH_MAX];
-   snprintf(it_str, EINA_PATH_MAX, "%p", it);
-   brows_file *file = evas_object_data_get(obj, it_str);
+   brows_file *file = elm_object_item_data_get(it);
if (!file) return;
 
/* Basically, sub file list is not created. So if sub file list has not been
@@ -329,9 +341,7 @@ gl_contracted_cb(void *data EINA_UNUSED, Evas_Object *obj, 
void *event_info)
Elm_Object_Item *it = event_info;
elm_genlist_item_subitems_clear(it);
 
-   char it_str[EINA_PATH_MAX];
-   snprintf(it_str, EINA_PATH_MAX, "%p", it);
-   brows_file *file = evas_object_data_get(obj, it_str);
+   brows_file *file = elm_object_item_data_get(it);
if (file && file->sub_file_list)
  {
 brows_file_list_free(file->sub_file_list);
@@ -464,22 +474,14 @@ brows_file_free(brows_file *file)
 {
if (!file) return;
 
-   if (file->path)
- {
-free(file->path);
-file->path = NULL;
- }
-   if (file->name)
- {
-free(file->name);
- 

[EGIT] [core/efl] master 01/01: Edje entry: Add link press effect

2016-07-11 Thread Subodh Kumar
raster pushed a commit to branch master.

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

commit 4aa0590ebddce07ba25d66bc1f124d0b49eb32b5
Author: Subodh Kumar 
Date:   Mon Jul 11 18:26:29 2016 +0900

Edje entry: Add link press effect

Summary:
Add link press effect

Custom tag (linked_pressed) has to be supplied in entry tb style
with color value for press effect to be applied on link text.

Reviewers: tasn

Subscribers: shilpasingh, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3629
---
 src/lib/edje/edje_entry.c | 52 +++
 1 file changed, 52 insertions(+)

diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
index 2519461..e87b88e 100644
--- a/src/lib/edje/edje_entry.c
+++ b/src/lib/edje/edje_entry.c
@@ -50,6 +50,7 @@ struct _Entry
Eina_Bool  input_panel_enable : 1;
Eina_Bool  prediction_allow : 1;
Eina_Bool  anchors_updated : 1;
+   Eina_Bool  have_link_pressed : 1;
 
 #ifdef HAVE_ECORE_IMF
Eina_Bool  have_preedit : 1;
@@ -761,6 +762,28 @@ _sel_update(Edje *ed, Evas_Textblock_Cursor *c 
EINA_UNUSED, Evas_Object *o, Entr
  }
 }
 
+static Eina_Bool
+_edje_entry_style_tag_check(Edje_Real_Part *rp, const char *tag)
+{
+const Evas_Textblock_Style *ts = NULL;
+
+ts = evas_object_textblock_style_user_peek(rp->object);
+if (ts)
+  {
+ if (strstr(evas_textblock_style_get(ts), tag)) return EINA_TRUE;
+  }
+else
+  {
+ ts = evas_object_textblock_style_get(rp->object);
+ if (ts)
+   {
+  if (strstr(evas_textblock_style_get(ts), tag)) return EINA_TRUE;
+   }
+  }
+
+   return EINA_FALSE;
+}
+
 static void
 _edje_anchor_mouse_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info)
 {
@@ -794,6 +817,14 @@ _edje_anchor_mouse_down_cb(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EIN
 else
   snprintf(buf, len, "anchor,mouse,down,%i,%s", ev->button, n);
 _edje_emit(ed, buf, rp->part->name);
+
+/* Link Pressed effect */
+if (_edje_entry_style_tag_check(rp, "link_pressed="))
+  {
+ an->en->have_link_pressed = EINA_TRUE;
+ evas_textblock_cursor_format_append(an->start, "");
+ evas_textblock_cursor_format_prepend(an->end, "");
+  }
  }
ev->event_flags |= rp->part->mask_flags;
 }
@@ -826,8 +857,29 @@ _edje_anchor_mouse_up_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_
   {
  snprintf(buf, len, "anchor,mouse,up,%i,%s", ev->button, n);
  _edje_emit(ed, buf, rp->part->name);
+ /* Link Pressed effect */
+ if (an->en->have_link_pressed)
+   {
+  const Evas_Object_Textblock_Node_Format *node;
+  node = evas_textblock_node_format_first_get(rp->object);
+  for (; node; node = 
evas_textblock_node_format_next_get(node))
+{
+const char *text = 
evas_textblock_node_format_text_get(node);
+
+if (text)
+  {
+ if (!strcmp(text, "+ link_pressed"))
+   {
+  
evas_textblock_node_format_remove_pair(rp->object,
+   (Evas_Object_Textblock_Node_Format 
*)node);
+  break;
+   }
+  }
+}
+   }
   }
  }
+
if ((rp->still_in) && (rp->clicked_button == ev->button) && (!ignored))
  {
 snprintf(buf, len, "anchor,mouse,clicked,%i,%s", ev->button, n);

-- 




[EGIT] [core/efl] master 01/01: embryo_cc: Buffer overflow check.

2016-07-11 Thread Umesh Tanwar
raster pushed a commit to branch master.

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

commit 9986ac387ec29d79bf0f2dd6f3cade4cdca84fa5
Author: Umesh Tanwar 
Date:   Mon Jul 11 18:08:31 2016 +0900

embryo_cc: Buffer overflow check.

Summary:
A string is copied to the array '[0]' of size 32,
without checking it's length at first at embryo_cc_sc1.c:2101.
So, used assert  to avoid possible overflow.

Signed-off-by: Umesh Tanwar 

Reviewers: Hermet, cedric, raster

Reviewed By: raster

Subscribers: singh.amitesh, jpeg

Differential Revision: https://phab.enlightenment.org/D3602
---
 src/bin/embryo/embryo_cc_sc1.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/embryo/embryo_cc_sc1.c b/src/bin/embryo/embryo_cc_sc1.c
index b5d0c4f..b536934 100644
--- a/src/bin/embryo/embryo_cc_sc1.c
+++ b/src/bin/embryo/embryo_cc_sc1.c
@@ -2098,6 +2098,7 @@ funcstub(int native)
 error(10); /* illegal function or declaration */
 return;
  } /* if */
+assert(("strcpy: source str size is more than available at 
destination", sizeof(str) <= sNAMEMAX));
strcpy(symbolname, str);
  } /* if */
needtoken('('); /* only functions may be native/forward */

-- 




[EGIT] [core/efl] master 02/06: ecore_wl2: buffer reading of the data

2016-07-11 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit c3006783916d893ba5dc80115cbeaf0d0cc0f52f
Author: Marcel Hollerbach 
Date:   Wed Jul 6 14:48:46 2016 +0200

ecore_wl2: buffer reading of the data

Otherwise callbacks can go out even if the selection data is not ready
to read.
---
 src/lib/ecore_wl2/Ecore_Wl2.h |   1 -
 src/lib/ecore_wl2/ecore_wl2_dnd.c |  37 +--
 src/lib/ecore_wl2/ecore_wl2_private.h |   2 +
 src/lib/elementary/elm_cnp.c  | 117 +++---
 4 files changed, 74 insertions(+), 83 deletions(-)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index fef28a6..615d728 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -146,7 +146,6 @@ typedef struct _Ecore_Wl2_Event_Selection_Data_Ready
 {
char *data;
int len;
-   Eina_Bool done;
Ecore_Wl2_Selection_Type sel_type;
 } Ecore_Wl2_Event_Selection_Data_Ready;
 
diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c 
b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index d093d0b..2c63ff2 100644
--- a/src/lib/ecore_wl2/ecore_wl2_dnd.c
+++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c
@@ -227,7 +227,6 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh)
char buffer[PATH_MAX];
Ecore_Wl2_Dnd_Source *source = data;
Ecore_Wl2_Event_Selection_Data_Ready *event;
-   Eina_Bool ret;
 
fd = ecore_main_fd_handler_fd_get(fdh);
if (fd >= 0)
@@ -254,29 +253,31 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh)
 ecore_main_fd_handler_del(source->fdh);
 source->fdh = NULL;
 
-event->done = EINA_TRUE;
-event->data = NULL;
-event->len = 0;
-ret = ECORE_CALLBACK_CANCEL;
+event->data = source->read_data;
+event->len = source->len;
+ecore_event_add(ECORE_WL2_EVENT_SELECTION_DATA_READY, event,
+_selection_data_ready_cb_free, NULL);
+
+return ECORE_CALLBACK_CANCEL;
  }
else
  {
-event->data = malloc(len);
-if (!event->data)
+int old_len = source->len;
+
+if (!source->read_data)
   {
- free(event);
- return ECORE_CALLBACK_CANCEL;
+ source->read_data = malloc(len);
+ source->len = len;
   }
-memcpy(event->data, buffer, len);
-event->len = len;
-event->done = EINA_FALSE;
-ret = ECORE_CALLBACK_RENEW;
- }
-
-   ecore_event_add(ECORE_WL2_EVENT_SELECTION_DATA_READY, event,
-   _selection_data_ready_cb_free, NULL);
+else
+  {
+ source->len += len;
+   source->read_data = realloc(source->read_data, source->len);
+}
 
-   return ret;
+memcpy(((char*)source->read_data) + old_len, buffer, len);
+return ECORE_CALLBACK_RENEW;
+ }
 }
 
 static void
diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h 
b/src/lib/ecore_wl2/ecore_wl2_private.h
index 1cfae47..1d27f60 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -195,6 +195,8 @@ typedef struct _Ecore_Wl2_Dnd_Source
uint32_t source_actions;
Ecore_Wl2_Selection_Type sel_type;
Eina_Bool active_read;
+   void *read_data;
+   unsigned int len;
 } Ecore_Wl2_Dnd_Source;
 
 
diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c
index 23d9753..1a5ce93 100644
--- a/src/lib/elementary/elm_cnp.c
+++ b/src/lib/elementary/elm_cnp.c
@@ -3121,74 +3121,68 @@ _wl_selection_receive(void *udata, int type 
EINA_UNUSED, void *event)
 
if (sel->requestwidget)
  {
-if (!ev->done)
+if (sel->seltype == ELM_SEL_TYPE_XDND)
   {
- if (sel->seltype == ELM_SEL_TYPE_XDND)
-   {
-  Elm_Selection_Data sdata;
-  Eina_List *l;
-  Dropable *dropable;
-
-  EINA_LIST_FOREACH(drops, l, dropable)
-{
-   if (dropable->obj == sel->requestwidget) break;
-   dropable = NULL;
-}
-
-  if (dropable)
-{
-   Dropable_Cbs *cbs;
-
-   sdata.x = savedtypes.x;
-   sdata.y = savedtypes.y;
-   sdata.format = ELM_SEL_FORMAT_TEXT;
-   sdata.data = ev->data;
-   sdata.len = ev->len;
-   sdata.action = sel->action;
-
-   EINA_INLIST_FOREACH(dropable->cbs_list, cbs)
- if (cbs->dropcb)
-   cbs->dropcb(cbs->dropdata, dropable->obj, );
+ Elm_Selection_Data sdata;
+ Eina_List *l;
+ Dropable *dropable;
 
-   goto end;
-}
+

[EGIT] [core/efl] master 06/06: elput: check for a special return value

2016-07-11 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 38554b652a14f5a089a3384e61f2fa6d05ceebcb
Author: Marcel Hollerbach 
Date:   Sun Jul 10 19:07:33 2016 +0200

elput: check for a special return value

sd_pid_get_session returns ENODATA or ENXIO if it was unable to fetch
the session data for the given pid, reason for that is mostly that the
pid is not running is a session. Adding this as the error value can help
the user debugging the problem without the need of gdb´ing into the
function and checking the return value.
---
 src/lib/elput/elput_logind.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index 206f6e8..5d97a02 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -420,9 +420,13 @@ _logind_connect(Elput_Manager **manager, const char *seat, 
unsigned int tty)
em->seat = eina_stringshare_add(seat);
 
ret = sd_pid_get_session(getpid(), >sid);
+
if (ret < 0)
  {
-ERR("Could not get systemd session");
+if (ret == -ENODATA || ret == -ENXIO)
+  ERR("Could not get systemd session, the pid is outside a session, 
check that you are running inside a logind-session.");
+else
+  ERR("Could not get systemd session");
 goto session_err;
  }
 

-- 




[EGIT] [core/efl] master 04/06: ecore_wl2: split of cnp_selection_data_ready and dnd_selection_data_ready

2016-07-11 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 75bb8060b3be30390e2e2520d56a1314db177374
Author: Marcel Hollerbach 
Date:   Wed Jul 6 20:09:07 2016 +0200

ecore_wl2: split of cnp_selection_data_ready and
dnd_selection_data_ready

before there was the case that both handlers are called even if just dnd
data arrived.
---
 src/lib/ecore_wl2/Ecore_Wl2.h | 3 ++-
 src/lib/ecore_wl2/ecore_wl2.c | 9 ++---
 src/lib/ecore_wl2/ecore_wl2_dnd.c | 8 ++--
 src/lib/elementary/elm_cnp.c  | 4 ++--
 4 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index 615d728..a6c3d36 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -192,12 +192,13 @@ EAPI extern int ECORE_WL2_EVENT_DND_LEAVE; /** @since 
1.17 */
 EAPI extern int ECORE_WL2_EVENT_DND_MOTION; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_DND_DROP; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_DND_END; /** @since 1.17 */
+EAPI extern int ECORE_WL2_EVENT_DND_DATA_READY;
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_END; /** @since 1.18 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_DROP; /** @since 1.18 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_ACTION; /** @since 1.18 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_TARGET; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_DATA_SOURCE_SEND; /** @since 1.17 */
-EAPI extern int ECORE_WL2_EVENT_SELECTION_DATA_READY; /** @since 1.17 */
+EAPI extern int ECORE_WL2_EVENT_CNP_DATA_READY; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_WINDOW_CONFIGURE; /** @since 1.17 */
 EAPI extern int ECORE_WL2_EVENT_SYNC_DONE; /** @since 1.17 */
 
diff --git a/src/lib/ecore_wl2/ecore_wl2.c b/src/lib/ecore_wl2/ecore_wl2.c
index e9cf9f6..0f8850f 100644
--- a/src/lib/ecore_wl2/ecore_wl2.c
+++ b/src/lib/ecore_wl2/ecore_wl2.c
@@ -28,7 +28,8 @@ EAPI int ECORE_WL2_EVENT_DATA_SOURCE_DROP = 0;
 EAPI int ECORE_WL2_EVENT_DATA_SOURCE_ACTION = 0;
 EAPI int ECORE_WL2_EVENT_DATA_SOURCE_TARGET = 0;
 EAPI int ECORE_WL2_EVENT_DATA_SOURCE_SEND = 0;
-EAPI int ECORE_WL2_EVENT_SELECTION_DATA_READY = 0;
+EAPI int ECORE_WL2_EVENT_CNP_DATA_READY = 0;
+EAPI int ECORE_WL2_EVENT_DND_DATA_READY = 0;
 EAPI int ECORE_WL2_EVENT_WINDOW_CONFIGURE = 0;
 EAPI int ECORE_WL2_EVENT_SYNC_DONE = 0;
 
@@ -86,7 +87,8 @@ ecore_wl2_init(void)
 ECORE_WL2_EVENT_DATA_SOURCE_ACTION = ecore_event_type_new();
 ECORE_WL2_EVENT_DATA_SOURCE_TARGET = ecore_event_type_new();
 ECORE_WL2_EVENT_DATA_SOURCE_SEND = ecore_event_type_new();
-ECORE_WL2_EVENT_SELECTION_DATA_READY = ecore_event_type_new();
+ECORE_WL2_EVENT_CNP_DATA_READY = ecore_event_type_new();
+ECORE_WL2_EVENT_DND_DATA_READY = ecore_event_type_new();
 ECORE_WL2_EVENT_WINDOW_CONFIGURE = ecore_event_type_new();
 ECORE_WL2_EVENT_SYNC_DONE = ecore_event_type_new();
 _ecore_wl2_event_window_www = ecore_event_type_new();
@@ -136,7 +138,8 @@ ecore_wl2_shutdown(void)
ECORE_WL2_EVENT_DATA_SOURCE_ACTION = 0;
ECORE_WL2_EVENT_DATA_SOURCE_TARGET = 0;
ECORE_WL2_EVENT_DATA_SOURCE_SEND = 0;
-   ECORE_WL2_EVENT_SELECTION_DATA_READY = 0;
+   ECORE_WL2_EVENT_DND_DATA_READY = 0;
+   ECORE_WL2_EVENT_CNP_DATA_READY = 0;
ECORE_WL2_EVENT_WINDOW_CONFIGURE = 0;
ECORE_WL2_EVENT_SYNC_DONE = 0;
 
diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c 
b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index 4b44b4a..82e83be 100644
--- a/src/lib/ecore_wl2/ecore_wl2_dnd.c
+++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c
@@ -255,8 +255,12 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh)
 
 event->data = source->read_data;
 event->len = source->len;
-ecore_event_add(ECORE_WL2_EVENT_SELECTION_DATA_READY, event,
-_selection_data_ready_cb_free, NULL);
+if (source->input->drag.source)
+  ecore_event_add(ECORE_WL2_EVENT_DND_DATA_READY, event,
+  _selection_data_ready_cb_free, NULL);
+else
+  ecore_event_add(ECORE_WL2_EVENT_CNP_DATA_READY, event,
+  _selection_data_ready_cb_free, NULL);
 
 return ECORE_CALLBACK_CANCEL;
  }
diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c
index 1a5ce93..663e89e 100644
--- a/src/lib/elementary/elm_cnp.c
+++ b/src/lib/elementary/elm_cnp.c
@@ -3204,7 +3204,7 @@ _wl_elm_cnp_init(void)
 
ecore_event_handler_add(ECORE_WL2_EVENT_DATA_SOURCE_SEND,
_wl_selection_send, _cnp_selection);
-   ecore_event_handler_add(ECORE_WL2_EVENT_SELECTION_DATA_READY,
+   ecore_event_handler_add(ECORE_WL2_EVENT_CNP_DATA_READY,
_wl_selection_receive, _cnp_selection);
 
return EINA_TRUE;
@@ -3221,7 +3221,7 @@ _wl_elm_dnd_init(void)
text_uri = eina_stringshare_add("text/uri-list");
 
   

[EGIT] [core/efl] master 01/06: ecore_wl2: delay the destruction of the offer or do it in the read

2016-07-11 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit cf5a79ea608814e3eed9436b34a2cfe174778022
Author: Marcel Hollerbach 
Date:   Wed Jul 6 14:48:08 2016 +0200

ecore_wl2: delay the destruction of the offer or do it in the read
---
 src/lib/ecore_wl2/ecore_wl2_dnd.c | 24 ++--
 src/lib/ecore_wl2/ecore_wl2_private.h |  1 +
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c 
b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index e0863da..d093d0b 100644
--- a/src/lib/ecore_wl2/ecore_wl2_dnd.c
+++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c
@@ -246,6 +246,7 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh)
  if (source->input->display->wl.data_device_manager_version >=
  WL_DATA_OFFER_FINISH_SINCE_VERSION)
wl_data_offer_finish(source->offer);
+   wl_data_offer_destroy(source->offer);
   }
 
 fd = ecore_main_fd_handler_fd_get(source->fdh);
@@ -283,6 +284,8 @@ _selection_data_receive(Ecore_Wl2_Dnd_Source *source, const 
char *type)
 {
int p[2];
 
+   source->active_read = EINA_TRUE;
+
if (pipe2(p, O_CLOEXEC) == -1)
  return;
 
@@ -360,6 +363,23 @@ _ecore_wl2_dnd_enter(Ecore_Wl2_Input *input, struct 
wl_data_offer *offer, struct
ecore_event_add(ECORE_WL2_EVENT_DND_ENTER, ev, NULL, NULL);
 }
 
+static void
+_delay_offer_destroy(void *user_data, void *event)
+{
+   Ecore_Wl2_Dnd_Source *source;
+
+   source = user_data;
+
+   if (source && source->offer
+   && !source->active_read)
+ {
+wl_data_offer_destroy(source->offer);
+source->offer = NULL;
+ }
+
+   free(event);
+}
+
 void
 _ecore_wl2_dnd_leave(Ecore_Wl2_Input *input)
 {
@@ -377,7 +397,7 @@ _ecore_wl2_dnd_leave(Ecore_Wl2_Input *input)
 
if (!ev->win) ev->win = ev->source;
 
-   ecore_event_add(ECORE_WL2_EVENT_DND_LEAVE, ev, NULL, NULL);
+   ecore_event_add(ECORE_WL2_EVENT_DND_LEAVE, ev, _delay_offer_destroy, 
input->drag.source);
 }
 
 void
@@ -430,7 +450,7 @@ _ecore_wl2_dnd_drop(Ecore_Wl2_Input *input)
ev->x = input->pointer.sx;
ev->y = input->pointer.sy;
 
-   ecore_event_add(ECORE_WL2_EVENT_DND_DROP, ev, NULL, NULL);
+   ecore_event_add(ECORE_WL2_EVENT_DND_DROP, ev, _delay_offer_destroy, 
input->drag.source);
 }
 
 void
diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h 
b/src/lib/ecore_wl2/ecore_wl2_private.h
index 4f5a441..1cfae47 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -194,6 +194,7 @@ typedef struct _Ecore_Wl2_Dnd_Source
uint32_t dnd_action;
uint32_t source_actions;
Ecore_Wl2_Selection_Type sel_type;
+   Eina_Bool active_read;
 } Ecore_Wl2_Dnd_Source;
 
 

-- 




[EGIT] [core/efl] master 03/06: ecore_wl2: only destroy source when not needed anymore.

2016-07-11 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 63e88bdcfa9708d776ece549a0e41a1fd26f813a
Author: Marcel Hollerbach 
Date:   Wed Jul 6 14:54:53 2016 +0200

ecore_wl2: only destroy source when not needed anymore.

Otherwise we are destroying the source before getting dnd_finished or
cancled events, which is a problem.
---
 src/lib/ecore_wl2/ecore_wl2_dnd.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c 
b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index 2c63ff2..4b44b4a 100644
--- a/src/lib/ecore_wl2/ecore_wl2_dnd.c
+++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c
@@ -595,9 +595,6 @@ ecore_wl2_dnd_drag_end(Ecore_Wl2_Input *input)
 wl_array_init(>data.types);
  }
 
-   if (input->data.source) wl_data_source_destroy(input->data.source);
-   input->data.source = NULL;
-
ev = calloc(1, sizeof(Ecore_Wl2_Event_Dnd_End));
if (!ev) return;
 

-- 




[EGIT] [core/efl] master 05/06: ecore_wl2: Make offer destroy more secure

2016-07-11 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit f0325fc190cc6df02457581f0fc7c7a05185ffed
Author: Marcel Hollerbach 
Date:   Wed Jul 6 20:10:05 2016 +0200

ecore_wl2: Make offer destroy more secure

Check if it is NULL and NULL after each destroy call
---
 src/lib/ecore_wl2/ecore_wl2_dnd.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c 
b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index 82e83be..827bc55 100644
--- a/src/lib/ecore_wl2/ecore_wl2_dnd.c
+++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c
@@ -246,6 +246,7 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh)
  WL_DATA_OFFER_FINISH_SINCE_VERSION)
wl_data_offer_finish(source->offer);
wl_data_offer_destroy(source->offer);
+   source->offer = NULL;
   }
 
 fd = ecore_main_fd_handler_fd_get(source->fdh);
@@ -487,7 +488,11 @@ _ecore_wl2_dnd_del(Ecore_Wl2_Dnd_Source *source)
   close(ecore_main_fd_handler_fd_get(source->fdh));
 ecore_main_fd_handler_del(source->fdh);
  }
-   wl_data_offer_destroy(source->offer);
+   if (source->offer)
+ {
+wl_data_offer_destroy(source->offer);
+source->offer = NULL;
+ }
wl_array_release(>types);
free(source);
 }

-- 




[EGIT] [tools/eflete] master 01/01: menu: fix events blocking

2016-07-11 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=3d61c8f09ef444c8814d5fda2ba2460b2f0b6526

commit 3d61c8f09ef444c8814d5fda2ba2460b2f0b6526
Author: Andrii Kroitor 
Date:   Mon Jul 11 11:53:31 2016 +0300

menu: fix events blocking
---
 data/themes/default/widgets/menu.edc | 6 --
 1 file changed, 6 deletions(-)

diff --git a/data/themes/default/widgets/menu.edc 
b/data/themes/default/widgets/menu.edc
index 95b3bd7..bd197b1 100644
--- a/data/themes/default/widgets/menu.edc
+++ b/data/themes/default/widgets/menu.edc
@@ -870,14 +870,12 @@ group { name: "elm/hover/base/main_menu_submenu/default";
parts {
   part { name: "base";
  type: RECT;
- repeat_events: 1;
  description { state: "default" 0.0;
 color: 0 0 0 0;
  }
   }
   part { name: "elm.swallow.offset";
  type: SWALLOW;
- repeat_events: 1;
  description { state: "default" 0.0;
 align: 0.0 0.0;
 fixed: 1 1;
@@ -948,7 +946,6 @@ group { name: "elm/hover/base/main_menu_submenu/default";
   part { name: "pop";
  type: RECT;
  mouse_events: 1;
- repeat_events:1;
  description { state: "default" 0.0;
 visible: 0;
 fixed: 0 1;
@@ -964,7 +961,6 @@ group { name: "elm/hover/base/main_menu_submenu/default";
   }
   part { name: "elm.swallow.slot.middle";
  type: SWALLOW;
- repeat_events:1;
  description { state: "default" 0.0;
 rel1.to: "elm.swallow.size";
 rel2.to: "elm.swallow.size";
@@ -1000,7 +996,6 @@ group { name: "elm/hover/base/submenu/default";
inherit: "elm/hover/base/main_menu_submenu/default";
parts {
   part { name: "elm.swallow.offset";
- repeat_events: 1;
  description { state: "default" 0.0;
 rel1.offset: 2 0;
  }
@@ -1008,7 +1003,6 @@ group { name: "elm/hover/base/submenu/default";
   //here we don't catch events like the hover does
   part { name: "base";
  type: RECT;
- repeat_events: 1;
  description { state: "visible" 0.0;
 color: 0 0 0 0;
 visible: 0;

-- 




[EGIT] [core/efl] master 01/01: Evas textblock: Apply scale factor to , formats

2016-07-11 Thread Youngbok Shin
raster pushed a commit to branch master.

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

commit 64e0dc341dfb0f9187254d26b6fde705b4830f52
Author: Youngbok Shin 
Date:   Mon Jul 11 17:57:36 2016 +0900

Evas textblock: Apply scale factor to ,  formats

Summary:
Font size is scaled according to scale factor.
The linesize, linegap formats also have to be scaled properly.
@fix

Test Plan:
Test cases are included.
Run "make check"

Reviewers: woohyun, Jieun, tasn, herdsman

Reviewed By: tasn

Subscribers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3688
---
 src/lib/evas/canvas/evas_object_textblock.c |  9 +
 src/tests/evas/evas_test_textblock.c| 28 ++--
 2 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 1342ff5..3503e71 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -2716,10 +2716,11 @@ _layout_format_ascent_descent_adjust(const Evas_Object 
*eo_obj,
 descent = *maxdescent;
 if (fmt->linesize > 0)
   {
- if ((ascent + descent) < fmt->linesize)
+ int scaled_linesize = fmt->linesize * obj->cur->scale;
+ if ((ascent + descent) < scaled_linesize)
{
-  ascent = ((fmt->linesize * ascent) / (ascent + descent));
-  descent = fmt->linesize - ascent;
+  ascent = ((scaled_linesize * ascent) / (ascent + descent));
+  descent = scaled_linesize - ascent;
}
   }
 else if (fmt->linerelsize > 0.0)
@@ -2727,7 +2728,7 @@ _layout_format_ascent_descent_adjust(const Evas_Object 
*eo_obj,
  descent = descent * fmt->linerelsize;
  ascent = ascent * fmt->linerelsize;
   }
-descent += fmt->linegap;
+descent += fmt->linegap * obj->cur->scale;
 descent += ((ascent + descent) * fmt->linerelgap);
 if (*maxascent < ascent) *maxascent = ascent;
 if (*maxdescent < descent) *maxdescent = descent;
diff --git a/src/tests/evas/evas_test_textblock.c 
b/src/tests/evas/evas_test_textblock.c
index 381c938..f2e542a 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -3205,6 +3205,7 @@ START_TEST(evas_textblock_formats)
START_TB_TEST();
const char *buf = 

[EGIT] [core/efl] master 01/01: elm main - fix indentation whitespace since iw as the last to touch it

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 743880a1754ca8b6f0c96d84eae79d758bb05d31
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 17:35:25 2016 +0900

elm main - fix indentation whitespace since iw as the last to touch it
---
 src/lib/elementary/elm_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index 53acd56..ccce58a 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -444,7 +444,7 @@ elm_app_prefix_dir_get(void)
 {
if (app_prefix_dir) return app_prefix_dir;
_prefix_check();
-  if (!app_pfx) return "";
+   if (!app_pfx) return "";
app_prefix_dir = eina_prefix_get(app_pfx);
return app_prefix_dir;
 }

-- 




[EGIT] [core/efl] master 01/01: Edje entry: Skip codes for updating cursor when cursor position is not changed

2016-07-11 Thread Youngbok Shin
raster pushed a commit to branch master.

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

commit df40586f655678fc43b2c1ef747fa5ea5b7ac3fe
Author: Youngbok Shin 
Date:   Mon Jul 11 17:09:31 2016 +0900

Edje entry: Skip codes for updating cursor when cursor position is not 
changed

Summary:
When ever a Edje's cursor function is called, "cursor,changed" signal is
emitted. Even if the position is not changed. And, in Elementary, the signal
will trigger evas_smart_objects_calculate() from 
elm_widget_show_region_set().
It causes bad performace.
@fix

Test Plan: N/A

Reviewers: tasn, herdsman, cedric, woohyun

Subscribers: jpeg, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D3902
---
 src/lib/edje/edje_entry.c | 25 +
 1 file changed, 25 insertions(+)

diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
index c5ed2b3..2519461 100644
--- a/src/lib/edje/edje_entry.c
+++ b/src/lib/edje/edje_entry.c
@@ -3822,6 +3822,7 @@ _edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor 
cur)
 {
Entry *en;
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   int old_cur_pos;
 
if ((rp->type != EDJE_RP_TYPE_TEXT) ||
(!rp->typedata.text)) return;
@@ -3831,7 +3832,12 @@ _edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor 
cur)
 
_edje_entry_imf_context_reset(rp);
 
+   old_cur_pos = evas_textblock_cursor_pos_get(c);
evas_textblock_cursor_paragraph_first(c);
+
+   if (old_cur_pos == evas_textblock_cursor_pos_get(c))
+ return;
+
_sel_update(en->ed, c, rp->object, rp->typedata.text->entry_data);
 
_edje_entry_imf_cursor_info_set(en);
@@ -3844,6 +3850,7 @@ _edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor 
cur)
 {
Entry *en;
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   int old_cur_pos;
 
if ((rp->type != EDJE_RP_TYPE_TEXT) ||
(!rp->typedata.text)) return;
@@ -3853,7 +3860,12 @@ _edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor 
cur)
 
_edje_entry_imf_context_reset(rp);
 
+   old_cur_pos = evas_textblock_cursor_pos_get(c);
_curs_end(c, rp->object, rp->typedata.text->entry_data);
+
+   if (old_cur_pos == evas_textblock_cursor_pos_get(c))
+ return;
+
_sel_update(en->ed, c, rp->object, rp->typedata.text->entry_data);
 
_edje_entry_imf_cursor_info_set(en);
@@ -3891,6 +3903,7 @@ _edje_entry_cursor_line_begin(Edje_Real_Part *rp, 
Edje_Cursor cur)
 {
Entry *en;
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   int old_cur_pos;
 
if ((rp->type != EDJE_RP_TYPE_TEXT) ||
(!rp->typedata.text)) return;
@@ -3899,7 +3912,12 @@ _edje_entry_cursor_line_begin(Edje_Real_Part *rp, 
Edje_Cursor cur)
if (!c) return;
_edje_entry_imf_context_reset(rp);
 
+   old_cur_pos = evas_textblock_cursor_pos_get(c);
evas_textblock_cursor_line_char_first(c);
+
+   if (old_cur_pos == evas_textblock_cursor_pos_get(c))
+ return;
+
_sel_update(en->ed, c, rp->object, rp->typedata.text->entry_data);
 
_edje_entry_imf_cursor_info_set(en);
@@ -3913,6 +3931,7 @@ _edje_entry_cursor_line_end(Edje_Real_Part *rp, 
Edje_Cursor cur)
 {
Entry *en;
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
+   int old_cur_pos;
 
if ((rp->type != EDJE_RP_TYPE_TEXT) ||
(!rp->typedata.text)) return;
@@ -3920,7 +3939,13 @@ _edje_entry_cursor_line_end(Edje_Real_Part *rp, 
Edje_Cursor cur)
if (!en) return;
if (!c) return;
_edje_entry_imf_context_reset(rp);
+
+   old_cur_pos = evas_textblock_cursor_pos_get(c);
evas_textblock_cursor_line_char_last(c);
+
+   if (old_cur_pos == evas_textblock_cursor_pos_get(c))
+ return;
+
_sel_update(en->ed, c, rp->object, rp->typedata.text->entry_data);
 
_edje_entry_imf_cursor_info_set(en);

-- 




[EGIT] [apps/terminology] master 01/01: open keys - fix compiler warnings

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=d477e1be7ad7671f97936083b55640adfec7181b

commit d477e1be7ad7671f97936083b55640adfec7181b
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 17:28:51 2016 +0900

open keys - fix compiler warnings
---
 src/bin/options_keys.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/options_keys.c b/src/bin/options_keys.c
index d74089c..9dd5b6a 100644
--- a/src/bin/options_keys.c
+++ b/src/bin/options_keys.c
@@ -6,6 +6,7 @@
 #include "options.h"
 #include "options_keys.h"
 #include "keyin.h"
+#include "utils.h"
 
 /*XXX: can have only one widget at a time… */
 static Config *_config;
@@ -151,7 +152,7 @@ _cb_mouse_down(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
 static void
 _hover_sizing_eval(void)
 {
-   Evas_Coord x = 0, y = 0, w = 0, h = 0, min_w, min_h, new_x, new_y;
+   Evas_Coord x = 0, y = 0, w = 0, h = 0;
evas_object_geometry_get(_fr, , , , );
 #if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8)
evas_object_geometry_set(_layout, x, y, w, h);

-- 




[EGIT] [core/efl] master 01/01: elm_calendar: provides way for configuration of weekend text color

2016-07-11 Thread Jiwon Kim
raster pushed a commit to branch master.

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

commit 5e2b1dde68bc6f61ec20fde47f5c849348c25636
Author: Jiwon Kim 
Date:   Mon Jul 11 16:10:34 2016 +0900

elm_calendar: provides way for configuration of weekend text color

Summary:
Suggest new mark_type for elm_calendar_mark_add().
The mark names are "weekend/day1", "weekend/day2".
It can be used for each country.
Some country can apply to "weekend/day2" to friday if day rest only a day 
for a week.
Until now, there is no way to separate holiday, saturday and sunday.

Test Plan:
1. saturday
```
struct tm t = { 0, 0, 12, 6, 0, 0, 6, 6, -1 };
elm_calendar_mark_add(obj, "weekend/day1", , ELM_CALENDAR_WEEKLY);
```
2. sunday
```
 struct tm t = { 0, 0, 12, 7, 0, 0, 0, 0, -1 };
 elm_calendar_mark_add(obj, "weekend/day2", , ELM_CALENDAR_WEEKLY);
```

Reviewers: CHAN, cedric, raster

Reviewed By: raster

Subscribers: raster, akanad, id213sin, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4148
---
 data/elementary/themes/colorclasses.edc | 10 ++
 data/elementary/themes/edc/elm/calendar.edc | 49 +
 src/lib/elementary/elm_removed.h|  4 +--
 3 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/data/elementary/themes/colorclasses.edc 
b/data/elementary/themes/colorclasses.edc
index dbfc3f8..ab6dc07 100644
--- a/data/elementary/themes/colorclasses.edc
+++ b/data/elementary/themes/colorclasses.edc
@@ -170,6 +170,16 @@ color_classes {
   color3: 255 255 255 192;
   desc: "Disabled Day Text";
}
+   color_class { name: "calendar_day_text_weekend1";
+  color: 128 128 128 255;
+  color3: 0 0 0 128;
+  desc: "Weekend Day1 Text";
+   }
+   color_class { name: "calendar_day_text_weekend2";
+  color: 128 128 128 255;
+  color3: 0 0 0 128;
+  desc: "Weekend Day2 Text";
+   }
color_class { name: "check_text";
   color: FN_COL_DEFAULT;
   desc: "Text of a checkbox's label";
diff --git a/data/elementary/themes/edc/elm/calendar.edc 
b/data/elementary/themes/edc/elm/calendar.edc
index e5edcba..662bd51 100644
--- a/data/elementary/themes/edc/elm/calendar.edc
+++ b/data/elementary/themes/edc/elm/calendar.edc
@@ -11,6 +11,12 @@
   style { name: "calendar_date_disabled_style";\
  base: "font="FN" font_size=10 color=#151515 style=shadow,bottom 
shadow_color=#ffc0 align=center text_class=calendar_day_text_disabled 
text_class=calendar_day_text_disabled";\
   }\
+  style { name: "calendar_date_weekend1_style";\
+ base: "font="FN" font_size=10 color=#2020C0 style=shadow,bottom 
shadow_color=#ffc0 align=center text_class=calendar_day_text_weekend1 
color_class=calendar_day_text_weekend1";\
+  }\
+  style { name: "calendar_date_weekend2_style";\
+ base: "font="FN" font_size=10 color=#C02020 style=shadow,bottom 
shadow_color=#ffc0 align=center text_class=calendar_day_text_weekend2 
color_class=calendar_day_text_weekend2";\
+  }\
 
 #define CAL_SPIN(_sufix, _text, _relative)\
   part { name: "left_bt"#_sufix; type: SPACER;\
@@ -215,6 +221,14 @@
  inherit: "default" 0.0; \
  text.style: "calendar_date_disabled_style"; \
   } \
+  description { state: "weekend/day1" 0.0; \
+ inherit: "default" 0.0; \
+ text.style: "calendar_date_weekend1_style"; \
+  } \
+  description { state: "weekend/day2" 0.0; \
+ inherit: "default" 0.0; \
+ text.style: "calendar_date_weekend2_style"; \
+  } \
} \
part { name: "cit_"#_pos".check"; mouse_events: 0; \
   scale: 1; \
@@ -324,9 +338,20 @@
  source:  "elm"; \
  action:  STATE_SET "default" 0.0; \
  target:  "cit_"#_pos".check"; \
+ after:   "cit_"#_pos".weekends_clear"; \
  after:   "cit_"#_pos".holiday_clear"; \
   } \
   program { \
+ name:"cit_"#_pos".weekends_clear"; \
+ script { \
+new st[31]; \
+new Float:vl; \
+get_state(PART:"cit_"#_pos".text", st, 30, vl); \
+if (!strcmp(st, "weekend/day1") || !strcmp(st, "weekend/day2")) \
+  set_state(PART:"cit_"#_pos".text", "default", 0.0); \
+ } \
+  } \
+  program { \
  name:"cit_"#_pos".holiday_clear"; \
  script { \
 new st[31]; \
@@ -355,6 +380,30 @@
   set_state(PART:"cit_"#_pos".text", "holiday", 0.0); \
  } \
   } \
+  program { \
+ name:"cit_"#_pos".weekend/day1"; \
+ signal:  "cit_"#_pos",weekend/day1"; \
+ source:  "elm"; \
+ script { \
+new st[31]; \
+new Float:vl; \
+get_state(PART:"cit_"#_pos".text", st, 30, vl); \
+if ((strcmp(st, 

[E-devel] FW: Question about signal_emit and signal_callback (with or without edc program)

2016-07-11 Thread Hermet Park
Hi. :)
 
elm_hover_dimiss() and _hover_dissmiss_cb() is different.
elm_hover_dismiss() request dismiss event.
and _hover_dismiss_cb() is densigned for the event after dismiss.

So "elm,action,dismiss" is one of necessary signal in the edc.
you can't ignore it missing in edc because it's abi break.


-Original Message-
From: "황보라" 
To: ; 
Cc: 
Sent: 2016-07-05 (화) 11:49:53
Subject: [E-devel] Question about signal_emit and signal_callback (with or 
without edc program)
 
Hello,

I made a sample to test elm_layout_signal_emit ,
elm_layout_signal_callback_add and an edc script.
After running it, I found that callback registered with
elm_layout_signal_callback_add is also called by signal from
elm_layout_signal_emit.
(What I want is the callback is only called from edc program(action:
SIGNAL_EMIT))

Signals emityed from elm_layout _signal_emit and from edc program are
handled by _edje_emit function, and then callback function and program are
called by _edje_emit_handel together. Is this on purpose?

If it is, doesn't elm_hover_dismiss have to call elm_layout_signal_emit but
just call _hov_dismiss_cb directly?
There is no program which can receive "elm,action,dismiss" signal in
hover.edc, so hover just emits and receives the signal from c code only.

Thank you.
--
Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Revert the wobbly window code in wayland_egl engine - fun is over guys

2016-07-11 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 72438ab2a1ebb551552aad85053393b023fecb2c
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Jul 11 14:53:36 2016 +0900

Revert the wobbly window code in wayland_egl engine - fun is over guys

So ok. haha. Amusing. But this is inappropriate.

1. It's not an INTENDED effect in theme so unless the theme ius doing
it - it shouldn't happen.
2. There are places to do this and it's NOT inside an engine. There
are high level filter and other mechanisms.
3. Actually this shouldn't be even done client-side. It should be done
compositor-side when moving a window around. Knowing velocity vector
etc. is useful to a client so the protocol can stay but doing the
animation client-side is "wrong". Some windows wobble and others do
not based on toolkit? really? sure we have to live with the CSD
difference but this? The compositor can do this JUYST fine. leave it
to compositor... OR do this properly with filters client-side. e.g. a
2d displacement map with evas filters would do the job as long as it
interpolates. If you want a way of forcing ALL objects in the canvas
to redirect to an intermediate buffer then do it up there at the
canvas level. It then works in GL and software, as opposed to only GL.

Also this is now causing issues for users:

 hi, from

https://git.enlightenment.org/core/efl.git/commit/?id=fb76fe55a52ac212b6870f1d74470a79ea5c5246
i run EFL_WAYLAND_DISABLE_WWW=1 terminology -> but it crashes in
wayland_egl/www.c in the setup_shaders function  HELP?

so the fun was fune until we do a release (now) and until this causes
problems for users. Back to tried and tested code.

If you want to do this... do it right at the portable layers above.

...

Revert "wayland-egl: Fix use after free"
Revert "wayland_egl: Fix redirect to texture"
Revert "evas-wayland-egl: Add www protocol handling to wayland-egl engine"
Revert "gl_common: Add API for redirecting render to texture"

This reverts commit 2760afbb0e8c8adfb35b1dee016be7883fa07323.
This reverts commit c937248eac0d0996f3cbc31a348b92c8baac2ec3.
This reverts commit c67f50b40aaf2595e21373bf89b53bc1edec44a4.
This reverts commit 0f7f4b6de07707031482f6e3e7f7c69f7fb7e855.
---
 src/Makefile_Evas.am   |   4 +-
 .../evas/engines/gl_common/evas_gl_common.h|  19 -
 .../evas/engines/gl_common/evas_gl_context.c   |  77 +-
 src/modules/evas/engines/wayland_egl/evas_engine.c |  43 -
 src/modules/evas/engines/wayland_egl/evas_engine.h |  27 -
 .../evas/engines/wayland_egl/evas_wl_main.c|  69 +-
 src/modules/evas/engines/wayland_egl/www.c | 885 -
 src/modules/evas/engines/wayland_egl/www.h |  52 --
 8 files changed, 4 insertions(+), 1172 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 0560f93..a1f20d9 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -1215,9 +1215,7 @@ dist_installed_evasmainheaders_DATA += 
modules/evas/engines/wayland_egl/Evas_Eng
 WAYLAND_EGL_SOURCES = \
 modules/evas/engines/wayland_egl/evas_engine.c \
 modules/evas/engines/wayland_egl/evas_wl_main.c \
-modules/evas/engines/wayland_egl/evas_engine.h \
-modules/evas/engines/wayland_egl/www.c \
-modules/evas/engines/wayland_egl/www.h
+modules/evas/engines/wayland_egl/evas_engine.h
 if EVAS_STATIC_BUILD_WAYLAND_EGL
 lib_evas_libevas_la_SOURCES += $(WAYLAND_EGL_SOURCES)
 lib_evas_libevas_la_CPPFLAGS += @evas_engine_wayland_egl_cflags@
diff --git a/src/modules/evas/engines/gl_common/evas_gl_common.h 
b/src/modules/evas/engines/gl_common/evas_gl_common.h
index 809d88b..92e968b 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_common.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_common.h
@@ -60,7 +60,6 @@
 typedef struct _Evas_GL_Program   Evas_GL_Program;
 typedef struct _Evas_GL_SharedEvas_GL_Shared;
 typedef struct _Evas_Engine_GL_ContextEvas_Engine_GL_Context;
-typedef struct _Evas_GL_Redirect  Evas_GL_Redirect;
 typedef struct _Evas_GL_Texture_Pool  Evas_GL_Texture_Pool;
 typedef struct _Evas_GL_Texture_AllocaEvas_GL_Texture_Alloca;
 typedef struct _Evas_GL_Texture   Evas_GL_Texture;
@@ -343,17 +342,6 @@ struct _Evas_Engine_GL_Context
int gles_version;
 
RGBA_Image *font_surface;
-
-   GLuint current_fb;
-};
-
-struct _Evas_GL_Redirect
-{
-  Evas_Engine_GL_Context *gc;
-  GLuint fb;
-  GLuint texture;
-  GLuint depth_buffer;
-  Eina_Bool active : 1;
 };
 
 struct _Evas_GL_Texture_Pool
@@ -540,13 +528,6 @@ typedef void (*Evas_Gl_Symbols)(void 
*(*GetProcAddress)(const char *sym));
 
 EAPI void __evas_gl_err(int err, const char *file, const