[EGIT] [core/efl] master 01/01: menu: Remove extra debug log

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit af85217c6287c2bd45b3151ebca6ecb8ec928907
Author: Jean-Philippe Andre 
Date:   Thu Dec 1 15:42:06 2016 +0900

menu: Remove extra debug log

See 1f9dfe2ed374bd54dd84aaf70abb496b021269cb
Note that this patch causes problems on some systems...
---
 src/lib/elementary/elm_menu.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index 15b7a86..81e60d8 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -135,7 +135,6 @@ _submenu_sizing_eval(Elm_Menu_Item_Data *parent_it)
evas_object_geometry_get(VIEW(parent_it), , , , );
evas_object_geometry_get(parent_it->submenu.bx, , , , );
_parent_geometry_get(sd, , , , );
-   ERR("elm_menu parent geom %d,%d %dx%d", px, py, pw, ph);

if (sd->menu_bar && !parent_it->parent)
  {

-- 




[EGIT] [core/efl] master 03/03: evas/x11: Fix EGL engine for recent nvidia binary

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit a3276714ee363d4481e5b0afef71975fa94667d0
Author: Jean-Philippe Andre 
Date:   Thu Dec 1 15:26:11 2016 +0900

evas/x11: Fix EGL engine for recent nvidia binary

Thank you NVIDIA for breaking your drivers regularly!
eglGetDisplay(x11_display) should work but was consistently
returning 0 instead.

Apparently EGL 1.5 introduced "eglGetPlatformDisplay" that
is more advanced to open a display. So, prefer that over
eglGetDisplay if it's available.

@fix
---
 src/modules/evas/engines/gl_x11/evas_x_main.c | 30 +--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c 
b/src/modules/evas/engines/gl_x11/evas_x_main.c
index 0a2c3d8..73751be 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -149,6 +149,32 @@ _visuals_hash_index_get_from_info(Evas_Engine_Info_GL_X11 
*info)
   info->msaa_bits);
 }
 
+#ifdef GL_GLES
+
+#ifndef EGL_PLATFORM_X11_KHR
+# define EGL_PLATFORM_X11_KHR 0x31D5
+#endif
+
+static EGLDisplay *
+_x11_eglGetDisplay(Display *x11_display)
+{
+   EGLDisplay (*eglsym_eglGetPlatformDisplay)
+ (EGLenum platform, void *native_display, const EGLAttrib 
*attrib_list) = NULL;
+   EGLDisplay *egldisp = EGL_NO_DISPLAY;
+
+   eglsym_eglGetPlatformDisplay = dlsym(RTLD_DEFAULT, "eglGetPlatformDisplay");
+   if (eglsym_eglGetPlatformDisplay)
+ {
+egldisp = eglsym_eglGetPlatformDisplay(EGL_PLATFORM_X11_KHR,
+   (EGLNativeDisplayType) 
x11_display, NULL);
+if (egldisp) return egldisp;
+ }
+
+   return eglGetDisplay((EGLNativeDisplayType) x11_display);
+}
+
+#endif
+
 Outbuf *
 eng_window_new(Evas_Engine_Info_GL_X11 *info,
Evas *e,
@@ -220,7 +246,7 @@ eng_window_new(Evas_Engine_Info_GL_X11 *info,
 // EGL / GLES
 #ifdef GL_GLES
gw->gles3 = gles3_supported;
-   gw->egl_disp = eglGetDisplay((EGLNativeDisplayType)(gw->disp));
+   gw->egl_disp = _x11_eglGetDisplay(gw->disp);
if (!gw->egl_disp)
  {
 ERR("eglGetDisplay() fail. code=%#x", eglGetError());
@@ -853,7 +879,7 @@ eng_best_visual_get(Evas_Engine_Info_GL_X11 *einfo)
const char *eglexts, *s;
int depth = DefaultDepth(einfo->info.display, einfo->info.screen);
 
-   egl_disp = eglGetDisplay((EGLNativeDisplayType)(einfo->info.display));
+   egl_disp = _x11_eglGetDisplay(einfo->info.display);
if (!egl_disp)
  {
 free(evis);

-- 




[EGIT] [core/efl] master 01/03: win: Force opaque region updates on alpha change

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit a2a28a5658aa7c752180d48869f2d9c1408439fb
Author: Jean-Philippe Andre 
Date:   Thu Dec 1 13:21:49 2016 +0900

win: Force opaque region updates on alpha change

What happens is that ecore_wl2 ignores calls to opaque_region_set
if the window has alpha. As a consequence the opaque_region is not
updated server-side and the previous window geometry is kept as
opaque region, even though the window should have alpha.

Thanks @raster for the report.
---
 src/lib/elementary/efl_ui_win.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 0e971c7..bab64e6 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -338,6 +338,7 @@ static void _elm_win_frame_add(Efl_Ui_Win_Data *sd, const 
char *style);
 static void _elm_win_frame_style_update(Efl_Ui_Win_Data *sd, Eina_Bool 
force_emit, Eina_Bool calc);
 static inline void _elm_win_need_frame_adjust(Efl_Ui_Win_Data *sd, const char 
*engine);
 static void _elm_win_resize_objects_eval(Evas_Object *obj);
+static void _elm_win_opaque_update(Efl_Ui_Win_Data *sd, Eina_Bool force_alpha);
 
 #ifdef HAVE_ELEMENTARY_X
 static void _elm_win_xwin_update(Efl_Ui_Win_Data *sd);
@@ -412,6 +413,7 @@ _elm_win_apply_alpha(Eo *obj, Efl_Ui_Win_Data *sd)
if (!sd->ee) return;
 
enabled = sd->theme_alpha | sd->application_alpha;
+   _elm_win_opaque_update(sd, EINA_TRUE);
if (sd->img_obj)
  {
 evas_object_image_alpha_set(sd->img_obj, enabled);
@@ -1341,7 +1343,7 @@ _elm_win_opaque_dirty(Efl_Ui_Win_Data *sd)
 }
 
 static void
-_elm_win_opaque_update(Efl_Ui_Win_Data *sd)
+_elm_win_opaque_update(Efl_Ui_Win_Data *sd, Eina_Bool force_alpha)
 {
 #ifdef HAVE_ELEMENTARY_WL2
int ox, oy, ow, oh;
@@ -1350,7 +1352,7 @@ _elm_win_opaque_update(Efl_Ui_Win_Data *sd)
 
if (!sd->wl.win) return;
wdata = sd->ee->engine.data;
-   alpha = ecore_evas_alpha_get(sd->ee);
+   alpha = ecore_evas_alpha_get(sd->ee) || force_alpha;
if (sd->fullscreen || !sd->frame_obj)
  {
 ecore_evas_geometry_get(sd->ee, NULL, NULL, , );
@@ -4019,7 +4021,7 @@ _elm_win_frame_pre_render(void *data, Evas *e 
EINA_UNUSED, void *ev EINA_UNUSED)
Efl_Ui_Win_Data *sd = data;
 
if (sd->wl.opaque_dirty)
- _elm_win_opaque_update(sd);
+ _elm_win_opaque_update(sd, EINA_FALSE);
sd->wl.opaque_dirty = 0;
 }
 #endif
@@ -4227,8 +4229,8 @@ _elm_win_frame_style_update(Efl_Ui_Win_Data *sd, 
Eina_Bool force_emit, Eina_Bool
   edje_object_message_signal_process(sd->frame_obj);
 if (calc)
   evas_object_smart_calculate(sd->frame_obj);
-_elm_win_opaque_update(sd);
 _elm_win_frame_obj_update(sd);
+_elm_win_opaque_update(sd, EINA_FALSE);
  }
 }
 

-- 




[EGIT] [core/efl] master 02/03: win: Improve bug compatibility for E

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 3cb321bf5d67f2354b747773f5a07ec0349cbe80
Author: Jean-Philippe Andre 
Date:   Thu Dec 1 14:41:06 2016 +0900

win: Improve bug compatibility for E

E has a habit of creating windows with a single content
that has no weight and/or no min size, but still expecting
those windows to size properly and be resizable. This amends
a previous sizing hack (but really it's the same) for logout
dialogs, and adds another hack for EFM windows (single edje
object with no weight, but window should be resizable).
---
 src/lib/elementary/efl_ui_win.c | 21 -
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index bab64e6..b97ee3d 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -253,6 +253,7 @@ struct _Efl_Ui_Win_Data
Eina_Booltheme_alpha : 1; /**< alpha value fetched by a theme. this has 
higher priority than application_alpha */
Eina_Boolapplication_alpha : 1; /**< alpha value set by an 
elm_win_alpha_set() api. this has lower priority than theme_alpha */
Eina_Booltmp_updating_hints : 1;
+   Eina_Boolsingle_edje_content: 1; /* hack for E */
 };
 
 struct _Input_Pointer_Iterator
@@ -3282,7 +3283,7 @@ _elm_win_xwin_update(Efl_Ui_Win_Data *sd)
 static void
 _elm_win_resize_objects_eval(Evas_Object *obj)
 {
-   ELM_WIN_DATA_GET(obj, sd);
+   Efl_Ui_Win_Data *sd = efl_data_scope_get(obj, MY_CLASS);
Evas_Coord w, h, minw, minh, maxw, maxh, ow, oh;
Eina_Bool unresizable;
double wx, wy;
@@ -3291,9 +3292,17 @@ _elm_win_resize_objects_eval(Evas_Object *obj)
if (minw < 1) minw = 1;
if (minh < 1) minh = 1;
 
+   // If content has a weight, make resizable
efl_gfx_size_hint_weight_get(sd->legacy.edje, , );
+
+   // Content max hint is ignored
maxw = sd->max_w;
maxh = sd->max_h;
+
+   // Compatibility hack (for E)
+   if (sd->single_edje_content && !wx && !wy)
+ wx = wy = 1;
+
if (!wx) maxw = minw;
else if (maxw < 1) maxw = 32767;
if (!wy) maxh = minh;
@@ -7692,13 +7701,15 @@ elm_win_resize_object_add(Eo *obj, Evas_Object *subobj)
 return;
  }
 
+   // Little hack for E
+   if (evas_obj_box_count(sd->legacy.box) > 0)
+ sd->single_edje_content = 0;
+   else if (efl_isa(subobj, EDJE_OBJECT_CLASS))
+ sd->single_edje_content = 1;
+
ret  = elm_widget_sub_object_add(obj, subobj);
ret &= (evas_object_box_append(sd->legacy.box, subobj) != NULL);
 
-   // Little hack for E (edje object set as resize object... but never updated)
-   if (efl_isa(subobj, EDJE_OBJECT_CLASS))
- edje_object_update_hints_set(subobj, 1);
-
if (!ret)
  ERR("could not add sub object %p to window %p", subobj, obj);
 }

-- 




[E-devel] [RFC] What to do with event registered during there own execution

2016-11-30 Thread Cedric BAIL
Hello,

So we have currently a bug showing up for some people, that is
actually related to how we handle event when a callback is registered
from within a call triggered by that same event. There is a few
possible behavior :

- Do not call the callback until the next time the event is triggered.
- If inserted before the currently executed callback, do not call, if
after do trigger the call.
- Trigger the call whatever the position of insertion (maybe even
trigger it right away if it was inserted before)

I am leaning toward the first case, but I am not really sure this is a
good idea in all case. Any one with a good reason why we should do any
of the other possibility ?

Have fun,
-- 
Cedric BAIL

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 07/07: ctxpopup: Fix shadow variable warning

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 70f39cf3f029037ddd6ea21436a21b02aa00910b
Author: Jean-Philippe Andre 
Date:   Thu Dec 1 11:28:04 2016 +0900

ctxpopup: Fix shadow variable warning
---
 src/lib/elementary/elc_ctxpopup.c | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/lib/elementary/elc_ctxpopup.c 
b/src/lib/elementary/elc_ctxpopup.c
index aeba54f..506569b 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -1281,14 +1281,14 @@ static void
 _item_wrap_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
 {
Elm_Ctxpopup_Item_Data *item = data;
+   Elm_Object_Item *eo_item2;
Eina_List *l;
-   Elm_Object_Item *eo_item;
 
ELM_CTXPOPUP_DATA_GET_OR_RETURN(item->wcb.cobj, sd);
-   EINA_LIST_FOREACH(sd->items, l, eo_item)
+   EINA_LIST_FOREACH(sd->items, l, eo_item2)
  {
-ELM_CTXPOPUP_ITEM_DATA_GET(eo_item, item);
-item->selected = EINA_FALSE;
+ELM_CTXPOPUP_ITEM_DATA_GET(eo_item2, item2);
+item2->selected = EINA_FALSE;
  }
item->selected = EINA_TRUE;
 
@@ -1465,21 +1465,21 @@ _elm_ctxpopup_item_efl_ui_item_next_get(Eo *eo_item 
EINA_UNUSED, Elm_Ctxpopup_It
 
 EOLIAN static void
 _elm_ctxpopup_item_efl_ui_item_selected_set(Eo *eo_item EINA_UNUSED,
-Elm_Ctxpopup_Item_Data *item,
-Eina_Bool selected)
+Elm_Ctxpopup_Item_Data *item,
+Eina_Bool selected)
 {
+   Elm_Object_Item *eo_item2;
Eina_List *l;
-   Elm_Object_Item *temp_item;
 
if (selected == item->selected) return;
 
if (selected)
  {
 ELM_CTXPOPUP_DATA_GET_OR_RETURN(item->wcb.cobj, sd);
-EINA_LIST_FOREACH(sd->items, l, temp_item)
+EINA_LIST_FOREACH(sd->items, l, eo_item2)
   {
- ELM_CTXPOPUP_ITEM_DATA_GET(temp_item, item);
- item->selected = EINA_FALSE;
+ ELM_CTXPOPUP_ITEM_DATA_GET(eo_item2, item2);
+ item2->selected = EINA_FALSE;
   }
  }
elm_list_item_selected_set(item->list_item, selected);

-- 




[EGIT] [core/efl] master 05/07: elm_calendar: Changed the calendar focus highlight concept.

2016-11-30 Thread Woochan Lee
jpeg pushed a commit to branch master.

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

commit 40364b49853307d8d593cd9bcffad4b5905fcb01
Author: Woochan Lee 
Date:   Thu Dec 1 10:41:48 2016 +0900

elm_calendar: Changed the calendar focus highlight concept.

Summary:
The highlight image enable when calendar got a focus.

We enable the highlight image when the user sent a key event to calendar 
before.
The above concept seems to be incorrect when focus highlight activated 
already.

Test Plan:
elementary_test
calendar sample.

Reviewers: woohyun, cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4438
---
 src/lib/elementary/elm_calendar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_calendar.c 
b/src/lib/elementary/elm_calendar.c
index 971f893..a2c2517 100644
--- a/src/lib/elementary/elm_calendar.c
+++ b/src/lib/elementary/elm_calendar.c
@@ -1648,7 +1648,7 @@ _elm_calendar_elm_widget_on_focus(Eo *obj, 
Elm_Calendar_Data *sd, Elm_Object_Ite
if (!int_ret) return EINA_FALSE;
 
if (elm_widget_focus_get(obj))
- sd->focused_it = sd->selected_it;
+ _update_focused_it(obj, sd->selected_it);
else
  _update_unfocused_it(obj, sd->focused_it);
 

-- 




[EGIT] [core/efl] master 04/07: Ecore Evas VNC: Increase keytable size.

2016-11-30 Thread Guilherme Iscaro
jpeg pushed a commit to branch master.

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

commit 619540fcc0bd1c4a577660937a7d55b5283c00c5
Author: Guilherme Iscaro 
Date:   Thu Dec 1 10:39:47 2016 +0900

Ecore Evas VNC: Increase keytable size.

Summary:
New keys were added to the keytable, however since VNC will not
notify the VNC server about these new key types we will simple
increase the array size and keep the compiler happy.

Reviewers: cedric, barbieri, bdilly, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4434
---
 src/modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/src/modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.c 
b/src/modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.c
index 33f9d210..36497ca 100644
--- a/src/modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.c
+++ b/src/modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.c
@@ -4,7 +4,7 @@
 #include 
 #include 
 
-static const char *_ecore_fb_li_kbd_syms[128 * 7] =
+static const char *_ecore_fb_li_kbd_syms[144 * 7] =
 {
 #include 
 };

-- 




[EGIT] [core/efl] master 02/07: menu: Fix visibility flag of menu (missing efl_super)

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 6d7395a7dbd329d6671803765f3c5d49832a64dc
Author: Jean-Philippe Andre 
Date:   Wed Nov 30 20:58:27 2016 +0900

menu: Fix visibility flag of menu (missing efl_super)
---
 src/bin/elementary/test_menu.c | 2 ++
 src/lib/elementary/elm_menu.c  | 1 +
 2 files changed, 3 insertions(+)

diff --git a/src/bin/elementary/test_menu.c b/src/bin/elementary/test_menu.c
index ec084e6..e9dafa9 100644
--- a/src/bin/elementary/test_menu.c
+++ b/src/bin/elementary/test_menu.c
@@ -15,6 +15,8 @@ _menu_show_cb(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
   void *event_info)
 {
Evas_Event_Mouse_Down *ev = event_info;
+
+   if (evas_object_visible_get(data)) return;
elm_menu_move(data, ev->canvas.x, ev->canvas.y);
evas_object_show(data);
 }
diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index 8134f00..15b7a86 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -571,6 +571,7 @@ _elm_menu_efl_gfx_visible_set(Eo *obj EINA_UNUSED, 
Elm_Menu_Data *sd, Eina_Bool
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, 
vis))
  return;
 
+   efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
if (vis) efl_gfx_visible_set(sd->hv, EINA_TRUE);
 }
 

-- 




[EGIT] [core/efl] master 03/07: conform: Remove getpid() from debug

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit cc4e835f8143f857c30d48c735d1daf7fd78cf74
Author: Jean-Philippe Andre 
Date:   Thu Dec 1 10:33:36 2016 +0900

conform: Remove getpid() from debug

The PID is already printed out by default with eina_log.
---
 src/lib/elementary/elm_conform.c | 26 +-
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/src/lib/elementary/elm_conform.c b/src/lib/elementary/elm_conform.c
index facac03..ac1e6f4 100644
--- a/src/lib/elementary/elm_conform.c
+++ b/src/lib/elementary/elm_conform.c
@@ -165,9 +165,7 @@ _conformant_part_sizing_eval(Evas_Object *obj,
("ILLUME_KBD", , , , )) && (xwin))
   {
  //No information of the keyboard geometry, reset the geometry.
-#ifdef __linux__
- DBG("[KEYPAD]:pid=%d, xwin=0x%x, zone=0x%x: no env value and 
check window property.", getpid(), xwin, zone);
-#endif
+ DBG("[KEYPAD]:xwin=0x%x, zone=0x%x: no env value and check window 
property.", xwin, zone);
  if (!ecore_x_e_illume_keyboard_geometry_get(xwin, , , , 
))
{
   DBG("[KEYPAD]:no window property, check zone property.");
@@ -814,15 +812,9 @@ _on_prop_change(void *data,
 void *event)
 {
Ecore_X_Event_Window_Property *ev = event;
-
-   int pid = 0;
-
-#ifdef __linux__
-   pid = (int)getpid();
-#endif
-
Evas_Object *conformant = (Evas_Object *)data;
ELM_CONFORMANT_DATA_GET(conformant, sd);
+
if ((ev->atom == ECORE_X_ATOM_NET_WM_STATE) && !sd->win_hidden)
  {
 unsigned int i, num;
@@ -867,7 +859,7 @@ _on_prop_change(void *data,
 
if (ev->atom == ECORE_X_ATOM_E_ILLUME_ZONE)
  {
-DBG("pid=%d, win=0x%x, ECORE_X_ATOM_E_ILLUME_ZONE.\n", pid, ev->win);
+DBG("win=0x%x, ECORE_X_ATOM_E_ILLUME_ZONE.\n", ev->win);
 Conformant_Part_Type part_type;
 
 part_type = (ELM_CONFORMANT_INDICATOR_PART |
@@ -879,32 +871,32 @@ _on_prop_change(void *data,
  }
else if (ev->atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY)
  {
-DBG("pid=%d, win=0x%x, ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY.", 
pid, ev->win);
+DBG("win=0x%x, ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY.", ev->win);
 _conformant_part_sizing_eval(data, ELM_CONFORMANT_INDICATOR_PART);
  }
else if (ev->atom == ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY)
  {
-DBG("pid=%d, win=0x%x, ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY.", pid, 
ev->win);
+DBG("win=0x%x, ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY.", ev->win);
 _conformant_part_sizing_eval(data, ELM_CONFORMANT_SOFTKEY_PART);
  }
else if (ev->atom == ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY)
  {
-DBG("[KEYPAD]:pid=%d, win=0x%x, 
ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY.", pid, ev->win);
+DBG("[KEYPAD]:win=0x%x, ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY.", 
ev->win);
 _conformant_part_sizing_eval(data, ELM_CONFORMANT_VIRTUAL_KEYPAD_PART);
  }
else if (ev->atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY)
  {
-DBG("pid=%d, win=0x%x, ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY.", 
pid, ev->win);
+DBG("win=0x%x, ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY.", ev->win);
 _conformant_part_sizing_eval(data, ELM_CONFORMANT_CLIPBOARD_PART);
  }
else if (ev->atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE)
  {
-DBG("[KEYPAD]:pid=%d, win=0x%x, 
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE.", pid, ev->win);
+DBG("[KEYPAD]:win=0x%x, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE.", 
ev->win);
 _virtualkeypad_state_change(data, ev);
  }
else if (ev->atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE)
  {
-DBG("pid=%d, win=0x%x, ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE.", pid, 
ev->win);
+DBG("win=0x%x, ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE.", ev->win);
 _clipboard_state_change(data, ev);
  }
 

-- 




[EGIT] [core/efl] master 06/07: Eet: add EINA_ARG_NONNULL for eet_data_text_undump* @fix

2016-11-30 Thread Artem Popov
jpeg pushed a commit to branch master.

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

commit e0827a6a90acde0418f7375b5026fea5f3bb0408
Author: Artem Popov 
Date:   Thu Dec 1 11:05:50 2016 +0900

Eet: add EINA_ARG_NONNULL for eet_data_text_undump* @fix

Summary: Eet_data_text_undump/undump_cipher: add EINA_ARG_NONNULL for 
mandatory pointer on size(int)

Reviewers: cedric, NikaWhite, myoungwoon, jpeg

Reviewed By: jpeg

Subscribers: jpeg, t.naumenko

Differential Revision: https://phab.enlightenment.org/D4440
---
 src/lib/eet/Eet.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/eet/Eet.h b/src/lib/eet/Eet.h
index 39f060a..19ab574 100644
--- a/src/lib/eet/Eet.h
+++ b/src/lib/eet/Eet.h
@@ -3268,7 +3268,7 @@ eet_data_text_dump(const void *data_in,
 EAPI void *
 eet_data_text_undump(const char *text,
  int textlen,
- int *size_ret);
+ int *size_ret) EINA_ARG_NONNULL(3);
 
 /**
  * Dump an eet encoded data structure from an eet file into ascii text
@@ -4101,7 +4101,7 @@ EAPI void *
 eet_data_text_undump_cipher(const char *text,
 const char *cipher_key,
 int textlen,
-int *size_ret);
+int *size_ret) EINA_ARG_NONNULL(4);
 
 /**
  * Dump an eet encoded data structure from an eet file into ascii

-- 




[EGIT] [core/efl] master 01/07: menu: Keep opening submenus when hovering over main bar

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 5bdd9f6e39dd72790dc7cd9b056923e6da4af5c3
Author: Jean-Philippe Andre 
Date:   Wed Nov 30 20:01:48 2016 +0900

menu: Keep opening submenus when hovering over main bar

The previous situation was that you could hover over a main
menu bar item, and see it become hilighted. Click to open the
submenu. Classic. Now move over to a second main menu item
and the submenu would close, but the second submenu would not
open.

This behaviour was contrary to pretty much every desktop UI
I've used, and really annoyed me. Should we get an elm_config
option for that?

This is a UI behaviour change.
---
 src/lib/elementary/elm_menu.c | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index 73ad903..8134f00 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -501,13 +501,20 @@ _menu_item_activate_cb(void *data,
  }
else
  {
+Eina_Bool was_open = EINA_FALSE;
 ELM_MENU_DATA_GET(WIDGET(item), sd);
 EINA_LIST_FOREACH(sd->items, l, eo_item2)
   {
  if (eo_item2 != EO_OBJ(item))
-   elm_menu_item_selected_set(eo_item2, 0);
+   {
+  ELM_MENU_ITEM_DATA_GET(eo_item2, item2);
+  was_open |= item2->submenu.open;
+  elm_menu_item_selected_set(eo_item2, 0);
+   }
   }
 
elm_interface_atspi_accessible_event_emit(ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN, 
WIDGET(item), ELM_INTERFACE_ATSPI_SELECTION_EVENT_SELECTION_CHANGED, NULL);
+if (sd->menu_bar && was_open)
+  _menu_item_select_cb(item, NULL, NULL, NULL);
  }
if (_elm_config->atspi_mode)
  elm_interface_atspi_accessible_state_changed_signal_emit(EO_OBJ(item), 
ELM_ATSPI_STATE_SELECTED, EINA_TRUE);

-- 




[EGIT] [core/enlightenment] master 01/02: e_util_defer_object_del - ensure order of deferred deletions are right

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

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

commit 8934ada4d8d9576e270defda5877589abdd2345d
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Nov 24 11:15:00 2016 +0900

e_util_defer_object_del - ensure order of deferred deletions are right

so since e_util_defer_object_del used a before idler this would
reverse deletion order vs the order submitted. this may cause issues.
not sure. chasing netstar's "animator stops" issue, but if defered
deletion if disabled seems to stop it from happening.

at least fix order if multiple deferred deletions are queued

@fix
---
 src/bin/e_utils.c | 64 ++-
 1 file changed, 45 insertions(+), 19 deletions(-)

diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c
index 5b4dc56..5db1631 100644
--- a/src/bin/e_utils.c
+++ b/src/bin/e_utils.c
@@ -710,6 +710,36 @@ e_util_dir_check(const char *dir)
return 1;
 }
 
+static Eina_Array *_delay_del_array = NULL;
+static Ecore_Idle_Enterer *_delay_del_idler = NULL;
+
+static Eina_Bool
+_e_util_cb_delayed_del(void *data EINA_UNUSED)
+{
+   while (_delay_del_array)
+ {
+Eina_Array *arr = _delay_del_array;
+Eina_Iterator *itr = eina_array_iterator_new(arr);
+void *ptr;
+
+_delay_del_array = NULL;
+while (eina_iterator_next(itr, ))
+  {
+ if (ptr) e_object_del(E_OBJECT(ptr));
+  }
+eina_array_free(arr);
+ }
+   _delay_del_idler = NULL;
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_e_util_cb_delayed_cancel(void *data, void *obj EINA_UNUSED)
+{
+   unsigned long c = (unsigned long)data;
+   if (_delay_del_array) eina_array_data_set(_delay_del_array, c, NULL);
+}
+
 E_API void
 e_util_defer_object_del(E_Object *obj)
 {
@@ -717,10 +747,21 @@ e_util_defer_object_del(E_Object *obj)
  e_object_del(obj);
else
  {
-Ecore_Idle_Enterer *idler;
-
-idler = ecore_idle_enterer_before_add(_e_util_cb_delayed_del, obj);
-if (idler) e_object_delfn_add(obj, _e_util_cb_delayed_cancel, idler);
+if (!_delay_del_array)
+  {
+ _delay_del_array = eina_array_new(8);
+ if (!_delay_del_idler)
+   _delay_del_idler = ecore_idle_enterer_before_add
+ (_e_util_cb_delayed_del, NULL);
+  }
+if (_delay_del_array)
+  {
+ if (eina_array_push(_delay_del_array, obj))
+   {
+  unsigned long c = eina_array_count_get(_delay_del_array);
+  e_object_delfn_add(obj, _e_util_cb_delayed_cancel, (void 
*)c);
+   }
+  }
  }
 }
 
@@ -818,21 +859,6 @@ _e_util_icon_add(const char *path, Evas *evas, int size)
 }
 
 static Eina_Bool
-_e_util_cb_delayed_del(void *data)
-{
-   e_object_del(E_OBJECT(data));
-   return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-_e_util_cb_delayed_cancel(void *data, void *obj EINA_UNUSED)
-{
-   Ecore_Idle_Enterer *idler = data;
-
-   ecore_idle_enterer_del(idler);
-}
-
-static Eina_Bool
 _e_util_wakeup_cb(void *data EINA_UNUSED)
 {
_e_util_dummy_timer = NULL;

-- 




[EGIT] [core/enlightenment] master 02/02: e tempget module - mode to using threads instead of tempget binary

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

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

commit a94ba7cbfdeb310c32b5d4655631d2612e66fb40
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Nov 30 17:06:45 2016 +0900

e tempget module - mode to using threads instead of tempget binary

this should reduce mem usage by a sub binary and aso solve the sub
shell kill issue too nd still keep the polling of system status out of
the mainloop and keep it unblocked.
---
 src/modules/Makefile_temperature.mk |  11 +-
 src/modules/temperature/e_mod_config.c  |  44 +++
 src/modules/temperature/e_mod_main.c| 236 +---
 src/modules/temperature/e_mod_main.h|  41 ++-
 src/modules/temperature/e_mod_tempget.c | 604 +++---
 src/modules/temperature/e_mod_udev.c|  70 +---
 src/modules/temperature/tempget.c   | 634 
 7 files changed, 730 insertions(+), 910 deletions(-)

diff --git a/src/modules/Makefile_temperature.mk 
b/src/modules/Makefile_temperature.mk
index b583063..d1cb7fb 100644
--- a/src/modules/Makefile_temperature.mk
+++ b/src/modules/Makefile_temperature.mk
@@ -22,14 +22,7 @@ if HAVE_EEZE
 src_modules_temperature_module_la_SOURCES += 
src/modules/temperature/e_mod_udev.c
 endif
 
-src_modules_temperature_tempgetdir = $(temperaturepkgdir)
-src_modules_temperature_tempget_PROGRAMS = src/modules/temperature/tempget
-
-src_modules_temperature_tempget_CPPFLAGS = $(MOD_CPPFLAGS)
-src_modules_temperature_tempget_LDADD = $(MOD_LIBS)
-src_modules_temperature_tempget_SOURCES = src/modules/temperature/tempget.c
-
 PHONIES += temperature install-temperature
-temperature: $(temperaturepkg_LTLIBRARIES) $(temperature_DATA) 
$(src_modules_temperature_tempget_PROGRAMS)
-install-temperature: install-temperatureDATA install-temperaturepkgLTLIBRARIES 
install-src_modules_temperature_tempgetPROGRAMS
+temperature: $(temperaturepkg_LTLIBRARIES) $(temperature_DATA)
+install-temperature: install-temperatureDATA install-temperaturepkgLTLIBRARIES
 endif
diff --git a/src/modules/temperature/e_mod_config.c 
b/src/modules/temperature/e_mod_config.c
index 57f5212..597184e 100644
--- a/src/modules/temperature/e_mod_config.c
+++ b/src/modules/temperature/e_mod_config.c
@@ -37,6 +37,50 @@ static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas 
*evas, E_Config_Dia
 static int _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
 static void _cb_display_changed(void *data, Evas_Object *obj EINA_UNUSED);
 
+static Eina_List *
+temperature_get_bus_files(const char *bus)
+{
+   Eina_List *result;
+   Eina_List *therms;
+   char path[PATH_MAX];
+   char busdir[PATH_MAX];
+   char *name;
+
+   result = NULL;
+
+   snprintf(busdir, sizeof(busdir), "/sys/bus/%s/devices", bus);
+   /* Look through all the devices for the given bus. */
+   therms = ecore_file_ls(busdir);
+
+   EINA_LIST_FREE(therms, name)
+ {
+Eina_List *files;
+char *file;
+
+/* Search each device for temp*_input, these should be
+ * temperature devices. */
+snprintf(path, sizeof(path), "%s/%s", busdir, name);
+files = ecore_file_ls(path);
+EINA_LIST_FREE(files, file)
+  {
+ if ((!strncmp("temp", file, 4)) &&
+ (!strcmp("_input", [strlen(file) - 6])))
+   {
+  char *f;
+
+  snprintf(path, sizeof(path),
+   "%s/%s/%s", busdir, name, file);
+  f = strdup(path);
+  if (f) result = eina_list_append(result, f);
+   }
+ free(file);
+  }
+free(name);
+ }
+   return result;
+}
+
+
 void 
 config_temperature_module(Config_Face *inst) 
 {
diff --git a/src/modules/temperature/e_mod_main.c 
b/src/modules/temperature/e_mod_main.c
index 345b7e6..41e1c38 100644
--- a/src/modules/temperature/e_mod_main.c
+++ b/src/modules/temperature/e_mod_main.c
@@ -83,7 +83,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, 
const char *style)
 
o = edje_object_add(gc->evas);
e_theme_edje_object_set(o, "base/theme/modules/temperature",
-  "e/modules/temperature/main");
+   "e/modules/temperature/main");
 
gcc = e_gadcon_client_new(gc, name, id, style, o);
gcc->data = inst;
@@ -92,37 +92,13 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, 
const char *style)
inst->o_temp = o;
inst->module = temperature_config->module;
inst->have_temp = EINA_FALSE;
-#ifdef HAVE_EEZE
-   if (inst->backend == TEMPGET)
- {
-inst->tempget_data_handler = 
-  ecore_event_handler_add(ECORE_EXE_EVENT_DATA,
- _temperature_cb_exe_data, inst);
-inst->tempget_del_handler = 
-  ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
- 

[EGIT] [core/efl] master 01/01: ecore exe - handle scope data get null returns when ppl do bad things

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

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

commit b3361f1aadbbd96be8b7c7a015e15cf6fe681e8c
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Dec 1 08:48:25 2016 +0900

ecore exe - handle scope data get null returns when ppl do bad things

peolpe using ecore_exe in threads... for example.
---
 src/lib/ecore/ecore_exe_posix.c | 178 +---
 src/lib/ecore/ecore_exe_win32.c |   5 ++
 2 files changed, 100 insertions(+), 83 deletions(-)

diff --git a/src/lib/ecore/ecore_exe_posix.c b/src/lib/ecore/ecore_exe_posix.c
index 14c7d69..d6683a2 100644
--- a/src/lib/ecore/ecore_exe_posix.c
+++ b/src/lib/ecore/ecore_exe_posix.c
@@ -884,29 +884,32 @@ _ecore_exe_make_sure_its_dead(void *data)
 
dead = data;
if (dead)
-   {
-  Ecore_Exe *obj = NULL;
+ {
+Ecore_Exe *obj = NULL;
 
-  if ((obj = _ecore_exe_is_it_alive(dead->pid)))
-  {
- Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
- if (dead->cmd)
-   INF("Sending KILL signal to allegedly dead %s (%d).",
-   dead->cmd, dead->pid);
- else
-   INF("Sending KILL signal to allegedly dead PID %d.",
-   dead->pid);
- exe->doomsday_clock =
-   ecore_timer_add(10.0, _ecore_exe_make_sure_its_really_dead,
-   dead);
- kill(dead->pid, SIGKILL);
-  }
-  else
-  {
- IF_FREE(dead->cmd);
- free(dead);
-  }
-   }
+if ((obj = _ecore_exe_is_it_alive(dead->pid)))
+  {
+ Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
+ if (exe)
+   {
+  if (dead->cmd)
+INF("Sending KILL signal to allegedly dead %s (%d).",
+dead->cmd, dead->pid);
+  else
+INF("Sending KILL signal to allegedly dead PID %d.",
+dead->pid);
+  exe->doomsday_clock =
+ecore_timer_add(10.0, _ecore_exe_make_sure_its_really_dead,
+dead);
+  kill(dead->pid, SIGKILL);
+   }
+  }
+else
+  {
+ IF_FREE(dead->cmd);
+ free(dead);
+  }
+ }
return ECORE_CALLBACK_CANCEL;
 }
 
@@ -917,22 +920,26 @@ _ecore_exe_make_sure_its_really_dead(void *data)
 
dead = data;
if (dead)
-   {
-  Ecore_Exe *obj = NULL;
+ {
+Ecore_Exe *obj = NULL;
 
-  if ((obj = _ecore_exe_is_it_alive(dead->pid)))
-  {
- Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
- ERR("RUN!  The zombie wants to eat your brains!  And your CPU!");
- if (dead->cmd)
-   INF("%s (%d) is not really dead.", dead->cmd, dead->pid);
- else
-   INF("PID %d is not really dead.", dead->pid);
- exe->doomsday_clock = NULL;
-  }
-  IF_FREE(dead->cmd);
-  free(dead);
-   }
+if ((obj = _ecore_exe_is_it_alive(dead->pid)))
+  {
+ Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
+
+ if (exe)
+   {
+  ERR("RUN!  The zombie wants to eat your brains!  And your 
CPU!");
+  if (dead->cmd)
+INF("%s (%d) is not really dead.", dead->cmd, dead->pid);
+  else
+INF("PID %d is not really dead.", dead->pid);
+  exe->doomsday_clock = NULL;
+   }
+ IF_FREE(dead->cmd);
+ free(dead);
+  }
+ }
return ECORE_CALLBACK_CANCEL;
 }
 
@@ -940,6 +947,7 @@ Ecore_Timer *
 _ecore_exe_doomsday_clock_get(Ecore_Exe *obj)
 {
Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
+   if (!exe) return NULL;
return exe->doomsday_clock;
 }
 
@@ -948,6 +956,7 @@ _ecore_exe_doomsday_clock_set(Ecore_Exe   *obj,
   Ecore_Timer *dc)
 {
Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
+   if (!exe) return;
exe->doomsday_clock = dc;
 }
 
@@ -1071,6 +1080,7 @@ _ecore_exe_data_generic_handler(void *data,
const Efl_Event_Description *eo_event = NULL;
 
Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
+   if (!exe) return EINA_FALSE;
 
/* Sort out what sort of handler we are. */
if (flags & ECORE_EXE_PIPE_READ)
@@ -1225,26 +1235,28 @@ _ecore_exe_data_write_handler(void *data,
Ecore_Exe *obj = data;
Ecore_Exe_Data *exe = efl_data_scope_get(obj, MY_CLASS);
 
+   if (!exe) return EINA_FALSE;
+
if ((exe->write_fd_handler) &&
(ecore_main_fd_handler_active_get
-  (exe->write_fd_handler, ECORE_FD_WRITE)))
+(exe->write_fd_handler, ECORE_FD_WRITE)))
  _ecore_exe_flush(obj);
 
/* If we have sent all there is to send, and we 

[EGIT] [apps/terminology] master 01/01: fix getting lines with the beacon

2016-11-30 Thread Boris Faure
billiob pushed a commit to branch master.

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

commit 51fe6b3428bc3eb0eb861499f1f67c62b713b86e
Author: Boris Faure 
Date:   Wed Nov 30 23:25:33 2016 +0100

fix getting lines with the beacon

add quite some testing that is disabled by default, used to ensure that
the beacon is always valid
---
 src/bin/termpty.c | 83 +--
 1 file changed, 63 insertions(+), 20 deletions(-)

diff --git a/src/bin/termpty.c b/src/bin/termpty.c
index 32f01b4..845880b 100644
--- a/src/bin/termpty.c
+++ b/src/bin/termpty.c
@@ -675,10 +675,10 @@ termpty_line_length(const Termcell *cells, ssize_t 
nb_cells)
(>back[(Ty->backsize + ty->backpos - ((Y) - 1 )) % Ty->backsize])
 
 
-#if 0
-static void
-verify_beacon(Termpty *ty)
+static inline void
+verify_beacon(Termpty *ty EINA_UNUSED, int verbose EINA_UNUSED)
 {
+#if 0
Termsave *ts;
int nb_lines;
int backlog_y = ty->backlog_beacon.backlog_y;
@@ -688,32 +688,44 @@ verify_beacon(Termpty *ty)
assert(ty->backlog_beacon.backlog_y >= 0);
assert(ty->backlog_beacon.screen_y >= ty->backlog_beacon.backlog_y);
 
-   //ERR("FROM screen_y:%d backlog_y:%d",
-   //screen_y, backlog_y);
+   if (verbose)
+ {
+ERR("FROM screen_y:%d backlog_y:%d",
+screen_y, backlog_y);
+ }
while (backlog_y > 0)
  {
 ts = BACKLOG_ROW_GET(ty, backlog_y);
 if (!ts->cells)
   {
- ERR("went too far: screen_y:%d backlog_y:%d",
- screen_y, backlog_y);
+ if (verbose)
+   {
+  ERR("went too far: screen_y:%d backlog_y:%d",
+  screen_y, backlog_y);
+   }
  return;
   }
 
 nb_lines = (ts->w == 0) ? 1 : (ts->w + ty->w - 1) / ty->w;
 screen_y -= nb_lines;
 backlog_y--;
-//ERR("nb_lines:%d screen_y:%d backlog_y:%d ts->w:%d ty->w:%d",
-//nb_lines, screen_y, backlog_y, ts->w, ty->w);
+if (verbose)
+  {
+ ERR("nb_lines:%d screen_y:%d backlog_y:%d ts->w:%d ty->w:%d",
+ nb_lines, screen_y, backlog_y, ts->w, ty->w);
+  }
 assert(screen_y >= backlog_y);
 
  }
-   //ERR("TO screen_y:%d backlog_y:%d",
-   //screen_y, backlog_y);
+   if (verbose)
+ {
+ERR("TO screen_y:%d backlog_y:%d",
+screen_y, backlog_y);
+ }
assert (backlog_y == 0);
assert (screen_y == 0);
-}
 #endif
+}
 
 static void
 _backlog_remove_latest_nolock(Termpty *ty)
@@ -731,6 +743,7 @@ _backlog_remove_latest_nolock(Termpty *ty)
/* reset beacon */
ty->backlog_beacon.screen_y = 0;
ty->backlog_beacon.backlog_y = 0;
+   verify_beacon(ty, 1);
 
termpty_save_free(ts);
 }
@@ -746,6 +759,7 @@ termpty_text_save_top(Termpty *ty, Termcell *cells, ssize_t 
w_max)
  return;
assert(ty->back);
 
+   verify_beacon(ty, 0);
termpty_backlog_lock();
 
w = termpty_line_length(cells, w_max);
@@ -761,6 +775,7 @@ termpty_text_save_top(Termpty *ty, Termcell *cells, ssize_t 
w_max)
  termpty_save_expand(ts, cells, w);
  ty->backlog_beacon.screen_y += (ts->w + ty->w - 1) / ty->w
   - (old_len + ty->w - 1) / ty->w;
+ verify_beacon(ty, 0);
  return;
   }
  }
@@ -783,6 +798,7 @@ add_new_ts:
 ty->backlog_beacon.screen_y = 0;
 ty->backlog_beacon.backlog_y = 0;
  }
+   verify_beacon(ty, 0);
 }
 
 
@@ -807,7 +823,9 @@ termpty_backlog_length(Termpty *ty)
 
if (!ty->backsize)
  return 0;
+   verify_beacon(ty, 1);
 
+   backlog_y++;
while (42)
  {
 int nb_lines;
@@ -818,9 +836,10 @@ termpty_backlog_length(Termpty *ty)
   return ty->backlog_beacon.screen_y;
 
 nb_lines = (ts->w == 0) ? 1 : (ts->w + ty->w - 1) / ty->w;
+screen_y += nb_lines;
 ty->backlog_beacon.screen_y = screen_y;
 ty->backlog_beacon.backlog_y = backlog_y;
-screen_y += nb_lines;
+verify_beacon(ty, 1);
 backlog_y++;
  }
 }
@@ -831,14 +850,19 @@ termpty_backscroll_adjust(Termpty *ty, int *scroll)
int backlog_y = ty->backlog_beacon.backlog_y;
int screen_y = ty->backlog_beacon.screen_y;
 
+   verify_beacon(ty, 1);
if (!ty->backsize || *scroll <= 0)
  {
 *scroll = 0;
 return;
  }
if (*scroll < screen_y)
- return;
+ {
+verify_beacon(ty, 1);
+return;
+ }
 
+   backlog_y++;
while (42)
  {
 int nb_lines;
@@ -848,15 +872,20 @@ termpty_backscroll_adjust(Termpty *ty, int *scroll)
 if (!ts->cells || backlog_y >= (int)ty->backsize)
   {
  *scroll = ty->backlog_beacon.screen_y;
+ verify_beacon(ty, 1);
  return;
   }
 nb_lines = (ts->w == 0) ? 1 

[EGIT] [core/enlightenment] master 03/03: More aggressively prune keyboard focus list

2016-11-30 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 60617c82d7734f34409ecf61492cbc57da1b3d01
Author: Derek Foreman 
Date:   Wed Nov 30 14:46:36 2016 -0600

More aggressively prune keyboard focus list

Even if a client is deleted we still need to get its resources off the
keyboard focus list.
---
 src/bin/e_comp_wl.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 7d8ae24..c53c6de 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -679,14 +679,12 @@ static void
 _e_comp_wl_keyboard_leave(E_Client *ec)
 {
struct wl_resource *res;
-   struct wl_client *wc;
Eina_List *l, *ll;
uint32_t serial, *k;
double t;
 
if (!eina_list_count(e_comp_wl->kbd.resources)) return;
if (!ec->comp_data) return;
-   if (!ec->comp_data->surface) return;
 
if (ec->comp_data->is_xdg_surface)
  {
@@ -701,16 +699,15 @@ _e_comp_wl_keyboard_leave(E_Client *ec)
 while (ec->parent) ec = ec->parent;
  }
 
-   wc = wl_resource_get_client(ec->comp_data->surface);
serial = wl_display_next_serial(e_comp_wl->wl.disp);
t = ecore_time_unix_get();
EINA_LIST_FOREACH_SAFE(e_comp_wl->kbd.focused, l, ll, res)
  {
-if (wl_resource_get_client(res) != wc) continue;
 wl_array_for_each(k, _comp_wl->kbd.keys)
   wl_keyboard_send_key(res, serial, t,
*k, WL_KEYBOARD_KEY_STATE_RELEASED);
-wl_keyboard_send_leave(res, serial, ec->comp_data->surface);
+if (ec->comp_data->surface)
+  wl_keyboard_send_leave(res, serial, ec->comp_data->surface);
 e_comp_wl->kbd.focused = eina_list_remove_list(e_comp_wl->kbd.focused, 
l);
  }
 }

-- 




[EGIT] [core/enlightenment] master 02/03: Fix crash when exiting an xdg shell application

2016-11-30 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit ce34c550e7ad8926ec87b89baf5a219b8856aab7
Author: Derek Foreman 
Date:   Wed Nov 30 14:42:01 2016 -0600

Fix crash when exiting an xdg shell application

The focus in timer has been firing for deleted clients, this causes a
NULL pointer dereference.

Then again, maybe the timer should've been disabled by now...
---
 src/bin/e_comp_wl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index e1691ce..7d8ae24 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -600,6 +600,8 @@ _e_comp_wl_evas_cb_focus_in_timer(E_Client *ec)
Eina_List *l;
double t;
 
+   if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE;
+
ec->comp_data->on_focus_timer = NULL;
 
if (!e_comp_wl->kbd.focused) return EINA_FALSE;

-- 




[EGIT] [core/enlightenment] master 01/03: Fix keyboard tracking when leaving an xdg shell window

2016-11-30 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 8245c1eb7a38a177ba2ff536949b34c00288e18c
Author: Derek Foreman 
Date:   Wed Nov 30 14:40:11 2016 -0600

Fix keyboard tracking when leaving an xdg shell window

_parent_client_contains_pointer() shouldn't return true if there is no
parent client.  This could result in leaving stale resources in the
keyboard focus list and crash the compositor.
---
 src/bin/e_comp_wl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 4fc66f6..e1691ce 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -55,6 +55,8 @@ _parent_client_contains_pointer(E_Client *ec)
 
while (top->parent) top = top->parent;
 
+   if (top == ec) return EINA_FALSE;
+
if (top->mouse.in) return EINA_TRUE;
 
EINA_LIST_FOREACH(top->comp_data->sub.list, l, c)

-- 




[EGIT] [core/efl] master 01/01: eina: remove tests, examples and docs for eina_model

2016-11-30 Thread Bruno Dilly
bdilly pushed a commit to branch master.

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

commit adb95630ef47abd0ea9e55a8e26f9b731e8fcdb1
Author: Bruno Dilly 
Date:   Wed Nov 30 18:37:34 2016 -0200

eina: remove tests, examples and docs for eina_model

Summary:
Since eina_model was dropped some years ago.
Also a few other points where related stuff is just commented out.

Reviewers: iscaro, barbieri

Reviewed By: barbieri

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4442
---
 doc/eina_examples.dox  |   18 -
 src/examples/eina/Makefile.am  |   22 -
 src/examples/eina/eina_model_01.c  |  235 -
 src/examples/eina/eina_model_02.c  |   61 --
 src/examples/eina/eina_model_03.c  |  236 -
 src/examples/eina/eina_model_04_animal.c   |   76 --
 src/examples/eina/eina_model_04_animal.h   |   26 -
 src/examples/eina/eina_model_04_child.c|   81 --
 src/examples/eina/eina_model_04_child.h|   23 -
 src/examples/eina/eina_model_04_human.c|  157 
 src/examples/eina/eina_model_04_human.h|   24 -
 src/examples/eina/eina_model_04_main.c |  110 ---
 src/examples/eina/eina_model_04_parrot.c   |   95 --
 src/examples/eina/eina_model_04_parrot.h   |   24 -
 src/examples/eina/eina_model_04_whistler.c |   59 --
 src/examples/eina/eina_model_04_whistler.h |   45 -
 src/lib/eina/Eina.h|1 -
 src/lib/eina/eina_main.c   |9 -
 src/lib/eina/eina_value.c  |  133 +--
 src/tests/eina/eina_suite.c|2 -
 src/tests/eina/eina_test_model.c   | 1289 
 src/tests/eina/eina_test_value.c   |   48 --
 22 files changed, 1 insertion(+), 2773 deletions(-)

diff --git a/doc/eina_examples.dox b/doc/eina_examples.dox
index 33e83de..ad7fcc6 100644
--- a/doc/eina_examples.dox
+++ b/doc/eina_examples.dox
@@ -30,15 +30,6 @@
  * @li @ref eina_log_02.c
  * @li @ref eina_log_03.c
  * @li @ref eina_magic_01.c
- * @li @ref eina_model_01.c
- * @li @ref eina_model_02.c
- * @li @ref eina_model_03.c
- * @li @ref eina_model_04_animal.c
- * @li @ref eina_model_04_child.c
- * @li @ref eina_model_04_human.c
- * @li @ref eina_model_04_main.c
- * @li @ref eina_model_04_parrot.c
- * @li @ref eina_model_04_whistler.c
  * @li @ref eina_simple_xml_parser_01.c
  * @li @ref eina_str_01.c
  * @li @ref eina_strbuf_01.c
@@ -87,15 +78,6 @@
  * @example eina_log_02.c
  * @example eina_log_03.c
  * @example eina_magic_01.c
- * @example eina_model_01.c
- * @example eina_model_02.c
- * @example eina_model_03.c
- * @example eina_model_04_animal.c
- * @example eina_model_04_child.c
- * @example eina_model_04_human.c
- * @example eina_model_04_main.c
- * @example eina_model_04_parrot.c
- * @example eina_model_04_whistler.c
  * @example eina_simple_xml_parser_01.c
  * @example eina_str_01.c
  * @example eina_strbuf_01.c
diff --git a/src/examples/eina/Makefile.am b/src/examples/eina/Makefile.am
index 56eb277..4ce1258 100644
--- a/src/examples/eina/Makefile.am
+++ b/src/examples/eina/Makefile.am
@@ -58,10 +58,6 @@ eina_magic_01.c \
 eina_xattr_01.c \
 eina_xattr_02.c
 
-#eina_model_01.c \
-#eina_model_02.c \
-#eina_model_03.c
-
 EXTRA_PROGRAMS = \
 eina_accessor_01 \
 eina_array_01 \
@@ -103,24 +99,6 @@ eina_inarray_03 \
 eina_xattr_01 \
 eina_xattr_02
 
-#eina_model_01 \
-#eina_model_02 \
-#eina_model_03 \
-#eina_model_04
-
-#eina_model_04_SOURCES = \
-#eina_model_04_animal.c \
-#eina_model_04_child.c \
-#eina_model_04_human.c \
-#eina_model_04_main.c \
-#eina_model_04_parrot.c \
-#eina_model_04_whistler.c \
-#eina_model_04_animal.h \
-#eina_model_04_child.h \
-#eina_model_04_human.h \
-#eina_model_04_parrot.h \
-#eina_model_04_whistler.h
-
 EXTRA_PROGRAMS += eina_tiler_01
 
 eina_tiler_01_CPPFLAGS = \
diff --git a/src/examples/eina/eina_model_01.c 
b/src/examples/eina/eina_model_01.c
deleted file mode 100644
index 28895aa..000
--- a/src/examples/eina/eina_model_01.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Compile with:
- * gcc -o eina_model_01 eina_model_01.c `pkg-config --cflags --libs eina`
- */
-
-/*
- * This example demonstrates the usage of Eina Model by implementing
- * Bank Account Class, which is inherited from Base Class;
- * and Credit Card Class, which is inherited from Bank Account Class.
- *
- * Base Class(Eina_Model_Type) --> Bank Account Class --> Credit Card Class
- *
- * Bank Account Class implements "bank_account_data_set()" and "print()" 
methods;
- * Credit Card Class inherits these two and implements "credit_card_data_set()"
- *
- *
- *  Bank Account Class::print() calls for "_bank_account_data_print"
- *  Credit Card Class ::print() is reloaded with "_credit_card_data_print()"
- *  which calls for parent function "_bank_account_data_print"
- *
- */
-
-
-#include 
-#include 
-
-/*
- * Defining type 

[EGIT] [core/efl] master 01/03: efl_input_focus: fix typo and code style

2016-11-30 Thread Bruno Dilly
bdilly pushed a commit to branch master.

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

commit 8051fa1c3517fd2dda58869cbf2577061732677b
Author: Bruno Dilly 
Date:   Mon Nov 28 16:14:39 2016 -0200

efl_input_focus: fix typo and code style
---
 src/lib/evas/canvas/efl_input_focus.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_input_focus.eo 
b/src/lib/evas/canvas/efl_input_focus.eo
index 5097fde..6c12e1a 100644
--- a/src/lib/evas/canvas/efl_input_focus.eo
+++ b/src/lib/evas/canvas/efl_input_focus.eo
@@ -1,9 +1,9 @@
 class Efl.Input.Focus(Efl.Object, Efl.Input.Event)
 {
-   [[Reprents a focus event. @since 1.19]]
+   [[Represents a focus event. @since 1.19]]
methods {
   @property object {
-[[The focused object]]
+ [[The focused object]]
  values {
 object: Efl.Object; [[The focused object.
   In case this represents a canvas

-- 




[EGIT] [core/efl] master 03/03: evas: add example for multiseat events

2016-11-30 Thread Bruno Dilly
bdilly pushed a commit to branch master.

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

commit 887be4d4e53712c85d6a4860659faedaa497ed29
Author: Bruno Dilly 
Date:   Tue Nov 29 18:23:49 2016 -0200

evas: add example for multiseat events

Also useful to make some tests / debugging.
---
 src/examples/evas/.gitignore  |   1 +
 src/examples/evas/Makefile.am |   5 +
 src/examples/evas/evas-multiseat-events.c | 300 ++
 3 files changed, 306 insertions(+)

diff --git a/src/examples/evas/.gitignore b/src/examples/evas/.gitignore
index 31a9d20..ae8e78e 100644
--- a/src/examples/evas/.gitignore
+++ b/src/examples/evas/.gitignore
@@ -54,6 +54,7 @@
 /evas_map_utils
 /evas_map_utils_eo
 /evas_multi_touch
+/evas_multiseat_events
 /evas_object_manipulation
 /evas_object_manipulation-eo
 /evas_smart_interface
diff --git a/src/examples/evas/Makefile.am b/src/examples/evas/Makefile.am
index 7f660f7..c4d155d 100644
--- a/src/examples/evas/Makefile.am
+++ b/src/examples/evas/Makefile.am
@@ -119,6 +119,11 @@ evas_events_SOURCES = evas-events.c
 evas_events_LDADD = $(ECORE_EVAS_COMMON_LDADD)
 evas_events_CPPFLAGS = $(ECORE_EVAS_COMMON_CPPFLAGS)
 
+EXTRA_PROGRAMS += evas_multiseat_events
+evas_multiseat_events_SOURCES = evas-multiseat-events.c
+evas_multiseat_events_LDADD = $(ECORE_EVAS_COMMON_LDADD)
+evas_multiseat_events_CPPFLAGS = $(ECORE_EVAS_COMMON_CPPFLAGS)
+
 EXTRA_PROGRAMS += evas_object_manipulation
 evas_object_manipulation_SOURCES = evas-object-manipulation.c
 evas_object_manipulation_LDADD = $(ECORE_EVAS_COMMON_LDADD)
diff --git a/src/examples/evas/evas-multiseat-events.c 
b/src/examples/evas/evas-multiseat-events.c
new file mode 100644
index 000..986194b
--- /dev/null
+++ b/src/examples/evas/evas-multiseat-events.c
@@ -0,0 +1,300 @@
+/**
+ * Evas example illustrating how to handle events with multiseat information:
+ ** mouse events
+ ** keyboard events
+ ** focus events
+ *
+ * You'll need at least one engine built for it (excluding the buffer
+ * one) and the png image loader also built. See stdout/stderr for
+ * output.
+ *
+ * @verbatim
+ * gcc -o evas_multiseat_events evas-multiseat-events.c `pkg-config --libs 
--cflags evas ecore ecore-evas`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include 
+#include 
+#include 
+#include 
+
+#define WIDTH  (400)
+#define HEIGHT (200)
+
+static void
+_canvas_focus_in_cb(void *data EINA_UNUSED, const Efl_Event *event)
+{
+   Efl_Input_Device *seat;
+   Efl_Input_Focus *ev;
+   Evas_Object *focused;
+
+   ev = event->info;
+   seat = efl_input_device_get(ev);
+   focused = efl_input_focus_object_get(ev);
+
+   fprintf(stdout, "Object %s was focused by seat %s\n",
+   evas_object_name_get(focused),
+   efl_input_device_name_get(seat));
+}
+
+static void
+_hold_cb(void *data EINA_UNUSED, const Efl_Event *event)
+{
+   Efl_Input_Device *seat;
+   Efl_Input_Hold *ev;
+
+   ev = event->info;
+   seat = efl_input_device_seat_get(efl_input_device_get(ev));
+
+   fprintf(stdout, "Hold %s at object %s from seat %s\n",
+   efl_input_hold_get(ev) ? "on" : "off",
+   evas_object_name_get(event->object),
+   efl_input_device_name_get(seat));
+}
+
+static void
+_focus_cb(void *data EINA_UNUSED, const Efl_Event *event)
+{
+   Efl_Input_Device *seat;
+   Efl_Input_Focus *ev;
+
+   ev = event->info;
+   seat = efl_input_device_get(ev);
+
+   fprintf(stdout, "Focus %s at object %s from seat %s\n",
+   event->desc == EFL_EVENT_FOCUS_IN ? "in" : "out",
+   evas_object_name_get(event->object),
+   efl_input_device_name_get(seat));
+}
+
+static void
+_pointer_in_out_cb(void *data EINA_UNUSED, const Efl_Event *event)
+{
+   Efl_Input_Pointer *ev;
+   Efl_Input_Device *seat;
+
+   ev = event->info;
+   seat = efl_input_device_seat_get(efl_input_device_get(ev));
+
+   fprintf(stdout, "Pointer %s at object %s from seat %s\n",
+   event->desc == EFL_EVENT_POINTER_IN ? "in" : "out",
+   evas_object_name_get(event->object),
+   efl_input_device_name_get(seat));
+}
+
+static void
+_pointer_down_cb(void *data EINA_UNUSED, const Efl_Event *event)
+{
+   Efl_Input_Pointer *ev;
+   Efl_Input_Device *seat;
+   Efl_Pointer_Flags pointer_flags;
+   char buf[256];
+
+   ev = event->info;
+   seat = efl_input_device_seat_get(efl_input_device_get(ev));
+   pointer_flags = efl_input_pointer_button_flags_get(ev);
+
+   if (pointer_flags & EFL_POINTER_FLAGS_TRIPLE_CLICK)
+ snprintf(buf, sizeof(buf), "Triple click with button %i",
+  efl_input_pointer_button_get(ev));
+   else if (pointer_flags & EFL_POINTER_FLAGS_DOUBLE_CLICK)
+ snprintf(buf, sizeof(buf), "Double click with button %i",
+  efl_input_pointer_button_get(ev));
+   else
+ {
+snprintf(buf, sizeof(buf), "Pointer button %i down",
+ 

[EGIT] [core/efl] master 02/03: examples/evas: sort gitignore

2016-11-30 Thread Bruno Dilly
bdilly pushed a commit to branch master.

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

commit 639e0eeaf5bd7eaff8b78fe3ed3930de43ede3eb
Author: Bruno Dilly 
Date:   Tue Nov 29 19:21:49 2016 -0200

examples/evas: sort gitignore
---
 src/examples/evas/.gitignore | 88 ++--
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/src/examples/evas/.gitignore b/src/examples/evas/.gitignore
index e0621bb..31a9d20 100644
--- a/src/examples/evas/.gitignore
+++ b/src/examples/evas/.gitignore
@@ -1,50 +1,24 @@
-/evas_box
-/evas_buffer_simple
-/evas_events
-/evas_hints
-/evas_images
-/evas_images2
-/evas_images3
-/evas_images4
-/evas_images5
-/evas_init_shutdown
-/evas_object_manipulation
-/evas_object_manipulation-eo
-/evas_smart_interface
-/evas_smart_object
-/evas_stacking
-/evas_text
-/evas_aspect_hints
-/evas_map_utils
-/evas_map_utils_eo
-/evas_table
-/evas_multi_touch
+/evas_3d_aabb
+/evas_3d_blending
+/evas_3d_colorpick
 /evas_3d_cube
 /evas_3d_cube2
-/evas_3d_md2
-/evas_3d_pick
-/evas_3d_colorpick
-/evas_3d_proxy
-/evas_cxx_rectangle
-/evas_3d_aabb
-/evas_3d_frustum
-/evas_3d_obj
-/evas_3d_ply
 /evas_3d_cube_rotate
-/evas_3d_shooter
-/evas_gl
-/evas_transparent
 /evas_3d_eet
-/saved_Sonic_EET.eet
-/evas_3d_blending
-/evas_map_aa
-/evas_map_aa_eo
+/evas_3d_frustum
+/evas_3d_md2
 /evas_3d_mmap
-/evas_3d_shadows
-/evas_3d_parallax_occlusion
-/evas_vg_simple
-/evas_vg_batman
 /evas_3d_moon_space
+/evas_3d_obj
+/evas_3d_parallax_occlusion
+/evas_3d_pick
+/evas_3d_ply
+/evas_3d_proxy
+/evas_3d_shadows
+/evas_3d_shooter
+/evas_aspect_hints
+/evas_box
+/evas_buffer_simple
 /evas_canvas3d_aabb
 /evas_canvas3d_blending
 /evas_canvas3d_colorpick
@@ -52,7 +26,9 @@
 /evas_canvas3d_cube2
 /evas_canvas3d_cube_rotate
 /evas_canvas3d_eet
+/evas_canvas3d_fog
 /evas_canvas3d_frustum
+/evas_canvas3d_hull
 /evas_canvas3d_md2
 /evas_canvas3d_mmap
 /evas_canvas3d_obj
@@ -62,7 +38,31 @@
 /evas_canvas3d_proxy
 /evas_canvas3d_shadows
 /evas_canvas3d_shooter
-/evas_textblock_obstacles
-/evas_canvas3d_hull
 /evas_canvas3d_static_lod
-/evas_canvas3d_fog
+/evas_cxx_rectangle
+/evas_events
+/evas_gl
+/evas_hints
+/evas_images
+/evas_images2
+/evas_images3
+/evas_images4
+/evas_images5
+/evas_init_shutdown
+/evas_map_aa
+/evas_map_aa_eo
+/evas_map_utils
+/evas_map_utils_eo
+/evas_multi_touch
+/evas_object_manipulation
+/evas_object_manipulation-eo
+/evas_smart_interface
+/evas_smart_object
+/evas_stacking
+/evas_table
+/evas_text
+/evas_textblock_obstacles
+/evas_transparent
+/evas_vg_batman
+/evas_vg_simple
+/saved_Sonic_EET.eet

-- 




[EGIT] [core/enlightenment] master 01/01: handle input detection for wl surface grabs more accurately using stacking

2016-11-30 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit ca5176e6fa13c22d29629a1d9fc2b788b928643a
Author: Mike Blumenkrantz 
Date:   Wed Nov 30 12:46:54 2016 -0500

handle input detection for wl surface grabs more accurately using stacking

this should more accurately handle cases where mouse movements over grabbed
surfaces are intercepted by overlapping windows
---
 src/bin/e_comp_wl.c | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 801e83b..4fc66f6 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -3434,11 +3434,19 @@ e_comp_wl_client_is_grabbed(const E_Client *ec)
 static Eina_Bool
 _check_grab_coords(E_Client *ec, int x, int y)
 {
-   if (e_comp_object_coords_inside_input_area(ec->frame, x, y)) return 
EINA_TRUE;
-   while (ec->parent)
+   E_Client *tec, *pec;
+
+   E_CLIENT_REVERSE_FOREACH(tec)
  {
-ec = ec->parent;
-if (e_comp_object_coords_inside_input_area(ec->frame, x, y)) return 
EINA_TRUE;
+if (!e_comp_object_coords_inside_input_area(tec->frame, x, y)) 
continue;
+if (tec == ec) return EINA_TRUE;
+pec = ec->parent;
+while (pec)
+  {
+ if (tec == pec) return EINA_TRUE;
+ pec = pec->parent;
+  }
+return EINA_FALSE;
  }
return EINA_FALSE;
 }

-- 




[EGIT] [core/enlightenment] master 01/02: use correct coords for determining input region calcs on comp objects

2016-11-30 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit a3a239c1d0184f38c44f7cba1a4f2ca0dbfaa1e5
Author: Mike Blumenkrantz 
Date:   Wed Nov 30 12:25:58 2016 -0500

use correct coords for determining input region calcs on comp objects
---
 src/bin/e_comp_object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index b6999ca..2751dbd 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3162,7 +3162,7 @@ e_comp_object_coords_inside_input_area(Evas_Object *obj, 
int x, int y)
API_ENTRY EINA_FALSE;
 
if (cw->input_obj)
- return E_INSIDE(x, y, cw->input_rect.x, cw->input_rect.y, 
cw->input_rect.w, cw->input_rect.h);
+ return E_INSIDE(x, y, cw->x + cw->input_rect.x, cw->y + cw->input_rect.y, 
cw->input_rect.w, cw->input_rect.h);
return E_INSIDE(x, y, cw->ec->x, cw->ec->y, cw->ec->w, cw->ec->h);
 }
 

-- 




[EGIT] [core/enlightenment] master 02/02: move the comp canvas cursor object during wl surface grabs

2016-11-30 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f83045dc62a5bc8039e63f08817db0740d792e4b
Author: Mike Blumenkrantz 
Date:   Wed Nov 30 12:31:04 2016 -0500

move the comp canvas cursor object during wl surface grabs

the struct member is not guaranteed to be the visible object, so get
the ee cursor and move that
---
 src/bin/e_comp_wl.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 1d0cba7..801e83b 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -3447,6 +3447,8 @@ E_API Eina_Bool
 e_comp_wl_grab_client_mouse_move(const Ecore_Event_Mouse_Move *ev)
 {
E_Client *ec;
+   Evas_Object *o;
+
if (e_comp->comp_type != E_PIXMAP_TYPE_WL) return ECORE_CALLBACK_RENEW;
ec = e_client_focused_get();
if (!ec) return ECORE_CALLBACK_RENEW;
@@ -3455,7 +3457,8 @@ e_comp_wl_grab_client_mouse_move(const 
Ecore_Event_Mouse_Move *ev)
/* reject mouse moves from outside the popup */
if (_check_grab_coords(ec, ev->x, ev->y)) return ECORE_CALLBACK_RENEW;
/* manually move the pointer since we're about to block the event globally 
*/
-   evas_object_move(e_comp->pointer->o_ptr, ev->x, ev->y);
+   ecore_evas_cursor_get(e_comp->ee, , NULL, NULL, NULL);
+   evas_object_move(o, ev->x, ev->y);
return ECORE_CALLBACK_DONE;
 }
 

-- 




[EGIT] [core/efl] master 01/01: ecore-wl2: Add warning if a wl_surface_frame callback failes to get created

2016-11-30 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 80df180157bc38547c3f696a16f835d4976230d5
Author: Chris Michael 
Date:   Wed Nov 30 12:12:38 2016 -0500

ecore-wl2: Add warning if a wl_surface_frame callback failes to get created

There could be situations where wl_surface_frame fails to create a
callback. In those cases, we should not be trying to add a wl_callback
listener for a non-existant callback.

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

diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c 
b/src/lib/ecore_wl2/ecore_wl2_input.c
index d272dc4..c6a5ae8 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -756,8 +756,11 @@ _pointer_cb_frame(void *data, struct wl_callback 
*callback, unsigned int timesta
if ((!input->cursor.frame_cb) && (input->cursor.surface))
  {
 input->cursor.frame_cb = wl_surface_frame(input->cursor.surface);
-wl_callback_add_listener(input->cursor.frame_cb,
- &_pointer_surface_listener, input);
+if (input->cursor.frame_cb)
+  wl_callback_add_listener(input->cursor.frame_cb,
+   &_pointer_surface_listener, input);
+else
+  WRN("Failed to create surface frame callback for cursor surface");
  }
 }
 

-- 




[EGIT] [core/enlightenment] master 01/01: Fix crash on xdg shell unbind

2016-11-30 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 3313f0f26dfcb90a91dbd6dc4a16a659f9372a7d
Author: Derek Foreman 
Date:   Wed Nov 30 10:19:40 2016 -0600

Fix crash on xdg shell unbind

Running weston-simple-dmabuf-intel and killing it could crash E in
xdg_shell_unbind.
---
 src/modules/wl_desktop_shell/xdg6.c | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/modules/wl_desktop_shell/xdg6.c 
b/src/modules/wl_desktop_shell/xdg6.c
index c6926e9..b323385 100644
--- a/src/modules/wl_desktop_shell/xdg6.c
+++ b/src/modules/wl_desktop_shell/xdg6.c
@@ -1336,11 +1336,14 @@ _e_xdg_shell_cb_unbind(struct wl_resource *resource)
 E_Client *ec = wl_resource_get_user_data(res);
 E_Shell_Data *shd;
 
-if (ec->comp_data->shell.surface)
-  e_shell_surface_cb_destroy(ec->comp_data->shell.surface);
-shd = ec->comp_data->shell.data;
-if (shd)
-  e_shell_surface_cb_destroy(shd->surface);
+if (!e_object_is_del(E_OBJECT(ec)))
+  {
+ if (ec->comp_data->shell.surface)
+   e_shell_surface_cb_destroy(ec->comp_data->shell.surface);
+ shd = ec->comp_data->shell.data;
+ if (shd)
+   e_shell_surface_cb_destroy(shd->surface);
+  }
 v->surfaces = eina_list_remove_list(v->surfaces, l);
  }
 

-- 




[EGIT] [core/enlightenment] master 01/01: use more accurate determination for applying xdg-shell (un)maximize operations

2016-11-30 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f58eb2db7b5ec9c8b7ab9ad09d3ab49f7f42b54b
Author: Mike Blumenkrantz 
Date:   Wed Nov 30 11:15:42 2016 -0500

use more accurate determination for applying xdg-shell (un)maximize 
operations

fixes maximizing again
---
 src/modules/wl_desktop_shell/xdg5.c | 8 +---
 src/modules/wl_desktop_shell/xdg6.c | 8 +---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/modules/wl_desktop_shell/xdg5.c 
b/src/modules/wl_desktop_shell/xdg5.c
index 4fd0313..a2191f3 100644
--- a/src/modules/wl_desktop_shell/xdg5.c
+++ b/src/modules/wl_desktop_shell/xdg5.c
@@ -83,7 +83,7 @@ _xdg_shell_surface_send_configure(struct wl_resource 
*resource, Eina_Bool fullsc
  {
 if (maximized)
   pending |= STATE_MAXIMIZED;
-else if (ec->maximized)
+else if (ec->maximized || ec->comp_data->unmax)
   pending |= STATE_UNMAXIMIZED;
  }
shd->maximized = maximized;
@@ -349,13 +349,15 @@ _e_xdg_shell_surface_cb_ack_configure(struct wl_client 
*client EINA_UNUSED, stru
   {
  ec->comp_data->shell.set.maximize = 1;
  ec->comp_data->shell.set.unmaximize = 0;
- ec->comp_data->max = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
+ if (!ec->comp_data->max)
+   ec->comp_data->max = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
   }
 if (ps->state & STATE_UNMAXIMIZED)
   {
  ec->comp_data->shell.set.unmaximize = 1;
  ec->comp_data->shell.set.maximize = 0;
- ec->comp_data->unmax = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
+ if (!ec->comp_data->unmax)
+   ec->comp_data->unmax = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
   }
 shd->pending = eina_list_remove_list(shd->pending, l);
 free(ps);
diff --git a/src/modules/wl_desktop_shell/xdg6.c 
b/src/modules/wl_desktop_shell/xdg6.c
index f39f928..c6926e9 100644
--- a/src/modules/wl_desktop_shell/xdg6.c
+++ b/src/modules/wl_desktop_shell/xdg6.c
@@ -334,7 +334,7 @@ _xdg_shell_surface_send_configure(struct wl_resource 
*resource, Eina_Bool fullsc
  {
 if (maximized)
   pending |= STATE_MAXIMIZED;
-else if (ec->maximized)
+else if (ec->maximized || ec->comp_data->unmax)
   pending |= STATE_UNMAXIMIZED;
  }
shd->maximized = maximized;
@@ -479,13 +479,15 @@ _e_xdg_surface_cb_ack_configure(struct wl_client *client 
EINA_UNUSED, struct wl_
   {
  ec->comp_data->shell.set.maximize = 1;
  ec->comp_data->shell.set.unmaximize = 0;
- ec->comp_data->max = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
+ if (!ec->comp_data->max)
+   ec->comp_data->max = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
   }
 if (ps->state & STATE_UNMAXIMIZED)
   {
  ec->comp_data->shell.set.unmaximize = 1;
  ec->comp_data->shell.set.maximize = 0;
- ec->comp_data->unmax = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
+ if (!ec->comp_data->unmax)
+   ec->comp_data->unmax = (e_config->maximize_policy & 
E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
   }
 shd->pending = eina_list_remove_list(shd->pending, l);
 free(ps);

-- 




Re: [E-devel] Elm Main Menu

2016-11-30 Thread Andrew Williams
I still see I here. Just updated efl and edi. It's not on every keypress
but just using the cursor keys particularly around beeline characters seems
to trigger it :(

No idea where to start...

Andy
On Wed, 30 Nov 2016 at 02:20, Jean-Philippe André  wrote:

> On 30 November 2016 at 13:55, Jean-Philippe André 
> wrote:
>
> Hi Andy,
>
> On 30 November 2016 at 11:35, Andrew Williams 
> wrote:
>
> Hi,
>
> The mainmenu seems to work fine.
> But since updating my edi window seems to shrink vertically after certain
> key presses - any chance it's related?
>
>
> Omg indeed. For me it's every key press and even just giving focus to EDI.
>
>
> Not pointing fingers as I've pushed plenty in today but I didn't see it
> until I pulled from origin I don't think.
>
>
> You know it's got to be the frenchie's fault. And probably related to the
> main menu, too.
> I'll have a look at what's going on.
>
>
> And it's magically gone before I could dive deep into this issue.
> Please let me know if you still experience it.
>
>
>
> :)
>
>
>
> Andy
>
> On Tue, 29 Nov 2016 at 02:05, Jean-Philippe André 
> wrote:
>
> Hey Andy,
>
> I've reverted my revert and tried to fix my original patch.
> Let me know if it works fine for you!
>
> Thanks,
>
>
> On 29 November 2016 at 02:02, Andrew Williams 
> wrote:
>
> Great thanks, I love having my tab bar back :)
>
> Have a great day!
> Andy
>
> On Mon, 28 Nov 2016 at 00:57, Jean-Philippe André 
> wrote:
>
> Hi,
>
> On 28 November 2016 at 11:44, Carsten Haitzler 
> wrote:
>
> On Sun, 27 Nov 2016 15:58:42 + Andrew Williams 
> said:
>
> > Yup - that's what I see - right in elementary_test.
> >
> > Not started bisecting as I've not been coding for a few days. Might get a
> > chance today.
> > But of course the efl build time is quite an issue for this :-p
>
> it's very likely to do with jpeg's changes tot he elm win/efl ui win and
> theme
> and csd etc. 
>
>
> Yes, of course it was related. After playing a bit with the menu, trying
> to place it inside the framespace, I encountered many sizing issues
> (elm_menu and efl_ui_win both use custom layout functions). So I reverted
> some of my changes and the menu bar is back inside win.edc. For now.
> Hopefully I can fix the sizing issues as all the conformant features also
> need to move inside the window.
>
>
>
> > Andrew
> > On Sun, 27 Nov 2016 at 02:57, Carsten Haitzler 
> wrote:
> >
> > > On Sun, 27 Nov 2016 07:44:25 +0200 Daniel Zaoui <
> daniel.za...@samsung.com>
> > > said:
> > >
> > > > Hi Andrew,
> > > >
> > > > Do you see any issues in elementary_test? Cause seems ok there. Did
> you
> > > try
> > > > to bisect?
> > > >
> > > > Exactness doesn't cover main_menu. It should but the scenario has
> never
> > > been
> > > > recorded.
> > > >
> > > > JackDanielZ
> > >
> > > elm test does show the b0rk. resize the main menu test vertically.
> notice
> > > the
> > > label will slide underneath the main menu. this is the b0rk. :)
> > >
> > > > On Sat, 26 Nov 2016 15:20:13 +
> > > > Andrew Williams  wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > In the last week (or two) the elm main menu has stopped reserving
> its
> > > > > own space and has started overlapping content. Does anyone know why
> > > > > this might be?
> > > > > Have the UI tests stopped being run or did the exactness not cover
> > > > > mainmenu layout? (Again, not sure where to look)
> > > > >
> > > > > Thanks for any tips,
> > > > > Andy
> > > > >
> > >
> --
> > > > > ___
> > > > > enlightenment-devel mailing list
> > > > > enlightenment-devel@lists.sourceforge.net
> > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> --
> > > > ___
> > > > 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
> > >
> > >
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>
>
>
> --
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>
>
>
> --
> Jean-Philippe André
>
>
>
>
> --
> 

Re: [E-devel] [EGIT] [core/efl] master 01/02: Menu, Item Interface: Common interface for menu, toolbar and ctxpopup

2016-11-30 Thread Stefan Schmidt
Hello.

On 30/11/16 14:11, Amitesh Singh wrote:
> On Nov 30, 2016 15:19, "Stefan Schmidt"  wrote:
>>
>> Hello.
>>
>> On 30/11/16 10:22, Amitesh Singh wrote:
>>> jpeg pushed a commit to branch master.
>>>
>>>
> http://git.enlightenment.org/core/efl.git/commit/?id=a58e2e1a790732428fa09d479fec63d433931f06
>>>
>>> commit a58e2e1a790732428fa09d479fec63d433931f06
>>> Author: Amitesh Singh 
>>> Date:   Wed Nov 30 16:18:46 2016 +0900
>>>
>>> Menu,Item Interface: Common interface for menu, toolbar and ctxpopup
>>>
>>> Summary:
>>> efl_ui_menu interface provides common functions of menu, toolbar
> and ctxpopup.
>>> efl_ui_item interface provides common functions of menu_item,
> toolbar_item and ctxpopup_item.
>>> Also implemented some missing functions like selected_item set/get
> in ctxpopup.
>>> efl_ui_item interface should be used for other widget items as well.
>>>
>>> Test Plan: elementary_test
>>>
>>> Reviewers: jpeg, felipealmeida, raster, SanghyeonLee, cedric,
> yashu21985
>>>
>>> Subscribers: bu5hm4n
>>>
>>> Differential Revision: https://phab.enlightenment.org/D3897
>>> ---
>>>  src/Makefile_Efl.am  |   2 +
>>>  src/bin/elementary/test_ctxpopup.c   |   9 ++-
>>>  src/lib/efl/Efl.h|   2 +
>>>  src/lib/efl/interfaces/efl_interfaces_main.c |   2 +
>>>  src/lib/efl/interfaces/efl_ui_item.eo|  49 
>>>  src/lib/efl/interfaces/efl_ui_menu.eo|  29 +++
>>>  src/lib/elementary/elc_ctxpopup.c| 109
> +--
>>>  src/lib/elementary/elc_ctxpopup_legacy.h |  77 +++
>>>  src/lib/elementary/elm_ctxpopup.eo   |  58 ++
>>>  src/lib/elementary/elm_ctxpopup_item.eo  |  33 +---
>>>  src/lib/elementary/elm_dbus_menu.c   |   4 +-
>>>  src/lib/elementary/elm_menu.c|  78 ---
>>>  src/lib/elementary/elm_menu.eo   |  31 ++--
>>>  src/lib/elementary/elm_menu_item.eo  |  25 ++
>>>  src/lib/elementary/elm_menu_legacy.h |  57 ++
>>>  src/lib/elementary/elm_toolbar.c |  64 ++--
>>>  src/lib/elementary/elm_toolbar.eo|  35 ++---
>>>  src/lib/elementary/elm_toolbar_item.eo   |  50 +---
>>>  src/lib/elementary/elm_toolbar_legacy.h  |  86
> +
>>>  src/lib/elementary/elm_widget_ctxpopup.h |   2 +
>>>  20 files changed, 570 insertions(+), 232 deletions(-)
>>
>> This commit brought two new warnings into the build. Both look serious
>> to be taken into account. :)
>>
>> lib/elementary/elm_dbus_menu.c: In function ‘_root_layout_build’:
>> lib/elementary/elm_dbus_menu.c:364:13: warning: assignment from
>> incompatible pointer type [-Wincompatible-pointer-types]
>>   ret = efl_ui_menu_items_get(dbus_menu->menu);
>>
>>
>>
>> lib/elementary/elm_toolbar.c: In function
>> ‘_elm_toolbar_efl_ui_menu_items_get’:
>> lib/elementary/elm_toolbar.c:3257:34: warning: passing argument 1 of
>> ‘eina_list_iterator_new’ from incompatible pointer type
>> [-Wincompatible-pointer-types]
>>  return eina_list_iterator_new(sd->items);
>>^
>> In file included from ../src/lib/eina/Eina.h:223:0,
>>   from ../src/lib/elementary/Elementary.h:57,
>>   from lib/elementary/elm_toolbar.c:10:
>> ../src/lib/eina/eina_list.h:1302:56: note: expected ‘const Eina_List *
>> {aka const struct _Eina_List *}’ but argument is of type ‘Eina_Inlist *
>> {aka struct _Eina_Inlist *}’
>>   EAPI Eina_Iterator*eina_list_iterator_new(const Eina_List
>> *list) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
>>
> Thanks stefan. Fixed it. These warnings were serious problems.

Thanks for fixing.

> I should not cook code on an empty stomach. :/

Always have a small appetizer before crunching down some heavy code bites :)


regards
Stefan Schmidt

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: Menu, Item Interface: Common interface for menu, toolbar and ctxpopup

2016-11-30 Thread Amitesh Singh
On Nov 30, 2016 15:19, "Stefan Schmidt"  wrote:
>
> Hello.
>
> On 30/11/16 10:22, Amitesh Singh wrote:
> > jpeg pushed a commit to branch master.
> >
> >
http://git.enlightenment.org/core/efl.git/commit/?id=a58e2e1a790732428fa09d479fec63d433931f06
> >
> > commit a58e2e1a790732428fa09d479fec63d433931f06
> > Author: Amitesh Singh 
> > Date:   Wed Nov 30 16:18:46 2016 +0900
> >
> > Menu,Item Interface: Common interface for menu, toolbar and ctxpopup
> >
> > Summary:
> > efl_ui_menu interface provides common functions of menu, toolbar
and ctxpopup.
> > efl_ui_item interface provides common functions of menu_item,
toolbar_item and ctxpopup_item.
> > Also implemented some missing functions like selected_item set/get
in ctxpopup.
> > efl_ui_item interface should be used for other widget items as well.
> >
> > Test Plan: elementary_test
> >
> > Reviewers: jpeg, felipealmeida, raster, SanghyeonLee, cedric,
yashu21985
> >
> > Subscribers: bu5hm4n
> >
> > Differential Revision: https://phab.enlightenment.org/D3897
> > ---
> >  src/Makefile_Efl.am  |   2 +
> >  src/bin/elementary/test_ctxpopup.c   |   9 ++-
> >  src/lib/efl/Efl.h|   2 +
> >  src/lib/efl/interfaces/efl_interfaces_main.c |   2 +
> >  src/lib/efl/interfaces/efl_ui_item.eo|  49 
> >  src/lib/efl/interfaces/efl_ui_menu.eo|  29 +++
> >  src/lib/elementary/elc_ctxpopup.c| 109
+--
> >  src/lib/elementary/elc_ctxpopup_legacy.h |  77 +++
> >  src/lib/elementary/elm_ctxpopup.eo   |  58 ++
> >  src/lib/elementary/elm_ctxpopup_item.eo  |  33 +---
> >  src/lib/elementary/elm_dbus_menu.c   |   4 +-
> >  src/lib/elementary/elm_menu.c|  78 ---
> >  src/lib/elementary/elm_menu.eo   |  31 ++--
> >  src/lib/elementary/elm_menu_item.eo  |  25 ++
> >  src/lib/elementary/elm_menu_legacy.h |  57 ++
> >  src/lib/elementary/elm_toolbar.c |  64 ++--
> >  src/lib/elementary/elm_toolbar.eo|  35 ++---
> >  src/lib/elementary/elm_toolbar_item.eo   |  50 +---
> >  src/lib/elementary/elm_toolbar_legacy.h  |  86
+
> >  src/lib/elementary/elm_widget_ctxpopup.h |   2 +
> >  20 files changed, 570 insertions(+), 232 deletions(-)
>
> This commit brought two new warnings into the build. Both look serious
> to be taken into account. :)
>
> lib/elementary/elm_dbus_menu.c: In function ‘_root_layout_build’:
> lib/elementary/elm_dbus_menu.c:364:13: warning: assignment from
> incompatible pointer type [-Wincompatible-pointer-types]
>   ret = efl_ui_menu_items_get(dbus_menu->menu);
>
>
>
> lib/elementary/elm_toolbar.c: In function
> ‘_elm_toolbar_efl_ui_menu_items_get’:
> lib/elementary/elm_toolbar.c:3257:34: warning: passing argument 1 of
> ‘eina_list_iterator_new’ from incompatible pointer type
> [-Wincompatible-pointer-types]
>  return eina_list_iterator_new(sd->items);
>^
> In file included from ../src/lib/eina/Eina.h:223:0,
>   from ../src/lib/elementary/Elementary.h:57,
>   from lib/elementary/elm_toolbar.c:10:
> ../src/lib/eina/eina_list.h:1302:56: note: expected ‘const Eina_List *
> {aka const struct _Eina_List *}’ but argument is of type ‘Eina_Inlist *
> {aka struct _Eina_Inlist *}’
>   EAPI Eina_Iterator*eina_list_iterator_new(const Eina_List
> *list) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
>
Thanks stefan. Fixed it. These warnings were serious problems.

I should not cook code on an empty stomach. :/

> regards
> Stefan Schmidt
>
>
--
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: elm: fix compliation warnings in dbus menu & toolbar

2016-11-30 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 1f3f66b662a88ca38458a64200d9586830525389
Author: Amitesh Singh 
Date:   Wed Nov 30 18:33:59 2016 +0530

elm: fix compliation warnings in dbus menu & toolbar

These warnings were serious problems.
Thanks to stefan for reporting.
---
 src/lib/elementary/elm_dbus_menu.c | 9 -
 src/lib/elementary/elm_toolbar.c   | 2 +-
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/elm_dbus_menu.c 
b/src/lib/elementary/elm_dbus_menu.c
index d649a24..9610a0b 100644
--- a/src/lib/elementary/elm_dbus_menu.c
+++ b/src/lib/elementary/elm_dbus_menu.c
@@ -333,9 +333,8 @@ _root_layout_build(Elm_DBus_Menu *dbus_menu, Eina_List 
*property_list,
 {
char *property;
Eldbus_Message_Iter *layout, *array, *pair, *variant;
-   const Eina_List *ret = NULL;
-   Eina_List *items;
Eina_List *l;
+   Eina_Iterator *it = NULL;
Elm_Object_Item *obj_item;
 
layout = eldbus_message_iter_container_new(iter, 'r', NULL);
@@ -361,9 +360,8 @@ _root_layout_build(Elm_DBus_Menu *dbus_menu, Eina_List 
*property_list,
 
if (recursion_depth > 0)
  {
-ret = efl_ui_menu_items_get(dbus_menu->menu);
-items = (Eina_List *)ret;
-EINA_LIST_FOREACH (items, l, obj_item)
+it = efl_ui_menu_items_get(dbus_menu->menu);
+EINA_ITERATOR_FOREACH (it, obj_item)
   {
  variant = eldbus_message_iter_container_new(array, 'v',
  "(ia{sv}av)");
@@ -372,6 +370,7 @@ _root_layout_build(Elm_DBus_Menu *dbus_menu, Eina_List 
*property_list,
  recursion_depth - 1, variant);
  eldbus_message_iter_container_close(array, variant);
   }
+eina_iterator_free(it);
  }
 
eldbus_message_iter_container_close(layout, array);
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index 9052c29..f88998c 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -3254,7 +3254,7 @@ _elm_toolbar_efl_ui_menu_last_item_get(Eo *obj 
EINA_UNUSED, Elm_Toolbar_Data *sd
 EOLIAN static Eina_Iterator*
 _elm_toolbar_efl_ui_menu_items_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd)
 {
-   return eina_list_iterator_new(sd->items);
+   return eina_inlist_iterator_new(sd->items);
 }
 
 EOLIAN static Elm_Object_Item *

-- 




[EGIT] [apps/eruler] master 01/01: main: Fix crash on shutdown

2016-11-30 Thread Jean-Philippe Andre
jpeg pushed a commit to branch master.

http://git.enlightenment.org/apps/eruler.git/commit/?id=ef5c03207c0985a3b42f96d77fcbef995ea86298

commit ef5c03207c0985a3b42f96d77fcbef995ea86298
Author: Jean-Philippe Andre 
Date:   Wed Nov 30 21:18:02 2016 +0900

main: Fix crash on shutdown

Don't let _event_del access an already freed zone.
---
 src/bin/main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/bin/main.c b/src/bin/main.c
index 7df9f04..5ccad6a 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -2393,6 +2393,9 @@ zone_del(Zone *zone)
 * their lists.
 */
 
+   evas_object_event_callback_del_full(zone->event, EVAS_CALLBACK_DEL, 
_event_del, zone);
+
+
free(zone);
zones = eina_list_remove(zones, zone);
 }

-- 




Re: [E-devel] [GIT] : ecore_file: use win api for delete folder

2016-11-30 Thread Viacheslav Reutskiy
I check this commit and you are right, this is useless patch.
Revert.

Thank you, Vincent


On 11/24/16 10:18, Vincent Torri wrote:
> hello
>
> about commit 5e25b8037ca8858412627d76b6fe72e9c7279021
>
> what is the problem with rmdir ? rm does exactly the same thing,
> except that RemoveDirectory() will not remove the directory until the
> last handle to the directory is closed
>
> if there is a problem with rmdir, check errno
>
> Vincent
>
> --
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-- 
Viacheslav Reutskiy (rimmed)


--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Revert "ecore_file: use win api for delete folder"

2016-11-30 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 67d228230a2f20ec78b4aa66a22a4827fe1931fb
Author: Vyacheslav Reutskiy 
Date:   Wed Nov 30 14:02:45 2016 +0200

Revert "ecore_file: use win api for delete folder"

It was mistake, rmdir work correct, problem was fixed in commit
56c202614b73f0e4c34d7a5cd070fe2b24d9217f

This reverts commit 5e25b8037ca8858412627d76b6fe72e9c7279021.
---
 src/lib/ecore_file/ecore_file.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c
index f2b5de1..dd53db1 100644
--- a/src/lib/ecore_file/ecore_file.c
+++ b/src/lib/ecore_file/ecore_file.c
@@ -296,11 +296,7 @@ ecore_file_mksubdirs(const char *base, const char 
**subdirs)
 EAPI Eina_Bool
 ecore_file_rmdir(const char *dir)
 {
-#ifdef _WIN32
-   if (RemoveDirectory(dir) < 0) return EINA_FALSE;
-#else
if (rmdir(dir) < 0) return EINA_FALSE;
-#endif /* _WIN32 */
return EINA_TRUE;
 }
 

-- 




[EGIT] [core/enlightenment] annotated tag v0.21.4 created (now 4264fc2)

2016-11-30 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

simotek pushed a change to annotated tag v0.21.4
in repository core/enlightenment.

at  4264fc2   (tag)
   tagging  43b92583766f57830833b52677fb1644afd59382 (commit)
  replaces  v0.21.3
 tagged by  Simon Lees
on  Wed Nov 30 21:02:06 2016 +1030

- Log -
0.21.4 Release

Al Poole (2):
  efm - fix popup if file is a fifo
  Add temperature support for DragonFly BSD.

Alexander Pyhalov (1):
  actually check if PIE is supported for SUID

Carsten Haitzler (3):
  e fm - fix popup to not crash by referring to possibly deleted data
  cpufreq - move cpuinfo polling into thread to not block mainloop ever
  wizard - do not set scale to 1.2 forcibly. use dpi as the def prof says

Christopher Michael (2):
  check if a client is internal or not before deleting
  fix missing definition of DRM_FORMAT_XRGB

Derek Foreman (6):
  Block session recovery for internal windows
  Remove EVAS_CALLBACK_HIDE on shelf when freeing
  Increase area of tilers for regions
  Fix massive wayland input region brokenness
  Fix wayland opaque regions
  Stop passing dimensions to _e_comp_wl_surface_state_init

Joshua McBeth (1):
  add dbus message 'org.enlightenment.wm.Window.SendToDesktop'

Marcel Hollerbach (5):
  wizard: make page 065 translatable
  mixer: we changed that name when we merged the mixer in
  update german translation
  The potfile has changed,
  mixer: do not set back the value from emix once the drag is finished

Massimo Maiurana (1):
  Updating italian translation

Michaël Bouchaud (yoz) (2):
  mixer: fix the volume conversion calc into pulseaudio backend
  Revert "mixer: lock up the slider for the case a drag is in progress"

Mike Blumenkrantz (80):
  enforce bryce resizing when orientation changes
  add EINTERN function for renaming gadget sites
  fix bryce check for shelf existence on orientation/anchor to break when 
expected
  add zone number to bryce names
  do not check for shelf/bryce existence in opposing anchorages during 
bryce wizard
  further improve bryce portability across zones
  also do full bryce rename when moving between zones
  add new flag for zone edge objects to allow shape cutting while repeating 
events
  force bryce visibility during editor activity
  add gadget_site_(un)locked smart callbacks for forcing gadget site 
visibility
  call gadget_popup smart callback when configuring gadgets
  handle gadget_popup smart callback on gadget's display object
  set ON_HOLD flag when triggering gadget mouse buttion actions
  remove unused attribute from used param
  trigger bryce menus from right click if event has not been consumed
  fix bryce upgrade path from 0 -> 2 re:naming
  set ON_HOLD flag more accurately when activating gadget actions
  avoid extra recalc when resizing a bryce on its oriented axis
  add gadget site sizing workaround to avoid elm box sizing desync
  rename bryces when changing anchors
  loop bryce autosize recalc when gadget site has not yet calculated its 
size
  only find the session recovery remember if ec->remember is not it
  apply non-session recovery remember to client when creating recovery 
remember
  correctly handle applying of non-SR remember in remember config
  reject successive zone_geometry_dirty() calls
  trigger zone geometry events when updating zone/desk obstacles
  force min size on wireless popup during show
  add workarounds for ctxpopup geometry for use in input shape tiling
  force recalc on bryce scroller when doing recalc on gadget site
  handle no-orient gadget visibility based on site->events visibility
  force gadget site recalc on gadget object creation to ensure sizing
  copy gadget position from pointer gadget -> drop gadget when executing 
drop
  calc new gadget size based on ratio of size:target site size
  allow client frame changes when switching from frame -> no frame
  optimize out re-applying of borderless client theme
  block remembers of e_sys windows
  use eina_streq for string comparison in e_zone_for_id_get()
  fix use after free when renaming a bryce
  clamp bryce position to its parent zone
  avoid potential divide by zero during bryce startup
  do not modify bryce zone/name during startup
  center desktop gadget editor popups upon the zone they have activated
  attempt to handle non-orient gadget resizes based on anchor corners
  allow scaling gadgets using wheel events during initial placement
  attempt to recalc gadgets which overflow their container
  do not apply efx anchoring to move effects if a resize effect is not 
active
  do not return early from _bryce_position()
  add bool return for 

[EGIT] [core/enlightenment] enlightenment-0.21 01/02: 21.4 Release

2016-11-30 Thread Simon Lees
simotek pushed a commit to branch enlightenment-0.21.

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

commit 39e6605bf1d1f94c9b376e40a30dde3cc77aa95f
Author: Simon Lees 
Date:   Tue Nov 29 11:29:54 2016 +1030

21.4 Release
---
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 3398aea..a3a2ec6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,11 +2,11 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [0])
 m4_define([v_min], [21])
-m4_define([v_mic], [3])
+m4_define([v_mic], [4])
 m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 
0) | tr -d '\n']))dnl
 ##--   When released, remove the dnl on the below line
 m4_undefine([v_rev])
-m4_define([relname], [0.21.3])
+m4_define([relname], [0.21.4])
 ##--   When doing snapshots - change soname. remove dnl on below line
 m4_define([relname], [ver-0.21])
 dnl m4_define([v_rel], [-release relname])

-- 




[EGIT] [core/enlightenment] enlightenment-0.21 02/02: 21.4 NEWS Updates

2016-11-30 Thread Simon Lees
simotek pushed a commit to branch enlightenment-0.21.

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

commit 43b92583766f57830833b52677fb1644afd59382
Author: Simon Lees 
Date:   Tue Nov 29 11:39:15 2016 +1030

21.4 NEWS Updates
---
 NEWS | 135 +++
 1 file changed, 135 insertions(+)

diff --git a/NEWS b/NEWS
index 4f983f7..9145f6b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,138 @@
+Release 0.21.4:
+-
+Al Poole (1):
+  efm - fix popup if file is a fifo
+
+Alexander Pyhalov (1):
+  actually check if PIE is supported for SUID
+
+Carsten Haitzler (3):
+  e fm - fix popup to not crash by referring to possibly deleted data
+  cpufreq - move cpuinfo polling into thread to not block mainloop ever
+  wizard - do not set scale to 1.2 forcibly. use dpi as the def prof says
+
+Christopher Michael (2):
+  check if a client is internal or not before deleting
+  fix missing definition of DRM_FORMAT_XRGB
+
+Derek Foreman (6):
+  Block session recovery for internal windows
+  Remove EVAS_CALLBACK_HIDE on shelf when freeing
+  Increase area of tilers for regions
+  Fix massive wayland input region brokenness
+  Fix wayland opaque regions
+  Stop passing dimensions to _e_comp_wl_surface_state_init
+
+Joshua McBeth (1):
+  add dbus message 'org.enlightenment.wm.Window.SendToDesktop'
+
+Marcel Hollerbach (5):
+  wizard: make page 065 translatable
+  mixer: we changed that name when we merged the mixer in
+  update german translation
+  The potfile has changed,
+  mixer: do not set back the value from emix once the drag is finished
+
+Massimo Maiurana (1):
+  Updating italian translation
+
+Michaël Bouchaud (yoz) (2):
+  mixer: fix the volume conversion calc into pulseaudio backend
+  Revert "mixer: lock up the slider for the case a drag is in progress"
+
+Mike Blumenkrantz (80):
+  enforce bryce resizing when orientation changes
+  add EINTERN function for renaming gadget sites
+  fix bryce check for shelf existence on orientation/anchor to break when 
expected
+  add zone number to bryce names
+  do not check for shelf/bryce existence in opposing anchorages during 
bryce wizard
+  further improve bryce portability across zones
+  also do full bryce rename when moving between zones
+  add new flag for zone edge objects to allow shape cutting while 
repeating events
+  force bryce visibility during editor activity
+  add gadget_site_(un)locked smart callbacks for forcing gadget site 
visibility
+  call gadget_popup smart callback when configuring gadgets
+  handle gadget_popup smart callback on gadget's display object
+  set ON_HOLD flag when triggering gadget mouse buttion actions
+  remove unused attribute from used param
+  trigger bryce menus from right click if event has not been consumed
+  fix bryce upgrade path from 0 -> 2 re:naming
+  set ON_HOLD flag more accurately when activating gadget actions
+  avoid extra recalc when resizing a bryce on its oriented axis
+  add gadget site sizing workaround to avoid elm box sizing desync
+  rename bryces when changing anchors
+  loop bryce autosize recalc when gadget site has not yet calculated its 
size
+  only find the session recovery remember if ec->remember is not it
+  apply non-session recovery remember to client when creating recovery 
remember
+  correctly handle applying of non-SR remember in remember config
+  reject successive zone_geometry_dirty() calls
+  trigger zone geometry events when updating zone/desk obstacles
+  force min size on wireless popup during show
+  add workarounds for ctxpopup geometry for use in input shape tiling
+  force recalc on bryce scroller when doing recalc on gadget site
+  handle no-orient gadget visibility based on site->events visibility
+  force gadget site recalc on gadget object creation to ensure sizing
+  copy gadget position from pointer gadget -> drop gadget when executing 
drop
+  calc new gadget size based on ratio of size:target site size
+  allow client frame changes when switching from frame -> no frame
+  optimize out re-applying of borderless client theme
+  block remembers of e_sys windows
+  use eina_streq for string comparison in e_zone_for_id_get()
+  fix use after free when renaming a bryce
+  clamp bryce position to its parent zone
+  avoid potential divide by zero during bryce startup
+  do not modify bryce zone/name during startup
+  center desktop gadget editor popups upon the zone they have activated
+  attempt to handle non-orient gadget resizes based on anchor corners
+  allow scaling gadgets using wheel events during initial placement
+  attempt to recalc gadgets which overflow their 

[EGIT] [website/www-content] master 01/01: Wiki page e-0.21.4-release changed with summary [created] by Simon

2016-11-30 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit c78b389a0ae5486964012cb4a4f77f3347e8ff35
Author: Simon 
Date:   Wed Nov 30 03:10:32 2016 -0800

Wiki page e-0.21.4-release changed with summary [created] by Simon
---
 pages/news/e-0.21.4-release.txt | 176 
 1 file changed, 176 insertions(+)

diff --git a/pages/news/e-0.21.4-release.txt b/pages/news/e-0.21.4-release.txt
new file mode 100644
index 000..62b6aa9
--- /dev/null
+++ b/pages/news/e-0.21.4-release.txt
@@ -0,0 +1,176 @@
+Enlightenment DR 0.21.4 Release
+  * //2016-11-30 - by Simon Lees//
+
+This is another bugfix and stability release for the Enlightenment 21 Release 
series. It addresses a number of issues as listed below. While there has been 
many changes since the last release most changes are related to bryce and 
wayland as such they won't affect most users
+
+== Tickets Addressed ==
+  * https://phab.enlightenment.org/T2879
+  * https://phab.enlightenment.org/T4358
+  * https://phab.enlightenment.org/T4479
+  * https://phab.enlightenment.org/T4512
+  * https://phab.enlightenment.org/T4522
+  * https://phab.enlightenment.org/T4687
+  * https://phab.enlightenment.org/T4716
+  * https://phab.enlightenment.org/T4732
+  * https://phab.enlightenment.org/T4747
+  * https://phab.enlightenment.org/T4784
+  * https://phab.enlightenment.org/T4797
+  * https://phab.enlightenment.org/T4798
+  * https://phab.enlightenment.org/T4809
+  * https://phab.enlightenment.org/T4810
+  * https://phab.enlightenment.org/T4815
+  * https://phab.enlightenment.org/T4819
+  * https://phab.enlightenment.org/T4826
+
+== Changes ==
+Al Poole (1):
+  * efm - fix popup if file is a fifo
+
+Alexander Pyhalov (1):
+  * actually check if PIE is supported for SUID
+
+Carsten Haitzler (3):
+  * e fm - fix popup to not crash by referring to possibly deleted data
+  * cpufreq - move cpuinfo polling into thread to not block mainloop ever
+  * wizard - do not set scale to 1.2 forcibly. use dpi as the def prof says
+
+Christopher Michael (2):
+  * check if a client is internal or not before deleting
+  * fix missing definition of DRM_FORMAT_XRGB
+
+Derek Foreman (6):
+  * Block session recovery for internal windows
+  * Remove EVAS_CALLBACK_HIDE on shelf when freeing
+  * Increase area of tilers for regions
+  * Fix massive wayland input region brokenness
+  * Fix wayland opaque regions
+  * Stop passing dimensions to _e_comp_wl_surface_state_init
+
+Joshua McBeth (1):
+  * add dbus message 'org.enlightenment.wm.Window.SendToDesktop'
+
+Marcel Hollerbach (5):
+  * wizard: make page 065 translatable
+  * mixer: we changed that name when we merged the mixer in
+  * update german translation
+  * The potfile has changed,
+  * mixer: do not set back the value from emix once the drag is finished
+
+Massimo Maiurana (1):
+  * Updating italian translation
+
+Michaël Bouchaud (yoz) (2):
+  * mixer: fix the volume conversion calc into pulseaudio backend
+  * Revert "mixer: lock up the slider for the case a drag is in progress"
+
+Mike Blumenkrantz (80):
+  * enforce bryce resizing when orientation changes
+  * add EINTERN function for renaming gadget sites
+  * fix bryce check for shelf existence on orientation/anchor to break when 
expected
+  * add zone number to bryce names
+  * do not check for shelf/bryce existence in opposing anchorages during bryce 
wizard
+  * further improve bryce portability across zones
+  * also do full bryce rename when moving between zones
+  * add new flag for zone edge objects to allow shape cutting while repeating 
events
+  * force bryce visibility during editor activity
+  * add gadget_site_(un)locked smart callbacks for forcing gadget site 
visibility
+  * call gadget_popup smart callback when configuring gadgets
+  * handle gadget_popup smart callback on gadget's display object
+  * set ON_HOLD flag when triggering gadget mouse buttion actions
+  * remove unused attribute from used param
+  * trigger bryce menus from right click if event has not been consumed
+  * fix bryce upgrade path from 0 -> 2 re:naming
+  * set ON_HOLD flag more accurately when activating gadget actions
+  * avoid extra recalc when resizing a bryce on its oriented axis
+  * add gadget site sizing workaround to avoid elm box sizing desync
+  * rename bryces when changing anchors
+  * loop bryce autosize recalc when gadget site has not yet calculated its size
+  * only find the session recovery remember if ec->remember is not it
+  * apply non-session recovery remember to client when creating recovery 
remember
+  * correctly handle applying of non-SR remember in remember config
+  * reject successive zone_geometry_dirty() calls
+  * trigger zone geometry events when updating zone/desk obstacles
+  * force min size on wireless popup during show
+  * add workarounds for ctxpopup geometry for use 

[EGIT] [website/www-content] master 01/01: Wiki page e-0.21.3-release changed with summary [] by Simon

2016-11-30 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 656260f605bc9ec9eb3e8c9c340ed837e281dc2d
Author: Simon 
Date:   Wed Nov 30 02:51:30 2016 -0800

Wiki page e-0.21.3-release changed with summary [] by Simon
---
 pages/news/e-0.21.3-release.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pages/news/e-0.21.3-release.txt b/pages/news/e-0.21.3-release.txt
index fbdb708..5467179 100644
--- a/pages/news/e-0.21.3-release.txt
+++ b/pages/news/e-0.21.3-release.txt
@@ -97,8 +97,8 @@ YeongJong Lee (1):
 == Download ==
 
 ^ ** LINK ** ^ ** SHA256 ** ^
-| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.3.tar.gz
 | Enlightenment DR 0.21.2 GZIP]]| 
''56c2690b67a499d8334403e5529f7f5d338078b9897716256957fe17d06f33fb'' |
-| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.3.tar.xz
 | Enlightenment DR 0.21.2 XZ]]  | 
''b90517d3de780023043b6e3ade30f686bd2cdcf5b66d24155b50da720e665fd2'' |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.3.tar.gz
 | Enlightenment DR 0.21.3 GZIP]]| 
''56c2690b67a499d8334403e5529f7f5d338078b9897716256957fe17d06f33fb'' |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.3.tar.xz
 | Enlightenment DR 0.21.3 XZ]]  | 
''b90517d3de780023043b6e3ade30f686bd2cdcf5b66d24155b50da720e665fd2'' |
 
 //Not known to cure Jetlag.//
 

-- 




[EGIT] [core/efl] master 02/03: docs: efl_ui: fill gaps in newly introduced eo files

2016-11-30 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 33f5074206f7675574e0299432e4e48711e67c10
Author: Stefan Schmidt 
Date:   Wed Nov 30 11:01:39 2016 +0100

docs: efl_ui: fill gaps in newly introduced eo files

These two eo files have been introduced by commit
a58e2e1a790732428fa09d479fec63d433931f06

Sadly three items have been left undocumented. With this patch we are back 
to
100% doc coverage.
---
 src/lib/efl/interfaces/efl_ui_item.eo | 1 +
 src/lib/efl/interfaces/efl_ui_menu.eo | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/efl/interfaces/efl_ui_item.eo 
b/src/lib/efl/interfaces/efl_ui_item.eo
index 0ca8fbc..49ef31b 100644
--- a/src/lib/efl/interfaces/efl_ui_item.eo
+++ b/src/lib/efl/interfaces/efl_ui_item.eo
@@ -1,4 +1,5 @@
 interface Efl.Ui.Item {
+   [[Efl UI item interface]]
legacy_prefix: null;
methods {
   @property prev {
diff --git a/src/lib/efl/interfaces/efl_ui_menu.eo 
b/src/lib/efl/interfaces/efl_ui_menu.eo
index 1ebe083..867303e 100644
--- a/src/lib/efl/interfaces/efl_ui_menu.eo
+++ b/src/lib/efl/interfaces/efl_ui_menu.eo
@@ -1,4 +1,5 @@
 interface Efl.Ui.Menu {
+   [[Efl UI menu interface]]
legacy_prefix: null;
methods {
   @property selected_item {
@@ -28,7 +29,7 @@ interface Efl.Ui.Menu {
   @property items {
  get {
 [[Returns a list of the widget item.]]
-return: free(own(iterator), eina_iterator_free) 
@warn_unused;
+return: free(own(iterator), eina_iterator_free) 
@warn_unused; [[Iterator to widget items]]
  }
   }
}

-- 




[EGIT] [core/efl] master 01/03: build: eeze: remove non existing header file from SOURCES

2016-11-30 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 64bc872e6eb0deceae6b48abb4467354a3f2eff4
Author: Stefan Schmidt 
Date:   Wed Nov 30 10:57:12 2016 +0100

build: eeze: remove non existing header file from SOURCES

This header file does simply not exist in tree. Removing it from the SOURCES
allows to pass distcheck.
---
 src/Makefile_Eeze.am | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/Makefile_Eeze.am b/src/Makefile_Eeze.am
index 0fbdf16..5a025ad 100644
--- a/src/Makefile_Eeze.am
+++ b/src/Makefile_Eeze.am
@@ -152,8 +152,7 @@ bin_eeze_eeze_scanner_LDADD = @USE_EEZE_LIBS@
 bin_eeze_eeze_scanner_DEPENDENCIES = @USE_EEZE_INTERNAL_LIBS@
 
 bin_eeze_eeze_scanner_monitor_SOURCES = \
-bin/eeze/eeze_scanner_monitor.c \
-bin/eeze/eeze_scanner_monitor.h
+bin/eeze/eeze_scanner_monitor.c
 bin_eeze_eeze_scanner_monitor_CPPFLAGS = -I$(top_builddir)/src/lib/efl 
@EEZE_CFLAGS@
 bin_eeze_eeze_scanner_monitor_LDADD = @USE_EEZE_LIBS@
 bin_eeze_eeze_scanner_monitor_DEPENDENCIES = @USE_EEZE_INTERNAL_LIBS@

-- 




[EGIT] [core/efl] master 03/03: build: ector: make sure the triangular header files end up in dist

2016-11-30 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 502f10880a82f8f48da6d307278aa04a1bc03078
Author: Stefan Schmidt 
Date:   Wed Nov 30 11:10:11 2016 +0100

build: ector: make sure the triangular header files end up in dist

In commit 98b0408a4eed5c2beafd4f396b64ca54fb00270f the new triangulator
static_lib was introduced with ector as user. The ector Makefiles missed to
also include the header files as deps so they never ended up in the dist
failing distcheck.
---
 src/Makefile_Ector.am | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/Makefile_Ector.am b/src/Makefile_Ector.am
index 0f8a0a5..3eadc46 100644
--- a/src/Makefile_Ector.am
+++ b/src/Makefile_Ector.am
@@ -111,7 +111,9 @@ static_libs/rg_etc/etc2_encoder.c
 # Triangulator static lib
 triangulator_sources = \
 static_libs/triangulator/triangulator_stroker.c \
+static_libs/triangulator/triangulator_stroker.h \
 static_libs/triangulator/triangulator_simple.c \
+static_libs/triangulator/triangulator_simple.h \
 $(NULL)
 
 # And the default software backend

-- 




[EGIT] [website/www-content] master 01/01: Wiki page e-0.21.3-release changed with summary [] by Simon

2016-11-30 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit d471beef1fabd173a7e98827a63eeb2897d4f51e
Author: Simon 
Date:   Wed Nov 30 02:30:29 2016 -0800

Wiki page e-0.21.3-release changed with summary [] by Simon
---
 pages/news/e-0.21.3-release.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/news/e-0.21.3-release.txt b/pages/news/e-0.21.3-release.txt
index 948e2cf..fbdb708 100644
--- a/pages/news/e-0.21.3-release.txt
+++ b/pages/news/e-0.21.3-release.txt
@@ -1,4 +1,4 @@
-Enlightenment DR 0.21.3 Release
+=== Enlightenment DR 0.21.3 Release ===
   * //2016-10-12 - by Simon Lees//
 
 This is another bugfix and stability release for the Enlightenment 21 Release 
series. It addresses a number of issues as listed below. 

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/02: Menu, Item Interface: Common interface for menu, toolbar and ctxpopup

2016-11-30 Thread Stefan Schmidt
Hello.

On 30/11/16 10:22, Amitesh Singh wrote:
> jpeg pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=a58e2e1a790732428fa09d479fec63d433931f06
>
> commit a58e2e1a790732428fa09d479fec63d433931f06
> Author: Amitesh Singh 
> Date:   Wed Nov 30 16:18:46 2016 +0900
>
> Menu,Item Interface: Common interface for menu, toolbar and ctxpopup
>
> Summary:
> efl_ui_menu interface provides common functions of menu, toolbar and 
> ctxpopup.
> efl_ui_item interface provides common functions of menu_item, 
> toolbar_item and ctxpopup_item.
> Also implemented some missing functions like selected_item set/get in 
> ctxpopup.
> efl_ui_item interface should be used for other widget items as well.
>
> Test Plan: elementary_test
>
> Reviewers: jpeg, felipealmeida, raster, SanghyeonLee, cedric, yashu21985
>
> Subscribers: bu5hm4n
>
> Differential Revision: https://phab.enlightenment.org/D3897
> ---
>  src/Makefile_Efl.am  |   2 +
>  src/bin/elementary/test_ctxpopup.c   |   9 ++-
>  src/lib/efl/Efl.h|   2 +
>  src/lib/efl/interfaces/efl_interfaces_main.c |   2 +
>  src/lib/efl/interfaces/efl_ui_item.eo|  49 
>  src/lib/efl/interfaces/efl_ui_menu.eo|  29 +++
>  src/lib/elementary/elc_ctxpopup.c| 109 
> +--
>  src/lib/elementary/elc_ctxpopup_legacy.h |  77 +++
>  src/lib/elementary/elm_ctxpopup.eo   |  58 ++
>  src/lib/elementary/elm_ctxpopup_item.eo  |  33 +---
>  src/lib/elementary/elm_dbus_menu.c   |   4 +-
>  src/lib/elementary/elm_menu.c|  78 ---
>  src/lib/elementary/elm_menu.eo   |  31 ++--
>  src/lib/elementary/elm_menu_item.eo  |  25 ++
>  src/lib/elementary/elm_menu_legacy.h |  57 ++
>  src/lib/elementary/elm_toolbar.c |  64 ++--
>  src/lib/elementary/elm_toolbar.eo|  35 ++---
>  src/lib/elementary/elm_toolbar_item.eo   |  50 +---
>  src/lib/elementary/elm_toolbar_legacy.h  |  86 +
>  src/lib/elementary/elm_widget_ctxpopup.h |   2 +
>  20 files changed, 570 insertions(+), 232 deletions(-)

This commit brought two new warnings into the build. Both look serious 
to be taken into account. :)

lib/elementary/elm_dbus_menu.c: In function ‘_root_layout_build’:
lib/elementary/elm_dbus_menu.c:364:13: warning: assignment from 
incompatible pointer type [-Wincompatible-pointer-types]
  ret = efl_ui_menu_items_get(dbus_menu->menu);



lib/elementary/elm_toolbar.c: In function 
‘_elm_toolbar_efl_ui_menu_items_get’:
lib/elementary/elm_toolbar.c:3257:34: warning: passing argument 1 of 
‘eina_list_iterator_new’ from incompatible pointer type 
[-Wincompatible-pointer-types]
 return eina_list_iterator_new(sd->items);
   ^
In file included from ../src/lib/eina/Eina.h:223:0,
  from ../src/lib/elementary/Elementary.h:57,
  from lib/elementary/elm_toolbar.c:10:
../src/lib/eina/eina_list.h:1302:56: note: expected ‘const Eina_List * 
{aka const struct _Eina_List *}’ but argument is of type ‘Eina_Inlist * 
{aka struct _Eina_Inlist *}’
  EAPI Eina_Iterator*eina_list_iterator_new(const Eina_List 
*list) EINA_MALLOC EINA_WARN_UNUSED_RESULT;

regards
Stefan Schmidt

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 10/12: evas render - evas_object_clip_recalc - dont call uselessly

2016-11-30 Thread Stefan Schmidt
Hello.

On 28/11/16 13:42, Stefan Schmidt wrote:
> Hello.
>
> On 27/11/16 11:32, Carsten Haitzler wrote:
>> raster pushed a commit to branch master.
>>
>> http://git.enlightenment.org/core/efl.git/commit/?id=bba368cf79acb5221d108cd257701523bd50ae2a
>>
>> commit bba368cf79acb5221d108cd257701523bd50ae2a
>> Author: Carsten Haitzler (Rasterman) 
>> Date:   Sun Nov 27 12:05:26 2016 +0900
>>
>> evas render - evas_object_clip_recalc - dont call uselessly
>>
>> evas_object_clip_recalc was already called ... multiple times in
>> pending and phase1 on all objects, so there is no value in calling it
>> again and again in later evbas render phases when it's already been
>> done.
>>
>> this and moving this to a real func sees evas_object_clip_recalc usage
>> in perf drop from 1.8% to 1.4% or so of total perf sample time. tiny
>> win, but we're at the point where i can't find big meaty wins, so i'm
>> looking for a string of small wins to add up.
>>
>> @optimize
>
> This change breaks the evas test suite. Bisecting brought me here and
> reverting this commit does indeed let the test suite run through again.
>
> Failing test case:
> tests/evas/evas_test_mask.c:223:F:Masking:evas_mask_test_compare_clip:0:
> Failure '_bgra_compare(data, refdata[1], W, H)' occurred
>
> I see this here locally as well as on Jenkins.

Thanks for the revert. I can confirm that the test suite works again 
locally and on Jenkins after it.

regards
Stefan Schmidt

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 02/02: menu: Fix crash in main menu and eo files

2016-11-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit ad250d0ffb6718b87ce1ae539bcd6ab7eb813880
Author: Jean-Philippe Andre 
Date:   Wed Nov 30 17:12:43 2016 +0900

menu: Fix crash in main menu and eo files

This amends the previous commit to avoid a crash in the main
menu, and adjust the eo files formatting.
---
 src/lib/efl/interfaces/efl_ui_item.eo | 28 
 src/lib/efl/interfaces/efl_ui_menu.eo | 12 +---
 src/lib/elementary/elm_dbus_menu.c| 10 +-
 3 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_ui_item.eo 
b/src/lib/efl/interfaces/efl_ui_item.eo
index 8b5710d..0ca8fbc 100644
--- a/src/lib/efl/interfaces/efl_ui_item.eo
+++ b/src/lib/efl/interfaces/efl_ui_item.eo
@@ -3,46 +3,50 @@ interface Efl.Ui.Item {
methods {
   @property prev {
  get {
-[[Get the item before $ it in the widget's internal list of
-  items.
+[[Get the item before this one in the widget's list of items.
 
-  See also \@ref efl_ui_item_next_get.
+  See also @.next.
 ]]
  }
  values {
-  item: Efl.Ui.Item; [[The item before the object in its parent's 
list. If there is no previous item for $ it or there's an error, $null is 
returned.]]
+item: Efl.Ui.Item; [[The item before the object in its parent's
+list. If there is no previous item or in case
+of error, $null is returned.]]
  }
   }
   @property next {
  get {
-[[Get the item after $ it in the widget's
-  internal list of items.
+[[Get the item after this one in the widget's list of items.
 
-  See also \@ref efl_ui_item_prev_get.
+  See also @.prev.
 ]]
  }
  values {
-  item: Efl.Ui.Item; [[The item after the object in its parent's 
list. If there is no previous item for $ it or there's an error, $null is 
returned.]]
+item: Efl.Ui.Item; [[The item after the object in its parent's
+list. If there is no next item or in case
+of error, $null is returned.]]
  }
   }
   @property selected {
+ [[Indicates whether this item is currently selected.]]
  get {
- [[Get the selected state of $item.]]
+[[Get the selected state of this item.]]
  }
  set {
  [[Set the selected state of $item.
+
This sets the selected state of the given item $it.
$true for selected, $false for not selected.
 
If a new item is selected the previously selected will
-   be unselected. Previously selected item can be get with
-   function @Efl.Ui.Menu.selected_item.get.
+   be unselected. Previously selected item can be retrieved
+   with @Efl.Ui.Menu.selected_item.get.
 
Selected items will be highlighted.
  ]]
  }
  values {
-  selected: bool; [[The selection state.]]
+selected: bool; [[The selection state.]]
  }
   }
}
diff --git a/src/lib/efl/interfaces/efl_ui_menu.eo 
b/src/lib/efl/interfaces/efl_ui_menu.eo
index 3d61de1..1ebe083 100644
--- a/src/lib/efl/interfaces/efl_ui_menu.eo
+++ b/src/lib/efl/interfaces/efl_ui_menu.eo
@@ -4,19 +4,25 @@ interface Efl.Ui.Menu {
   @property selected_item {
  get {
 [[Get the selected item in the widget.]]
-return: Efl.Ui.Item; [[The selected item or $null.]]
+ }
+ values {
+item: Efl.Ui.Item; [[The selected item or $null.]]
  }
   }
   @property first_item {
  get {
 [[Get the first item in the widget.]]
-return: Efl.Ui.Item;
+ }
+ values {
+item: Efl.Ui.Item; [[The first item or $null.]]
  }
   }
   @property last_item {
  get {
 [[Get the last item in the widget.]]
-return: Efl.Ui.Item;
+ }
+ values {
+item: Efl.Ui.Item; [[The last item or $null.]]
  }
   }
   @property items {
diff --git a/src/lib/elementary/elm_dbus_menu.c 
b/src/lib/elementary/elm_dbus_menu.c
index 44f04ef..d649a24 100644
--- a/src/lib/elementary/elm_dbus_menu.c
+++ b/src/lib/elementary/elm_dbus_menu.c
@@ -423,9 +423,8 @@ static Elm_DBus_Menu *
 _elm_dbus_menu_add(Eo *menu)
 {
Elm_DBus_Menu *dbus_menu;
-   const Eina_List *ret = NULL;
-   Eina_List *items, *l;
Elm_Object_Item *obj_item;
+   Eina_Iterator *it = NULL;
 
ELM_MENU_CHECK(menu) NULL;
 
@@ -445,9 +444,8 @@ _elm_dbus_menu_add(Eo *menu)
 

[EGIT] [core/efl] master 01/02: Menu, Item Interface: Common interface for menu, toolbar and ctxpopup

2016-11-30 Thread Amitesh Singh
jpeg pushed a commit to branch master.

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

commit a58e2e1a790732428fa09d479fec63d433931f06
Author: Amitesh Singh 
Date:   Wed Nov 30 16:18:46 2016 +0900

Menu,Item Interface: Common interface for menu, toolbar and ctxpopup

Summary:
efl_ui_menu interface provides common functions of menu, toolbar and 
ctxpopup.
efl_ui_item interface provides common functions of menu_item, toolbar_item 
and ctxpopup_item.
Also implemented some missing functions like selected_item set/get in 
ctxpopup.
efl_ui_item interface should be used for other widget items as well.

Test Plan: elementary_test

Reviewers: jpeg, felipealmeida, raster, SanghyeonLee, cedric, yashu21985

Subscribers: bu5hm4n

Differential Revision: https://phab.enlightenment.org/D3897
---
 src/Makefile_Efl.am  |   2 +
 src/bin/elementary/test_ctxpopup.c   |   9 ++-
 src/lib/efl/Efl.h|   2 +
 src/lib/efl/interfaces/efl_interfaces_main.c |   2 +
 src/lib/efl/interfaces/efl_ui_item.eo|  49 
 src/lib/efl/interfaces/efl_ui_menu.eo|  29 +++
 src/lib/elementary/elc_ctxpopup.c| 109 +--
 src/lib/elementary/elc_ctxpopup_legacy.h |  77 +++
 src/lib/elementary/elm_ctxpopup.eo   |  58 ++
 src/lib/elementary/elm_ctxpopup_item.eo  |  33 +---
 src/lib/elementary/elm_dbus_menu.c   |   4 +-
 src/lib/elementary/elm_menu.c|  78 ---
 src/lib/elementary/elm_menu.eo   |  31 ++--
 src/lib/elementary/elm_menu_item.eo  |  25 ++
 src/lib/elementary/elm_menu_legacy.h |  57 ++
 src/lib/elementary/elm_toolbar.c |  64 ++--
 src/lib/elementary/elm_toolbar.eo|  35 ++---
 src/lib/elementary/elm_toolbar_item.eo   |  50 +---
 src/lib/elementary/elm_toolbar_legacy.h  |  86 +
 src/lib/elementary/elm_widget_ctxpopup.h |   2 +
 20 files changed, 570 insertions(+), 232 deletions(-)

diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 1548bf3..79f4661 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -53,6 +53,8 @@ efl_eolian_files = \
   lib/efl/interfaces/efl_io_queue.eo \
   lib/efl/interfaces/efl_observer.eo \
   lib/efl/interfaces/efl_observable.eo \
+  lib/efl/interfaces/efl_ui_item.eo \
+  lib/efl/interfaces/efl_ui_menu.eo \
   $(efl_eolian_legacy_files) \
   $(NULL)
 
diff --git a/src/bin/elementary/test_ctxpopup.c 
b/src/bin/elementary/test_ctxpopup.c
index 187dba8..0c11412 100644
--- a/src/bin/elementary/test_ctxpopup.c
+++ b/src/bin/elementary/test_ctxpopup.c
@@ -46,10 +46,12 @@ _btn_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
 }
 
 static void
-_ctxpopup_item_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info)
+_ctxpopup_item_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info)
 {
+   printf("Item selected status: %d\n", efl_ui_item_selected_get(event_info));
+
printf("ctxpopup item selected: %s\n",
-   elm_object_item_text_get(event_info));
+ elm_object_item_text_get(efl_ui_menu_selected_item_get(obj)));
elm_ctxpopup_dismiss(obj);
 }
 
@@ -94,7 +96,8 @@ _list_item_cb(void *data EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UN
 
_ctxpopup_item_new(ctxpopup, "Go to home folder", "home");
_ctxpopup_item_new(ctxpopup, "Save file", "file");
-   _ctxpopup_item_new(ctxpopup, "Delete file", "delete");
+   it = _ctxpopup_item_new(ctxpopup, "Delete file", "delete");
+   efl_ui_item_selected_set(it, EINA_TRUE);
it = _ctxpopup_item_new(ctxpopup, "Navigate to folder", "folder");
elm_object_item_disabled_set(it, EINA_TRUE);
_ctxpopup_item_new(ctxpopup, "Edit entry", "edit");
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 13e91f9..0aac837 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -86,6 +86,8 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
 #include "interfaces/efl_flipable.eo.h"
 #include "interfaces/efl_ui_spin.eo.h"
 #include "interfaces/efl_ui_progress.eo.h"
+#include "interfaces/efl_ui_item.eo.h"
+#include "interfaces/efl_ui_menu.eo.h"
 
 #include "interfaces/efl_screen.eo.h"
 
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c 
b/src/lib/efl/interfaces/efl_interfaces_main.c
index c16c8db..4251ea3 100644
--- a/src/lib/efl/interfaces/efl_interfaces_main.c
+++ b/src/lib/efl/interfaces/efl_interfaces_main.c
@@ -53,6 +53,8 @@ EAPI const Efl_Event_Description _EFL_GFX_PATH_CHANGED =
 #include "interfaces/efl_flipable.eo.c"
 #include "interfaces/efl_ui_spin.eo.c"
 #include "interfaces/efl_ui_progress.eo.c"
+#include "interfaces/efl_ui_menu.eo.c"
+#include "interfaces/efl_ui_item.eo.c"
 
 EAPI void
 

[EGIT] [core/efl] master 01/01: Revert "evas render - evas_object_clip_recalc - dont call uselessly"

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

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

commit 496f2ed4277dbc03740494a7185a67060f7b2198
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Nov 30 17:36:42 2016 +0900

Revert "evas render - evas_object_clip_recalc - dont call uselessly"

This reverts commit bba368cf79acb5221d108cd257701523bd50ae2a.

if this is causing test suite fails ( i saw no actual visual problems
tho in apps or e etc.)... then revert. sadness. :(
---
 src/lib/evas/canvas/evas_render.c | 32 ++--
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 8212b11..23e63a3 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -398,11 +398,10 @@ _evas_render_phase1_direct(Evas_Public_Data *e,
RD(0, "  [--- PHASE 1 DIRECT\n");
for (i = 0; i < active_objects->len; i++)
  {
-Evas_Active_Entry *ent;
-Evas_Object_Protected_Data *obj;
+Evas_Active_Entry *ent = eina_inarray_nth(active_objects, i);
+Evas_Object_Protected_Data *obj = ent->obj;
 
-ent = eina_inarray_nth(active_objects, i);
-obj = ent->obj;
+EINA_PREFETCH(&(obj->cur->clipper));
 if (obj->changed) evas_object_clip_recalc(obj);
 
 if (obj->proxy->proxies || obj->proxy->proxy_textures)
@@ -1026,6 +1025,8 @@ _evas_render_phase1_object_process(Phase1_Context *p1ctx,
Eina_Bool map, hmap, can_map, map_not_can_map, obj_changed, is_active;
Evas_Object *eo_obj = obj->object;
 
+   EINA_PREFETCH(&(obj->cur->clipper));
+
obj->rect_del = EINA_FALSE;
obj->render_pre = EINA_FALSE;
 
@@ -1207,15 +1208,16 @@ _evas_render_check_pending_objects(Eina_Array 
*pending_objects, Evas *eo_e EINA_
for (i = 0; i < pending_objects->count; ++i)
  {
 Evas_Object *eo_obj;
-Evas_Object_Protected_Data *obj;
 int is_active;
 Eina_Bool ok = EINA_FALSE;
 
-obj = eina_array_data_get(pending_objects, i);
+Evas_Object_Protected_Data *obj = eina_array_data_get(pending_objects, 
i);
 eo_obj = obj->object;
 
 if (!obj->layer) goto clean_stuff;
 
+EINA_PREFETCH(&(obj->cur->clipper));
+EINA_PREFETCH(&(obj->cur->cache.clip));
 //If the children are in active objects, They should be cleaned up.
 if (EINA_UNLIKELY((obj->changed_map) &&
   (_evas_render_has_map(obj)) &&
@@ -1682,6 +1684,8 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
else
  proxy_src_clip = proxy_render_data->source_clip;
 
+   evas_object_clip_recalc(obj);
+
/* leave early if clipper is not visible */
if ((obj->cur->clipper) && (!obj->cur->clipper->cur->visible))
  return clean_them;
@@ -1973,6 +1977,8 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
 
  if (obj->cur->clipper)
{
+  evas_object_clip_recalc(obj);
+
   if (obj->is_smart)
 {
EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
@@ -2050,6 +2056,8 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
// 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);
+
RD(level, "  has mask: [%p%s%s] redraw:%d sfc:%p\n",
   mask, mask->name?":":"", mask->name?mask->name:"",
   mask->mask->redraw, mask->mask->surface);
@@ -2115,6 +2123,9 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
  {
 if (proxy_src_clip)
   {
+ if ((_evas_render_has_map(obj) && 
!_evas_render_can_map(obj)) ||
+ 
_evas_render_object_is_mask(obj->cur->clipper))
+   evas_object_clip_recalc(obj);
  _evas_render_mapped_context_clip_set(evas, 
eo_obj, obj, ctx,
   
proxy_render_data,
   off_x, 
off_y);
@@ -2179,6 +2190,9 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
 
   if (proxy_src_clip)
 {
+   if ((_evas_render_has_map(obj) && 
!_evas_render_can_map(obj)) ||
+   _evas_render_object_is_mask(obj->cur->clipper))
+ evas_object_clip_recalc(obj);
x = obj->cur->cache.clip.x;
y =