[EGIT] [core/efl] master 01/01: po: elm_container.c is removewd from the tree thus also remove it from POTFILES

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 49dde632bc0c4b98609d85f1f46587b292778b16
Author: Stefan Schmidt 
Date:   Tue Apr 26 08:53:27 2016 +0200

po: elm_container.c is removewd from the tree thus also remove it from 
POTFILES

File was removed in 902950018be3682c0549174fc0c6d1c04141cd39.
---
 po/POTFILES.in | 1 -
 1 file changed, 1 deletion(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index c5c80bd..66f2366 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -113,7 +113,6 @@ src/lib/elementary/elm_cnp.c
 src/lib/elementary/elm_colorselector.c
 src/lib/elementary/elm_config.c
 src/lib/elementary/elm_conform.c
-src/lib/elementary/elm_container.c
 src/lib/elementary/elm_datetime.c
 src/lib/elementary/elm_dayselector.c
 src/lib/elementary/elm_dbus_menu.c

-- 




[EGIT] [core/efl] master 01/01: Efl: Rename some packing functions and return bool

2016-04-26 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit ff8ee0143223681cb55ce5386b8fb8f126bf2b90
Author: Jean-Philippe Andre 
Date:   Tue Apr 26 15:21:21 2016 +0900

Efl: Rename some packing functions and return bool

This renames some APIs from Efl.Pack in order to try and
make them more sensible. Feedback welcome.

Also, most APIs now return bool, where false is quite unlikely
to happen.
---
 src/bin/elementary/test_ui_grid.c  |   6 +-
 src/lib/edje/edje_containers.c |  79 ---
 src/lib/edje/efl_canvas_layout_internal_box.eo |  10 +-
 src/lib/edje/efl_canvas_layout_internal_table.eo   |   6 +-
 src/lib/efl/interfaces/efl_pack.eo |   5 +-
 src/lib/efl/interfaces/efl_pack_grid.eo|  14 +--
 src/lib/efl/interfaces/efl_pack_linear.eo  |  74 +++---
 src/lib/elementary/efl_ui_box.c| 106 +
 src/lib/elementary/efl_ui_box.eo   |  13 ++-
 src/lib/elementary/efl_ui_grid.c   |  61 +---
 src/lib/elementary/efl_ui_grid.eo  |  15 ++-
 src/lib/elementary/efl_ui_layout_internal_box.eo   |  10 +-
 src/lib/elementary/efl_ui_layout_internal_table.eo |   6 +-
 src/lib/elementary/elm_layout.c|   2 +-
 src/lib/elementary/elm_layout_pack.c   |  60 ++--
 src/lib/elementary/elm_win.c   |   4 +-
 src/tests/edje/edje_test_edje.c|  14 +--
 17 files changed, 229 insertions(+), 256 deletions(-)

diff --git a/src/bin/elementary/test_ui_grid.c 
b/src/bin/elementary/test_ui_grid.c
index 956c676..59a1da9 100644
--- a/src/bin/elementary/test_ui_grid.c
+++ b/src/bin/elementary/test_ui_grid.c
@@ -136,7 +136,7 @@ child_evt_cb(void *data, const Eo_Event *event)
int col, row, colspan, rowspan;
char buf[64];
 
-   efl_pack_grid_content_position_get(event->obj, it, &col, &row, &colspan, 
&rowspan);
+   efl_pack_grid_position_get(event->obj, it, &col, &row, &colspan, &rowspan);
if (event->desc == EFL_CONTAINER_EVENT_CONTENT_ADDED)
  sprintf(buf, "pack %d,%d %dx%d", col, row, colspan, rowspan);
else
@@ -169,7 +169,7 @@ _custom_engine_layout_do(Eo *obj EINA_UNUSED, void *pd 
EINA_UNUSED,
it = efl_content_iterate(pack);
EINA_ITERATOR_FOREACH(it, item)
  {
-if (efl_pack_grid_content_position_get(pack, item, &c, &r, &cs, &rs))
+if (efl_pack_grid_position_get(pack, item, &c, &r, &cs, &rs))
   {
  int x, y, mw, mh;
 
@@ -615,7 +615,7 @@ test_ui_grid_linear(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
efl_gfx_visible_set(f, 1);
 
efl_pack_grid_columns_set(grid, 4);
-   efl_pack_directions_set(grid, EFL_ORIENT_RIGHT, EFL_ORIENT_DOWN);
+   efl_pack_grid_directions_set(grid, EFL_ORIENT_RIGHT, EFL_ORIENT_DOWN);
evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_content_set(f, grid);
evas_object_show(grid);
diff --git a/src/lib/edje/edje_containers.c b/src/lib/edje/edje_containers.c
index 89bf2f7..75d61c4 100644
--- a/src/lib/edje/edje_containers.c
+++ b/src/lib/edje/edje_containers.c
@@ -70,16 +70,16 @@ _efl_canvas_layout_internal_box_eo_base_finalize(Eo *obj, 
Edje_Box_Data *pd)
 
 /* Legacy features */
 
-EOLIAN static void
+EOLIAN static Eina_Bool
 _efl_canvas_layout_internal_box_efl_pack_pack_clear(Eo *obj EINA_UNUSED, 
Edje_Box_Data *pd)
 {
-   _edje_part_box_remove_all(pd->ed, pd->part, EINA_TRUE);
+   return _edje_part_box_remove_all(pd->ed, pd->part, EINA_TRUE);
 }
 
-EOLIAN static void
+EOLIAN static Eina_Bool
 _efl_canvas_layout_internal_box_efl_pack_unpack_all(Eo *obj EINA_UNUSED, 
Edje_Box_Data *pd)
 {
-   _edje_part_box_remove_all(pd->ed, pd->part, EINA_FALSE);
+   return _edje_part_box_remove_all(pd->ed, pd->part, EINA_FALSE);
 }
 
 EOLIAN static Eina_Bool
@@ -90,22 +90,22 @@ _efl_canvas_layout_internal_box_efl_pack_unpack(Eo *obj 
EINA_UNUSED, Edje_Box_Da
return (removed == subobj);
 }
 
-EOLIAN static void
+EOLIAN static Eina_Bool
 _efl_canvas_layout_internal_box_efl_pack_pack(Eo *obj EINA_UNUSED, 
Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
 {
-   _edje_part_box_append(pd->ed, pd->part, subobj);
+   return _edje_part_box_append(pd->ed, pd->part, subobj);
 }
 
-EOLIAN static void
+EOLIAN static Eina_Bool
 _efl_canvas_layout_internal_box_efl_pack_linear_pack_begin(Eo *obj 
EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
 {
-   _edje_part_box_prepend(pd->ed, pd->part, subobj);
+   return _edje_part_box_prepend(pd->ed, pd->part, subobj);
 }
 
-EOLIAN static void
+EOLIAN static Eina_Bool
 _efl_canvas_layout_internal_box_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED, 
Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
 {
-   _edje_part_box_append(pd->ed, pd->part, subobj);
+   return _edje_part_box_append(pd->ed, pd->part, subobj);
 }
 
 EOLIAN

[EGIT] [core/efl] master 01/01: elm_icon: move lookup_order and standard feature from eo to legacy

2016-04-26 Thread Ji-Youn Park
jypark pushed a commit to branch master.

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

commit 3279d4fae8cd6c0d7981672fc77d58c000cf0c90
Author: Ji-Youn Park 
Date:   Tue Apr 26 17:24:51 2016 +0830

elm_icon: move lookup_order and standard feature from eo to legacy
---
 src/lib/elementary/elm_icon.c   | 95 +
 src/lib/elementary/elm_icon.eo  | 73 -
 src/lib/elementary/elm_icon_legacy.h| 79 ++-
 src/lib/elementary/elm_toolbar.c| 26 -
 src/lib/elementary/elm_toolbar.eo   | 16 --
 src/lib/elementary/elm_toolbar_item.eo  |  4 +-
 src/lib/elementary/elm_toolbar_legacy.h | 25 +
 7 files changed, 168 insertions(+), 150 deletions(-)

diff --git a/src/lib/elementary/elm_icon.c b/src/lib/elementary/elm_icon.c
index 0e3fc43..b68d5b9 100644
--- a/src/lib/elementary/elm_icon.c
+++ b/src/lib/elementary/elm_icon.c
@@ -644,6 +644,13 @@ _elm_icon_eo_base_constructor(Eo *obj, Elm_Icon_Data *sd)
return obj;
 }
 
+static void
+_elm_icon_class_constructor(Eo_Class *klass)
+{
+   evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
+}
+
+/* Legacy deprecated functions */
 EAPI Eina_Bool
 elm_icon_memfile_set(Evas_Object *obj,
  const void *img,
@@ -731,45 +738,6 @@ elm_icon_animated_play_get(const Evas_Object *obj)
return elm_image_animated_play_get(obj);
 }
 
-EOLIAN static Eina_Bool
-_elm_icon_standard_set(Eo *obj, Elm_Icon_Data *_pd EINA_UNUSED, const char 
*name)
-{
-   Eina_Bool fdo = EINA_FALSE;
-
-   if (!name) return EINA_FALSE;
-
-   evas_object_event_callback_del_full
- (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, obj);
-
-   Eina_Bool int_ret = _internal_elm_icon_standard_set(obj, name, &fdo);
-
-   if (fdo)
- evas_object_event_callback_add
-   (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, obj);
-
-   return int_ret;
-}
-
-EOLIAN static const char*
-_elm_icon_standard_get(Eo *obj EINA_UNUSED, Elm_Icon_Data *sd)
-{
-
-   return sd->stdicon;
-}
-
-EINA_DEPRECATED EOLIAN static void
-_elm_icon_order_lookup_set(Eo *obj EINA_UNUSED, Elm_Icon_Data *sd EINA_UNUSED,
-   Elm_Icon_Lookup_Order order EINA_UNUSED)
-{
-   // this method's behaviour has been overridden by elm_config_icon_theme_set
-}
-
-EINA_DEPRECATED EOLIAN static Elm_Icon_Lookup_Order
-_elm_icon_order_lookup_get(Eo *obj EINA_UNUSED, Elm_Icon_Data *sd EINA_UNUSED)
-{
-   return ELM_ICON_LOOKUP_FDO_THEME;
-}
-
 EAPI void
 elm_icon_smooth_set(Evas_Object *obj,
 Eina_Bool smooth)
@@ -902,12 +870,6 @@ elm_icon_aspect_fixed_get(const Evas_Object *obj)
return elm_image_aspect_fixed_get(obj);
 }
 
-static void
-_elm_icon_class_constructor(Eo_Class *klass)
-{
-   evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
-}
-
 EAPI void
 elm_icon_thumb_set(Evas_Object *obj, const char *file, const char *group)
 {
@@ -938,4 +900,47 @@ elm_icon_thumb_set(Evas_Object *obj, const char *file, 
const char *group)
  }
 }
 
+EAPI Eina_Bool
+elm_icon_standard_set(Evas_Object *obj, const char *name)
+{
+   Eina_Bool fdo = EINA_FALSE;
+
+   ELM_ICON_CHECK(obj) EINA_FALSE;
+
+   if (!name) return EINA_FALSE;
+
+   evas_object_event_callback_del_full
+ (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, obj);
+
+   Eina_Bool int_ret = _internal_elm_icon_standard_set(obj, name, &fdo);
+
+   if (fdo)
+ evas_object_event_callback_add
+   (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, obj);
+
+   return int_ret;
+}
+
+EAPI const char*
+elm_icon_standard_get(const Evas_Object *obj)
+{
+   ELM_ICON_CHECK(obj) NULL;
+   ELM_ICON_DATA_GET(obj, sd);
+
+   return sd->stdicon;
+}
+
+EAPI void
+elm_icon_order_lookup_set(Evas_Object *obj EINA_UNUSED,
+   Elm_Icon_Lookup_Order order EINA_UNUSED)
+{
+   // this method's behaviour has been overridden by elm_config_icon_theme_set
+}
+
+EAPI Elm_Icon_Lookup_Order
+elm_icon_order_lookup_get(const Evas_Object *obj EINA_UNUSED)
+{
+   return ELM_ICON_LOOKUP_FDO_THEME;
+}
+
 #include "elm_icon.eo.c"
diff --git a/src/lib/elementary/elm_icon.eo b/src/lib/elementary/elm_icon.eo
index e783d76..bd007b7 100644
--- a/src/lib/elementary/elm_icon.eo
+++ b/src/lib/elementary/elm_icon.eo
@@ -6,83 +6,10 @@ enum Elm.Icon.Type
standard
 }
 
-enum Elm.Icon.Lookup_Order
-{
-   [[Lookup order used by elm_icon_standard_set(). Should look for icons in
- the theme, FDO paths, or both?
-
- Warning: This enum will be removed as the lookup_order is deprecated.
-   ]]
-   legacy: elm_icon_lookup;
-   fdo_theme, [[Icon look up order: freedesktop, theme.]]
-   theme_fdo, [[Icon look up order: theme, freedesktop.]]
-   fdo, [[Icon look up order: freedesktop.]]
-   theme [[Icon look up order: theme.]]
-}
-
-
 class Elm.Icon (Elm.Image)
 {
eo_prefix: elm_obj_icon;
methods {
-  @property order_lookup {

[EGIT] [tools/enventor] master 01/01: fix unexpected close on edc navigator.

2016-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit d271175953c132f5cbe92b62d92d8a14a33cd90d
Author: Hermet Park 
Date:   Tue Apr 26 20:39:44 2016 +0900

fix unexpected close on edc navigator.

if edj view failed to load a edj, edje_edit apis will occur crashes.
we could avoid this crash in enventor side.

@fix T3510
---
 src/bin/main.c   |  1 -
 src/lib/edj_viewer.c | 14 --
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index a0004c5..1e57ca1 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -506,7 +506,6 @@ enventor_live_view_updated_cb(void *data, Evas_Object *obj,
 ad->lazy_save = EINA_FALSE;
 ad->on_saving = EINA_FALSE;
  }
-printf("%s\n", __func__);
base_edc_navigator_group_update();
 }
 
diff --git a/src/lib/edj_viewer.c b/src/lib/edj_viewer.c
index f474927..0e24117 100644
--- a/src/lib/edj_viewer.c
+++ b/src/lib/edj_viewer.c
@@ -377,6 +377,7 @@ update_edj_file_internal(view_data *vd)
 
view_obj_parts_callbacks_set(vd);
vd->edj_reload_need = EINA_FALSE;
+   vd->file_set_finished = EINA_TRUE;
 
evas_object_smart_callback_call(vd->enventor, SIG_LIVE_VIEW_UPDATED,
edj_mgr_obj_get());
@@ -420,6 +421,7 @@ exe_del_event_cb(void *data, int type EINA_UNUSED, void 
*event EINA_UNUSED)
  {
 dummy_obj_update(vd->layout);
 ecore_timer_del(vd->update_edj_timer);
+vd->file_set_finished = EINA_FALSE;
 vd->update_edj_timer = ecore_timer_add(0.25, update_edj_file, vd);
 return ECORE_CALLBACK_PASS_ON;
  }
@@ -824,42 +826,42 @@ view_size_get(view_data *vd, Evas_Coord *w, Evas_Coord *h)
 Eina_List *
 view_parts_list_get(view_data *vd)
 {
-   if (!vd->file_set_finished) return NULL;
+   if (!vd || !vd->file_set_finished) return NULL;
return edje_edit_parts_list_get(vd->layout);
 }
 
 Eina_List *
 view_images_list_get(view_data *vd)
 {
-   if (!vd->file_set_finished) return NULL;
+   if (!vd || !vd->file_set_finished) return NULL;
return edje_edit_images_list_get(vd->layout);
 }
 
 Eina_List *
 view_programs_list_get(view_data *vd)
 {
-   if (!vd->file_set_finished) return NULL;
+   if (!vd || !vd->file_set_finished) return NULL;
return edje_edit_programs_list_get(vd->layout);
 }
 
 Edje_Part_Type
 view_part_type_get(view_data *vd, const char *part)
 {
-   if (!vd->file_set_finished) return EDJE_PART_TYPE_NONE;
+   if (!vd || !vd->file_set_finished) return EDJE_PART_TYPE_NONE;
return edje_edit_part_type_get(vd->layout, part);
 }
 
 Eina_List *
 view_part_states_list_get(view_data *vd, const char *part)
 {
-   if (!vd->file_set_finished) return NULL;
+   if (!vd || !vd->file_set_finished) return NULL;
return edje_edit_part_states_list_get(vd->layout, part);
 }
 
 Eina_List *
 view_program_targets_get(view_data *vd, const char *prog)
 {
-   if (!vd->file_set_finished) return NULL;
+   if (!vd || !vd->file_set_finished) return NULL;
return edje_edit_program_targets_get(vd->layout, prog);
 }
 

-- 




[EGIT] [core/efl] master 02/07: docs: evas: description for various surface classes

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 9c3d34ca4db43e65b51407450b01d934df0821c2
Author: Stefan Schmidt 
Date:   Tue Apr 26 10:30:50 2016 +0200

docs: evas: description for various surface classes

Describing surfaces classes for Wayland, TBM and X11.
---
 src/lib/evas/canvas/efl_canvas_surface_tbm.eo | 2 ++
 src/lib/evas/canvas/efl_canvas_surface_wayland.eo | 2 ++
 src/lib/evas/canvas/efl_canvas_surface_x11.eo | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/src/lib/evas/canvas/efl_canvas_surface_tbm.eo 
b/src/lib/evas/canvas/efl_canvas_surface_tbm.eo
index 9d16dc8..546cb21 100644
--- a/src/lib/evas/canvas/efl_canvas_surface_tbm.eo
+++ b/src/lib/evas/canvas/efl_canvas_surface_tbm.eo
@@ -1,5 +1,7 @@
 class Efl.Canvas.Surface_Tbm (Efl.Canvas.Surface)
 {
+   [[Native Tizen Buffer Manager surface for Efl canvas]]
+
legacy_prefix: null;
implements {
   Eo.Base.constructor;
diff --git a/src/lib/evas/canvas/efl_canvas_surface_wayland.eo 
b/src/lib/evas/canvas/efl_canvas_surface_wayland.eo
index 9cf9114..4734ef0 100644
--- a/src/lib/evas/canvas/efl_canvas_surface_wayland.eo
+++ b/src/lib/evas/canvas/efl_canvas_surface_wayland.eo
@@ -1,5 +1,7 @@
 class Efl.Canvas.Surface_Wayland (Efl.Canvas.Surface)
 {
+   [[Native Wayland surface for Efl canvas]]
+
legacy_prefix: null;
implements {
   Eo.Base.constructor;
diff --git a/src/lib/evas/canvas/efl_canvas_surface_x11.eo 
b/src/lib/evas/canvas/efl_canvas_surface_x11.eo
index 3b1c979..ea235a0 100644
--- a/src/lib/evas/canvas/efl_canvas_surface_x11.eo
+++ b/src/lib/evas/canvas/efl_canvas_surface_x11.eo
@@ -7,6 +7,8 @@ struct Efl.Canvas.Surface.X11_Pixmap
 
 class Efl.Canvas.Surface_X11 (Efl.Canvas.Surface)
 {
+   [[Native X11 surface for Efl canvas]]
+
legacy_prefix: null;
methods {
   @property pixmap {

-- 




[EGIT] [core/efl] master 03/07: docs: efl_network: enhance documentation in base class

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 9897cf495b8972dec12f1177b7d91a448eb30b90
Author: Stefan Schmidt 
Date:   Tue Apr 26 11:08:18 2016 +0200

docs: efl_network: enhance documentation in base class

Fix some of the existing documentation and add some for events and the 
class.
---
 src/lib/ecore_con/efl_network_base.eo | 18 ++
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/lib/ecore_con/efl_network_base.eo 
b/src/lib/ecore_con/efl_network_base.eo
index 80b2817..98dbd08 100644
--- a/src/lib/ecore_con/efl_network_base.eo
+++ b/src/lib/ecore_con/efl_network_base.eo
@@ -30,6 +30,8 @@ enum Ecore.Con.Type
 }
 
 abstract Efl.Network.Base (Eo.Base) {
+   [[Abstract base class for all EFL.Network classes]]
+
legacy_prefix: ecore_con;
eo_prefix: efl_network_base;
data: null;
@@ -37,7 +39,7 @@ abstract Efl.Network.Base (Eo.Base) {
   @property ip {
  [[Control the IP address of a server that has been connected to.
 
-   The param is a pointer to an internal string that contains the IP
+   The parameter is a pointer to an internal string that contains the 
IP
address of the connected server in the form "XXX.YYY.ZZZ.AAA" IP
notation. This string should not be modified or trusted to stay
valid after deletion for the svr object. If no IP is known
@@ -54,7 +56,7 @@ abstract Efl.Network.Base (Eo.Base) {
  [[Check how long the object has been connected
 
This function is used to find out how long a client has been
-   connected for.
+   connected.
  ]]
  get {
  legacy: null;
@@ -64,7 +66,7 @@ abstract Efl.Network.Base (Eo.Base) {
  }
   }
   @property port {
- [[Return the port that the obj is connected to]]
+ [[The port that the obj is connected to]]
  set {
  legacy: null;
  }
@@ -72,7 +74,7 @@ abstract Efl.Network.Base (Eo.Base) {
  legacy: null;
  }
  values {
-port: int; [[The The port that obj is connected to, or -1 on 
error.]]
+port: int; [[The port that obj is connected to, or -1 on error.]]
  }
   }
   @property fd {
@@ -110,7 +112,7 @@ abstract Efl.Network.Base (Eo.Base) {
disconnected.
 
This function is used by the server to set the default idle timeout
-   on clients. If the any of the clients becomes idle for a time higher
+   on clients. If any of the clients becomes idle for a time higher
than this value, it will be disconnected. A value of < 1 disables
the idle timeout.
 
@@ -186,15 +188,15 @@ abstract Efl.Network.Base (Eo.Base) {
   @virtual .send;
}
events {
-data,received: Ecore_Con_Event_Data_Received;
+data,received: Ecore_Con_Event_Data_Received; [[Data received on 
connection]]
 connection,upgraded;
-connection,error: const(char) *;
+connection,error: const(char) *; [[Error received on connection]]
}
 }
 
 /* FIXME: Should actually be a binbuf. */
 struct Ecore_Con_Event_Data_Received {
-data: void *; [[The data thet got sent.]]
+data: void *; [[The data that got sent.]]
 size: int; [[The length of the data sent.]]
 }
 

-- 




[EGIT] [core/efl] master 01/07: docs: evas: description for polygon class

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit b1a9629723ee4f0195f0253a7b60c6ca195fb9a2
Author: Stefan Schmidt 
Date:   Tue Apr 26 10:07:50 2016 +0200

docs: evas: description for polygon class
---
 src/lib/evas/canvas/efl_canvas_polygon.eo | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/evas/canvas/efl_canvas_polygon.eo 
b/src/lib/evas/canvas/efl_canvas_polygon.eo
index 38f5762..423be8d 100644
--- a/src/lib/evas/canvas/efl_canvas_polygon.eo
+++ b/src/lib/evas/canvas/efl_canvas_polygon.eo
@@ -1,5 +1,7 @@
 class Efl.Canvas.Polygon (Evas.Object)
 {
+   [[Low-level polygon object]]
+
legacy_prefix: null;
methods {
   point_add {

-- 




[EGIT] [core/efl] master 06/07: docs: vpath: mark all vpath classes as introduced with upcoming 1.18

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 9eb488aaa59483bf6b9534d0e43e5947ac39f0e8
Author: Stefan Schmidt 
Date:   Tue Apr 26 13:47:50 2016 +0200

docs: vpath: mark all vpath classes as introduced with upcoming 1.18
---
 src/lib/efl/interfaces/efl_vpath.eo   | 2 ++
 src/lib/efl/interfaces/efl_vpath_core.eo  | 5 -
 src/lib/efl/interfaces/efl_vpath_file.eo  | 2 ++
 src/lib/efl/interfaces/efl_vpath_file_core.eo | 5 -
 src/lib/efl/interfaces/efl_vpath_manager.eo   | 5 -
 5 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_vpath.eo 
b/src/lib/efl/interfaces/efl_vpath.eo
index 8ad3f91..3ed34cc 100644
--- a/src/lib/efl/interfaces/efl_vpath.eo
+++ b/src/lib/efl/interfaces/efl_vpath.eo
@@ -15,6 +15,8 @@ interface Efl.Vpath
"https://blahblah.com/file.jpg";
"ssh://blahblah.com:~/file.jpg"
...
+
+ @since 1.18
]]
legacy_prefix: null;
eo_prefix: efl_vpath;
diff --git a/src/lib/efl/interfaces/efl_vpath_core.eo 
b/src/lib/efl/interfaces/efl_vpath_core.eo
index d9910a4..e871df8 100644
--- a/src/lib/efl/interfaces/efl_vpath_core.eo
+++ b/src/lib/efl/interfaces/efl_vpath_core.eo
@@ -1,6 +1,9 @@
 class Efl.Vpath.Core (Eo.Base, Efl.Vpath)
 {
-   [[ Core EFL implementation of a Vpath system ]]
+   [[ Core EFL implementation of a Vpath system
+
+   @since 1.18
+   ]]
legacy_prefix: null;
eo_prefix: efl_vpath_core;
methods {
diff --git a/src/lib/efl/interfaces/efl_vpath_file.eo 
b/src/lib/efl/interfaces/efl_vpath_file.eo
index 7cdb7ce..de44709 100644
--- a/src/lib/efl/interfaces/efl_vpath_file.eo
+++ b/src/lib/efl/interfaces/efl_vpath_file.eo
@@ -11,6 +11,8 @@ class Efl.Vpath_File (Eo.Base)
   fetched or failed event callbacks will be called, inside of which or
   afterwards you can fetch the resulting local file path by getting the
   result property.
+
+  @since 1.18
]]
legacy_prefix: null;
eo_prefix: efl_vpath_file;
diff --git a/src/lib/efl/interfaces/efl_vpath_file_core.eo 
b/src/lib/efl/interfaces/efl_vpath_file_core.eo
index a77b4c9..cbe9bca 100644
--- a/src/lib/efl/interfaces/efl_vpath_file_core.eo
+++ b/src/lib/efl/interfaces/efl_vpath_file_core.eo
@@ -1,6 +1,9 @@
 class Efl.Vpath_File.Core (Efl.Vpath_File)
 {
-   [[ Core EFL implementation of a Vpath File ]]
+   [[ Core EFL implementation of a Vpath File
+
+   @since 1.18
+   ]]
legacy_prefix: null;
eo_prefix: efl_vpath_file_core;
implements {
diff --git a/src/lib/efl/interfaces/efl_vpath_manager.eo 
b/src/lib/efl/interfaces/efl_vpath_manager.eo
index 532f631..d08cdc0 100644
--- a/src/lib/efl/interfaces/efl_vpath_manager.eo
+++ b/src/lib/efl/interfaces/efl_vpath_manager.eo
@@ -1,6 +1,9 @@
 class Efl.Vpath_Manager (Eo.Base)
 {
-   [[ Vpath Manager manages multiple VPath objects that remap/download ]]
+   [[ Vpath Manager manages multiple VPath objects that remap/download
+
+   @since 1.18
+   ]]
legacy_prefix: null;
eo_prefix: efl_vpath_manager;
methods {

-- 




[EGIT] [core/efl] master 07/07: docs: efl_vpath: fix smaller tpyos and document manager class methods

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit e165baf37cd20ddf9190dd791c44879ecf0b3050
Author: Stefan Schmidt 
Date:   Tue Apr 26 13:57:55 2016 +0200

docs: efl_vpath: fix smaller tpyos and document manager class methods
---
 src/lib/efl/interfaces/efl_vpath_file.eo| 2 +-
 src/lib/efl/interfaces/efl_vpath_manager.eo | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_vpath_file.eo 
b/src/lib/efl/interfaces/efl_vpath_file.eo
index de44709..74e117a 100644
--- a/src/lib/efl/interfaces/efl_vpath_file.eo
+++ b/src/lib/efl/interfaces/efl_vpath_file.eo
@@ -38,7 +38,7 @@ class Efl.Vpath_File (Eo.Base)
 return: bool; [[ Result callback already called ]]
   }
   wait {
-[[ If not fteched yet, wait until it is and call result cb ]]
+[[ If not fetched yet, wait until it is and call result cb ]]
   }
}
events {
diff --git a/src/lib/efl/interfaces/efl_vpath_manager.eo 
b/src/lib/efl/interfaces/efl_vpath_manager.eo
index d08cdc0..2748909 100644
--- a/src/lib/efl/interfaces/efl_vpath_manager.eo
+++ b/src/lib/efl/interfaces/efl_vpath_manager.eo
@@ -15,14 +15,14 @@ class Efl.Vpath_Manager (Eo.Base)
  return: own(Efl.Vpath_File *); [[ An object representing the file ]]
   }
   register @class {
- [[ ]]
+ [[Register a vpath with the manager ]]
  params {
-priority: int; [[ Search order - higher values tired first ]]
+priority: int; [[ Search order - higher values tried first ]]
 vpath: Efl.Vpath * @nonull; [[ A Vpath implementation object ]]
  }
   }
   unregister @class {
- [[ ]]
+ [[ Unregister a vpath from the manager ]]
  params {
 vpath: Efl.Vpath * @nonull; [[ A Vpath implementation object ]]
  }

-- 




[EGIT] [core/efl] master 04/07: docs: efl_network: enhance the EO classes for client and server

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 727f58524a0725cce2064a0277196ab92b61c48f
Author: Stefan Schmidt 
Date:   Tue Apr 26 11:53:50 2016 +0200

docs: efl_network: enhance the EO classes for client and server
---
 src/lib/ecore_con/efl_network_client.eo | 4 ++--
 src/lib/ecore_con/efl_network_server.eo | 4 +++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_con/efl_network_client.eo 
b/src/lib/ecore_con/efl_network_client.eo
index 7a32c13..e742b3a 100644
--- a/src/lib/ecore_con/efl_network_client.eo
+++ b/src/lib/ecore_con/efl_network_client.eo
@@ -1,10 +1,10 @@
 class Efl.Network.Client (Efl.Network.Base) {
+   [[Efl network client]]
legacy_prefix: ecore_con_client;
eo_prefix: efl_network_client_obj;
methods {
   @property server {
- [[Controls the server representing the socket the client has
-   connected to.]]
+ [[The server the client is connected to.]]
  get {
  }
  values {
diff --git a/src/lib/ecore_con/efl_network_server.eo 
b/src/lib/ecore_con/efl_network_server.eo
index 67e2637..b75190e 100644
--- a/src/lib/ecore_con/efl_network_server.eo
+++ b/src/lib/ecore_con/efl_network_server.eo
@@ -1,4 +1,5 @@
 class Efl.Network.Server (Efl.Network.Base) {
+   [[Efl network server]]
legacy_prefix: ecore_con_server;
eo_prefix: efl_network_server;
methods {
@@ -62,6 +63,7 @@ class Efl.Network.Server (Efl.Network.Base) {
  }
   }
   @property connection_type {
+[[Type of the server connection as defined in @Ecore.Con.Type]]
 get {
 legacy: null;
 }
@@ -69,7 +71,7 @@ class Efl.Network.Server (Efl.Network.Base) {
 legacy: null;
 }
 values {
-conn_type: Ecore.Con.Type;
+conn_type: Ecore.Con.Type; [[Connection type]]
 }
   }
}

-- 




[EGIT] [core/efl] master 05/07: docs: efl_network: class descriptions for connector and URL

2016-04-26 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 204a252abe2fb91a62a14d398875cdad5a018963
Author: Stefan Schmidt 
Date:   Tue Apr 26 13:12:04 2016 +0200

docs: efl_network: class descriptions for connector and URL
---
 src/lib/ecore_con/efl_network_connector.eo | 1 +
 src/lib/ecore_con/efl_network_url.eo   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/lib/ecore_con/efl_network_connector.eo 
b/src/lib/ecore_con/efl_network_connector.eo
index 8c106a9..1d74547 100644
--- a/src/lib/ecore_con/efl_network_connector.eo
+++ b/src/lib/ecore_con/efl_network_connector.eo
@@ -1,4 +1,5 @@
 class Efl.Network.Connector (Efl.Network.Server) {
+   [[Efl network connector class]]
eo_prefix: efl_network_connector_obj;
data: null;
implements {
diff --git a/src/lib/ecore_con/efl_network_url.eo 
b/src/lib/ecore_con/efl_network_url.eo
index eecdfd4..8148e8b 100644
--- a/src/lib/ecore_con/efl_network_url.eo
+++ b/src/lib/ecore_con/efl_network_url.eo
@@ -1,4 +1,5 @@
 class Efl.Network.Url (Eo.Base) {
+   [[Uniform Resource Locator (URL) base class]]
legacy_prefix: null;
eo_prefix: efl_network_url;
methods {

-- 




[EGIT] [core/efl] master 01/01: elm_genlist: fix the sorted insert after expanded tree item

2016-04-26 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 287f84baaff605ce7b1c838720b68749c62c3c4b
Author: Vyacheslav Reutskiy 
Date:   Tue Apr 26 15:12:14 2016 +0300

elm_genlist: fix the sorted insert after expanded tree item

Insert a new item after subitem of ELM_GENLIST_ITEM_TREE item, if
it expanded.

@fix
---
 src/lib/elementary/elm_genlist.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index cb77a88..378c5f0 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -6384,7 +6384,7 @@ _elm_genlist_item_sorted_insert(Eo *obj, Elm_Genlist_Data 
*sd, const Elm_Genlist
if (it->parent)
  {
 Elm_Object_Item *eo_rel = NULL;
-Eina_List *l;
+Eina_List *l, *last;
 int cmp_result;
 
 l = eina_list_search_sorted_near_list
@@ -6408,6 +6408,12 @@ _elm_genlist_item_sorted_insert(Eo *obj, 
Elm_Genlist_Data *sd, const Elm_Genlist
{
   it->parent->item->items = eina_list_append_relative_list
   (it->parent->item->items, eo_it, l);
+  if (rel->item->items && rel->item->expanded)
+{
+   last = eina_list_last(rel->item->items);
+   eo_rel = eina_list_data_get(last);
+   rel = eo_data_scope_get(eo_rel, ELM_GENLIST_ITEM_CLASS);
+}
   sd->items = eina_inlist_append_relative
   (sd->items, EINA_INLIST_GET(it), EINA_INLIST_GET(rel));
   it->item->before = EINA_FALSE;

-- 




[EGIT] [core/enlightenment] master 01/01: move wayland surface E_Client del check to a place where it's more useful

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 2c1e864fbc4f2bd421029785306764da9328663b
Author: Mike Blumenkrantz 
Date:   Tue Apr 26 08:58:50 2016 -0400

move wayland surface E_Client del check to a place where it's more useful

completely breaks wayland on first commit? off to an auspicious start!

ref d9679f765f266448448e1d3707ecf374bcaec6fe
---
 src/bin/e_comp_wl.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 639119a..16114da 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1567,8 +1567,6 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client 
*client, struct wl_reso
 
DBG("Compositor Cb Surface Create: %d", id);
 
-   if (e_object_is_del(E_OBJECT(ec))) return;
-
/* try to create an internal surface */
if (!(res = wl_resource_create(client, &wl_surface_interface,
   wl_resource_get_version(resource), id)))
@@ -1587,7 +1585,11 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client 
*client, struct wl_reso
wl_client_get_credentials(client, &pid, NULL, NULL);
if (pid == getpid()) //internal!
  ec = e_pixmap_find_client(E_PIXMAP_TYPE_WL, (uintptr_t)id);
-   if (!ec)
+   if (ec)
+ {
+if (e_object_is_del(E_OBJECT(ec))) return;
+ }
+   else
  {
 E_Pixmap *ep = NULL;
 

-- 




[EGIT] [tools/enventor] master 01/01: ctxpopup: fix a broken ctxpopup image relay behavior.

2016-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 99eee8091e69e60a62b7d9da247da271e7feb676
Author: Hermet Park 
Date:   Tue Apr 26 22:17:44 2016 +0900

ctxpopup: fix a broken ctxpopup image relay behavior.

grab keys to ensure key events.

fix @T3271
---
 src/lib/ctxpopup.c | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/src/lib/ctxpopup.c b/src/lib/ctxpopup.c
index 9bfdf6d..60af932 100644
--- a/src/lib/ctxpopup.c
+++ b/src/lib/ctxpopup.c
@@ -825,6 +825,13 @@ ctxpopup_img_preview_create(edit_data *ed,
   ctxpopup_mouse_wheel_cb, ctxdata);
evas_object_focus_set(ctxpopup, EINA_TRUE);
 
+   if (!evas_object_key_grab(ctxpopup, "Up", 0, 0, EINA_TRUE))
+ EINA_LOG_ERR("Failed to grab key - Up");
+   if (!evas_object_key_grab(ctxpopup, "Down", 0, 0, EINA_TRUE))
+ EINA_LOG_ERR("Failed to grab key - Down");
+   if (!evas_object_key_grab(ctxpopup, "BackSpace", 0, 0, EINA_TRUE))
+ EINA_LOG_ERR("Failed to grab key - BackSpace");
+
return ctxpopup;
 }
 
@@ -935,6 +942,13 @@ ctxpopup_candidate_list_create(edit_data *ed, attr_value 
*attr,
evas_object_smart_callback_add(ctxpopup, "dismissed", ctxpopup_dismiss_cb,
   ed);
 
+   if (!evas_object_key_grab(ctxpopup, "Up", 0, 0, EINA_TRUE))
+ EINA_LOG_ERR("Failed to grab key - Up");
+   if (!evas_object_key_grab(ctxpopup, "Down", 0, 0, EINA_TRUE))
+ EINA_LOG_ERR("Failed to grab key - Down");
+   if (!evas_object_key_grab(ctxpopup, "BackSpace", 0, 0, EINA_TRUE))
+ EINA_LOG_ERR("Failed to grab key - BackSpace");
+
return ctxpopup;
 
 err:

-- 




[EGIT] [tools/enventor] master 01/01: edc_editor: free used memory.

2016-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit e7bc310f1b86eeb40ee78378bd8efc0f764f0f9a
Author: Hermet Park 
Date:   Tue Apr 26 22:58:46 2016 +0900

edc_editor: free used memory.
---
 src/lib/edc_editor.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c
index a62e947..bfe5172 100644
--- a/src/lib/edc_editor.c
+++ b/src/lib/edc_editor.c
@@ -609,10 +609,12 @@ preview_img_relay_show(edit_data *ed, Evas_Object 
*ctxpopup, Eina_Bool next)
 int cursor_pos = elm_entry_cursor_pos_get(ed->en_edit);
 elm_entry_select_region_set(ed->en_edit, (cursor_pos - select_len),
 cursor_pos);
+free(text);
 return;
  }
 end:
elm_ctxpopup_dismiss(ctxpopup);
+   free(text);
 }
 
 static void

-- 




[EGIT] [core/efl] master 01/01: evas: Fix improper extra library linkage for various engines

2016-04-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 6c032a99de24b7a7b796aa20f67936ab0d4e6844
Author: Chris Michael 
Date:   Tue Apr 26 10:02:35 2016 -0400

evas: Fix improper extra library linkage for various engines

The eglfs, drm and gl_drm engines were all linking to eeze internal
libraries however none of those engines actually use eeze at all so we
can remove the linking there.

@fix

Signed-off-by: Chris Michael 
---
 src/Makefile_Evas.am | 15 ++-
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 5e203db..7e1470e 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -1303,9 +1303,8 @@ modules_evas_engines_drm_module_la_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
 modules_evas_engines_drm_module_la_LIBADD = \
 @USE_EVAS_LIBS@ \
 @USE_ECORE_DRM_LIBS@ \
-@evas_engine_drm_libs@ \
-@USE_EEZE_INTERNAL_LIBS@
-modules_evas_engines_drm_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ 
@USE_EEZE_INTERNAL_LIBS@ @USE_ECORE_DRM_INTERNAL_LIBS@
+@evas_engine_drm_libs@
+modules_evas_engines_drm_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ 
@USE_ECORE_DRM_INTERNAL_LIBS@
 modules_evas_engines_drm_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
 modules_evas_engines_drm_module_la_LIBTOOLFLAGS = --tag=disable-static
 endif
@@ -1342,9 +1341,8 @@ modules_evas_engines_gl_drm_module_la_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
 modules_evas_engines_gl_drm_module_la_LIBADD = \
 @USE_EVAS_LIBS@ \
 @USE_ECORE_DRM_LIBS@ \
-@evas_engine_gl_drm_libs@ \
-@USE_EEZE_INTERNAL_LIBS@
-modules_evas_engines_gl_drm_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ 
@USE_EEZE_INTERNAL_LIBS@ @USE_ECORE_DRM_INTERNAL_LIBS@
+@evas_engine_gl_drm_libs@
+modules_evas_engines_gl_drm_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ 
@USE_ECORE_DRM_INTERNAL_LIBS@
 modules_evas_engines_gl_drm_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
 modules_evas_engines_gl_drm_module_la_LIBTOOLFLAGS = --tag=disable-static
 endif
@@ -1381,9 +1379,8 @@ modules_evas_engines_eglfs_module_la_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
 modules_evas_engines_eglfs_module_la_LIBADD = \
 @USE_EVAS_LIBS@ \
 @USE_ECORE_DRM_LIBS@ \
-@evas_engine_eglfs_libs@ \
-@USE_EEZE_INTERNAL_LIBS@
-modules_evas_engines_eglfs_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ 
@USE_EEZE_INTERNAL_LIBS@ @USE_ECORE_DRM_INTERNAL_LIBS@
+@evas_engine_eglfs_libs@
+modules_evas_engines_eglfs_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ 
@USE_ECORE_DRM_INTERNAL_LIBS@
 modules_evas_engines_eglfs_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
 modules_evas_engines_eglfs_module_la_LIBTOOLFLAGS = --tag=disable-static
 endif

-- 




[EGIT] [tools/enventor] master 01/01: code refactoring.

2016-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 8d109970c6f3531cbcb1b35f7c0f2154fc8800aa
Author: Hermet Park 
Date:   Tue Apr 26 23:13:42 2016 +0900

code refactoring.

sanitize duplicated error message code.
---
 src/bin/live_edit.c | 29 ++---
 src/lib/auto_comp.c | 38 +++---
 src/lib/ctxpopup.c  | 25 +
 3 files changed, 50 insertions(+), 42 deletions(-)

diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c
index e837d24..5c6c9f4 100644
--- a/src/bin/live_edit.c
+++ b/src/bin/live_edit.c
@@ -935,6 +935,13 @@ info_text_init(live_data *ld)
 }
 
 static void
+key_grab_add(Evas_Object *keygrabber, const char *key)
+{
+   if (!evas_object_key_grab(keygrabber, key, 0, 0, EINA_TRUE))
+ EINA_LOG_ERR(_("Failed to grab key - %s"), key);
+}
+
+static void
 live_edit_layer_set(live_data *ld)
 {
//Keygrabber
@@ -944,25 +951,17 @@ live_edit_layer_set(live_data *ld)
   keygrabber_key_down_cb, ld);
evas_object_event_callback_add(ld->keygrabber, EVAS_CALLBACK_KEY_DOWN,
   keygrabber_direction_key_down_cb, ld);
-   if (!evas_object_key_grab(ld->keygrabber, "Return", 0, 0, EINA_TRUE))
- EINA_LOG_ERR(_("Failed to grab key - Return"));
-   if (!evas_object_key_grab(ld->keygrabber, "Delete", 0, 0, EINA_TRUE))
- EINA_LOG_ERR(_("Failed to grab key - Delete"));
-   if (!evas_object_key_grab(ld->keygrabber, "BackSpace", 0, 0, EINA_TRUE))
- EINA_LOG_ERR(_("Failed to grab key - BackSpace"));
-   if (!evas_object_key_grab(ld->keygrabber, "Up", 0, 0, EINA_TRUE))
- EINA_LOG_ERR(_("Failed to grab key - Up"));
-   if (!evas_object_key_grab(ld->keygrabber, "Down", 0, 0, EINA_TRUE))
- EINA_LOG_ERR(_("Failed to grab key - Down"));
-   if (!evas_object_key_grab(ld->keygrabber, "Left", 0, 0, EINA_TRUE))
- EINA_LOG_ERR(_("Failed to grab key - Left"));
-   if (!evas_object_key_grab(ld->keygrabber, "Right", 0, 0, EINA_TRUE))
- EINA_LOG_ERR(_("Failed to grab key - Right"));
-
evas_object_event_callback_add(ld->live_view, EVAS_CALLBACK_RESIZE,
   live_view_geom_cb, ld);
evas_object_event_callback_add(ld->live_view, EVAS_CALLBACK_MOVE,
   live_view_geom_cb, ld);
+   key_grab_add(ld->keygrabber, "Return");
+   key_grab_add(ld->keygrabber, "Delete");
+   key_grab_add(ld->keygrabber, "BackSpace");
+   key_grab_add(ld->keygrabber, "Up");
+   key_grab_add(ld->keygrabber, "Down");
+   key_grab_add(ld->keygrabber, "Left");
+   key_grab_add(ld->keygrabber, "Right");
 
//Create Live View Layout
Evas_Object *layout = elm_layout_add(ld->live_view);
diff --git a/src/lib/auto_comp.c b/src/lib/auto_comp.c
index 664db9e..ff2b186 100644
--- a/src/lib/auto_comp.c
+++ b/src/lib/auto_comp.c
@@ -362,6 +362,19 @@ init_thread_cancel_cb(void *data, Ecore_Thread *thread 
EINA_UNUSED)
 }
 
 static void
+key_grab_add(Evas_Object *keygrabber, const char *key)
+{
+   if (!evas_object_key_grab(keygrabber, key, 0, 0, EINA_TRUE))
+ EINA_LOG_ERR(_("Failed to grab key - %s"), key);
+}
+
+static void
+key_grab_del(Evas_Object *keygrabber, const char *key)
+{
+   evas_object_key_ungrab(keygrabber, key, 0, 0);
+}
+
+static void
 anchor_keygrab_set(autocomp_data *ad, Eina_Bool grab)
 {
Evas_Object *anchor = ad->anchor;
@@ -369,26 +382,21 @@ anchor_keygrab_set(autocomp_data *ad, Eina_Bool grab)
if (grab)
  {
 if (ad->on_keygrab) return;
-if (!evas_object_key_grab(anchor, "BackSpace", 0, 0, EINA_TRUE))
-  EINA_LOG_ERR("Failed to grab key - BackSpace");
-if (!evas_object_key_grab(anchor, "Return", 0, 0, EINA_TRUE))
-  EINA_LOG_ERR("Failed to grab key - Return");
-if (!evas_object_key_grab(anchor, "Tab", 0, 0, EINA_TRUE))
-  EINA_LOG_ERR("Failed to grab key - Tab");
-if (!evas_object_key_grab(anchor, "Up", 0, 0, EINA_TRUE))
-  EINA_LOG_ERR("Failed to grab key - Up");
-if (!evas_object_key_grab(anchor, "Down", 0, 0, EINA_TRUE))
-  EINA_LOG_ERR("Failed to grab key - Down");
+key_grab_add(anchor, "BackSpace");
+key_grab_add(anchor, "Return");
+key_grab_add(anchor, "Tab");
+key_grab_add(anchor, "Up");
+key_grab_add(anchor, "Down");
 ad->on_keygrab = EINA_TRUE;
  }
else
  {
 if (!ad->on_keygrab) return;
-evas_object_key_ungrab(anchor, "BackSpace", 0, 0);
-evas_object_key_ungrab(anchor, "Return", 0, 0);
-evas_object_key_ungrab(anchor, "Tab", 0, 0);
-evas_object_key_ungrab(anchor, "Up", 0, 0);
-evas_object_key_ungrab(anchor, "Down", 0, 0);
+key_grab_del(anchor, "BackSpace");
+key_grab_del(anchor, "Return");
+key_grab_del(anchor, "Tab");
+key_grab_del(anchor, "Up");
+key_grab_

[EGIT] [tools/enventor] master 01/01: edc_editor: fix a broken ctxpopup image relay behavior.

2016-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit d38facff7fbacbb2254687c67346113ad99f3c48
Author: Hermet Park 
Date:   Tue Apr 26 23:39:57 2016 +0900

edc_editor: fix a broken ctxpopup image relay behavior.

Next image word selection was broken.
so, the selection was a little twisted.
It seems something has been changed in entry.
Anyhow, it's fixed in enventor side. :(

@fix T3258
---
 src/lib/edc_editor.c   | 23 +++
 src/lib/edc_parser.c   |  7 ---
 src/lib/enventor_private.h |  1 -
 3 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c
index bfe5172..b55f9f0 100644
--- a/src/lib/edc_editor.c
+++ b/src/lib/edc_editor.c
@@ -593,22 +593,21 @@ preview_img_relay_show(edit_data *ed, Evas_Object 
*ctxpopup, Eina_Bool next)
if (image_preview_show(ed, text, x, y))
  {
 //Set the entry selection region to next image.
-const char *colon = parser_colon_pos_get(NULL, text);
+const char *colon = strstr(text, ":");
 if (!colon) goto end;
 
-const char *selection = elm_entry_selection_get(ed->en_edit);
-if (!selection) goto end;
+const char *image = strstr(text, "image");
+if (!image) goto end;
 
-char *select_utf8 = elm_entry_markup_to_utf8(selection);
-if (!select_utf8) goto end;
-int select_len = strlen(select_utf8);
-free(select_utf8);
-const char *p = (colon - select_len);
-if (p < text) goto end;
+//Check validation
+if (0 >= (colon - image)) goto end;
 
-int cursor_pos = elm_entry_cursor_pos_get(ed->en_edit);
-elm_entry_select_region_set(ed->en_edit, (cursor_pos - select_len),
-cursor_pos);
+//Compute new selection region.
+elm_entry_cursor_line_begin_set(ed->en_edit);
+int cur_pos = elm_entry_cursor_pos_get(ed->en_edit);
+int begin = cur_pos + (image - text);
+elm_entry_select_region_set(ed->en_edit, begin,
+(begin + (int) (colon - image)));
 free(text);
 return;
  }
diff --git a/src/lib/edc_parser.c b/src/lib/edc_parser.c
index d46aed1..dea7105 100644
--- a/src/lib/edc_parser.c
+++ b/src/lib/edc_parser.c
@@ -1528,13 +1528,6 @@ parser_name_get(parser_data *pd EINA_UNUSED, const char 
*cur)
return strndup(p, (end - p));
 }
 
-const char *
-parser_colon_pos_get(parser_data *pd EINA_UNUSED, const char *cur)
-{
-   if (!cur) return NULL;
-   return strstr(cur, ":");
-}
-
 attr_value *
 parser_attribute_get(parser_data *pd, const char *text, const char *cur,
  const char *selected)
diff --git a/src/lib/enventor_private.h b/src/lib/enventor_private.h
index 8249f00..74a1052 100644
--- a/src/lib/enventor_private.h
+++ b/src/lib/enventor_private.h
@@ -139,7 +139,6 @@ int parser_end_of_parts_block_pos_get(const Evas_Object 
*entry, const char *grou
 Eina_Bool parser_images_pos_get(const Evas_Object *entry, int *ret);
 Eina_Bool parser_is_image_name(const Evas_Object *entry, const char *str);
 Eina_Bool parser_styles_pos_get(const Evas_Object *entry, int *ret);
-const char *parser_colon_pos_get(parser_data *pd EINA_UNUSED, const char *cur);
 Eina_Bool parser_state_info_get(Evas_Object *entry, state_info *info);
 void parser_macro_list_set(parser_data *pd, const char *text);
 Eina_List *parser_macro_list_get(parser_data *pd);

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Add missing initializer for fb2 command

2016-04-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 7d450fba64f52d6bac2f236273cc0b8203ef5ac5
Author: Chris Michael 
Date:   Tue Apr 26 11:00:40 2016 -0400

ecore-drm: Add missing initializer for fb2 command

drm_mode_fb_cmd2 has fields for a modifier to handle tiling,
compression, etc (per plane). Even tho we do not use these, we should
at least initialize them to zero else we end up with uninitialized
bytes in the cmd structure.

==11706== Syscall param ioctl(generic) points to uninitialised byte(s)
==11706==at 0x57E05D9: ioctl (in /usr/lib/libc-2.20.so)
==11706==by 0x4D30FA3: drmIoctl (in /usr/lib/libdrm.so.2.4.0)
==11706==by 0x4CDF66B: _ecore_drm_fb_create2 (ecore_drm_fb.c:63)

@fix

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

diff --git a/src/lib/ecore_drm/ecore_drm_fb.c b/src/lib/ecore_drm/ecore_drm_fb.c
index f705fa2..7f3d323 100644
--- a/src/lib/ecore_drm/ecore_drm_fb.c
+++ b/src/lib/ecore_drm/ecore_drm_fb.c
@@ -40,6 +40,7 @@ _ecore_drm_fb_create2(int fd, Ecore_Drm_Fb *fb)
 {
struct drm_mode_fb_cmd2 cmd;
uint32_t hdls[4], pitches[4], offsets[4], fmt;
+   uint64_t modifiers[4];
 
 #define _fourcc_code(a,b,c,d) \
((uint32_t)(a) | ((uint32_t)(b) << 8) | \
@@ -49,6 +50,7 @@ _ecore_drm_fb_create2(int fd, Ecore_Drm_Fb *fb)
hdls[0] = fb->hdl;
pitches[0] = fb->stride;
offsets[0] = 0;
+   modifiers[0] = 0;
 
memset(&cmd, 0, sizeof(struct drm_mode_fb_cmd2));
cmd.fb_id = 0;
@@ -59,6 +61,7 @@ _ecore_drm_fb_create2(int fd, Ecore_Drm_Fb *fb)
memcpy(cmd.handles, hdls, 4 * sizeof(hdls[0]));
memcpy(cmd.pitches, pitches, 4 * sizeof(pitches[0]));
memcpy(cmd.offsets, offsets, 4 * sizeof(offsets[0]));
+   memcpy(cmd.modifier, modifiers, 4 * sizeof(modifiers[0]));
 
if (drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &cmd))
  return EINA_FALSE;

-- 




[EGIT] [tools/enventor] master 01/01: status: adjust stats msg idle time.

2016-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 1c21a8538ff0a445fb8f6380685e2418ac1e8280
Author: Hermet Park 
Date:   Wed Apr 27 00:03:25 2016 +0900

status: adjust stats msg idle time.

as well as some messages.
---
 data/themes/default/layout_common.edc | 2 +-
 src/bin/live_edit.c   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/data/themes/default/layout_common.edc 
b/data/themes/default/layout_common.edc
index 236fd42..2f2f26d 100644
--- a/data/themes/default/layout_common.edc
+++ b/data/themes/default/layout_common.edc
@@ -2506,7 +2506,7 @@ group { name: "statusbar_layout";
   program { name: "info_msg_idle";
  action: STATE_SET "show" 0.0;
  target: "elm.text.info_msg";
- transition: LINEAR 2;
+ transition: LINEAR 3.5;
  after: "info_msg_hide";
   }
   program { name: "info_msg_hide";
diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c
index 5c6c9f4..b3e8b71 100644
--- a/src/bin/live_edit.c
+++ b/src/bin/live_edit.c
@@ -1010,7 +1010,7 @@ live_btn_clicked_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
 
live_edit_layer_set(ld);
 
-   stats_info_msg_update(_("Double click the part to confirm. (Esc = 
cancel)"));
+   stats_info_msg_update(_("Double click part to confirm. (Esc = cancel)"));
 }
 
 static Evas_Object *

-- 




[EGIT] [website/www-content] master 01/01: Wiki page e-0.21.0-alpha-release changed with summary [] by Mike Blumenkrantz

2016-04-26 Thread Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 3661c32437b3a0914b3371acf87f23d842738e1b
Author: Mike Blumenkrantz 
Date:   Tue Apr 26 08:09:36 2016 -0700

Wiki page e-0.21.0-alpha-release changed with summary [] by Mike 
Blumenkrantz
---
 pages/news/e-0.21.0-alpha-release.txt | 44 +--
 1 file changed, 32 insertions(+), 12 deletions(-)

diff --git a/pages/news/e-0.21.0-alpha-release.txt 
b/pages/news/e-0.21.0-alpha-release.txt
index 6b57ad6..03babb7 100644
--- a/pages/news/e-0.21.0-alpha-release.txt
+++ b/pages/news/e-0.21.0-alpha-release.txt
@@ -1,21 +1,41 @@
-=== Enlightenment DR 0.21.0-alpha Release ===
-  * //2016-04-12 - by Mike//
-
-Highlights:
-  * Greatly improved Wayland support
-  * New gadget infrastructure
-  * Wizard improvements
-  * Video backgrounds
+=== Enlightenment DR 0.20.7 Release ===
+  * //2016-04-26 - by zmike//
+
+[[ https://git.enlightenment.org/core/enlightenment.git/tree/NEWS?h=v0.20.7 | 
Changes ]]
+
+Tickets addressed:
+  * https://phab.enlightenment.org/T1759
+  * https://phab.enlightenment.org/T2735
+  * https://phab.enlightenment.org/T2757
+  * https://phab.enlightenment.org/T2874
+  * https://phab.enlightenment.org/T3139
+  * https://phab.enlightenment.org/T3157
+  * https://phab.enlightenment.org/T3238
+  * https://phab.enlightenment.org/T3297
+  * https://phab.enlightenment.org/T3338
+  * https://phab.enlightenment.org/T3339
+  * https://phab.enlightenment.org/T3347
+  * https://phab.enlightenment.org/T3369
+  * https://phab.enlightenment.org/T3404
+  * https://phab.enlightenment.org/T3412
+  * https://phab.enlightenment.org/T3415
+  * https://phab.enlightenment.org/T3426
+  * https://phab.enlightenment.org/T3428
+  * https://phab.enlightenment.org/T3435
+  * https://phab.enlightenment.org/T3444
+  * https://phab.enlightenment.org/T3461
+  * https://phab.enlightenment.org/T3475
+  * https://phab.enlightenment.org/T3507
 
 As always, stay tuned to the latest infrequent E updates on the [[ 
http://e.zmike.ninja|release blog]].
 
 == Download ==
 
 ^ ** LINK ** ^ ** SHA256 ** ^
-| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz
 | Enlightenment DR 0.21.0-alpha GZIP]]| 
aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 |
-| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz
 | Enlightenment DR 0.21.0-alpha XZ]]  | 
e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.20.7.tar.gz
 | Enlightenment DR 0.20.7 GZIP]]| 
5d801d7a831d450b8cb1fd36fcd4cb2d1ed92a43e328f915dbcb9cdd99e2e34a |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.20.7.tar.xz
 | Enlightenment DR 0.20.7 XZ]]  | 
7cdee85928488bdeb07ab22f31c1aaf58e27ca365d327968cfed6a5f83ade181 |
 
-//Artisinally composited pixmaps for your desktop.//
+**Enlightenment:** for when you might otherwise find yourself being //too// 
productive.
 
 == Building and Dependencies ==
 
@@ -26,7 +46,7 @@ If you have an existing EFL or Elementary install, you may 
wish to delete its he
   - 
[[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | 
Emotion generic players]]
   - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README  
  | Evas generic loaders]]
 
-**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 
for Wayland support.
+**Note:** E20 depends on EFL **v1.15.2** or newer for X11 compositing and 1.17 
for Wayland support.
 
 {{:blank.png?nolink&100|}}
 ~~DISCUSSIONS~~

-- 




[EGIT] [website/www-content] master 01/01: Wiki page e-0.21.0-alpha-release changed with summary [] by Mike Blumenkrantz

2016-04-26 Thread Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 6ceb08d86fae09dc89b6b5927344707fc485eee1
Author: Mike Blumenkrantz 
Date:   Tue Apr 26 08:13:07 2016 -0700

Wiki page e-0.21.0-alpha-release changed with summary [] by Mike 
Blumenkrantz
---
 pages/news/e-0.21.0-alpha-release.txt | 44 ++-
 1 file changed, 12 insertions(+), 32 deletions(-)

diff --git a/pages/news/e-0.21.0-alpha-release.txt 
b/pages/news/e-0.21.0-alpha-release.txt
index 03babb7..6b57ad6 100644
--- a/pages/news/e-0.21.0-alpha-release.txt
+++ b/pages/news/e-0.21.0-alpha-release.txt
@@ -1,41 +1,21 @@
-=== Enlightenment DR 0.20.7 Release ===
-  * //2016-04-26 - by zmike//
-
-[[ https://git.enlightenment.org/core/enlightenment.git/tree/NEWS?h=v0.20.7 | 
Changes ]]
-
-Tickets addressed:
-  * https://phab.enlightenment.org/T1759
-  * https://phab.enlightenment.org/T2735
-  * https://phab.enlightenment.org/T2757
-  * https://phab.enlightenment.org/T2874
-  * https://phab.enlightenment.org/T3139
-  * https://phab.enlightenment.org/T3157
-  * https://phab.enlightenment.org/T3238
-  * https://phab.enlightenment.org/T3297
-  * https://phab.enlightenment.org/T3338
-  * https://phab.enlightenment.org/T3339
-  * https://phab.enlightenment.org/T3347
-  * https://phab.enlightenment.org/T3369
-  * https://phab.enlightenment.org/T3404
-  * https://phab.enlightenment.org/T3412
-  * https://phab.enlightenment.org/T3415
-  * https://phab.enlightenment.org/T3426
-  * https://phab.enlightenment.org/T3428
-  * https://phab.enlightenment.org/T3435
-  * https://phab.enlightenment.org/T3444
-  * https://phab.enlightenment.org/T3461
-  * https://phab.enlightenment.org/T3475
-  * https://phab.enlightenment.org/T3507
+=== Enlightenment DR 0.21.0-alpha Release ===
+  * //2016-04-12 - by Mike//
+
+Highlights:
+  * Greatly improved Wayland support
+  * New gadget infrastructure
+  * Wizard improvements
+  * Video backgrounds
 
 As always, stay tuned to the latest infrequent E updates on the [[ 
http://e.zmike.ninja|release blog]].
 
 == Download ==
 
 ^ ** LINK ** ^ ** SHA256 ** ^
-| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.20.7.tar.gz
 | Enlightenment DR 0.20.7 GZIP]]| 
5d801d7a831d450b8cb1fd36fcd4cb2d1ed92a43e328f915dbcb9cdd99e2e34a |
-| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.20.7.tar.xz
 | Enlightenment DR 0.20.7 XZ]]  | 
7cdee85928488bdeb07ab22f31c1aaf58e27ca365d327968cfed6a5f83ade181 |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz
 | Enlightenment DR 0.21.0-alpha GZIP]]| 
aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz
 | Enlightenment DR 0.21.0-alpha XZ]]  | 
e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 |
 
-**Enlightenment:** for when you might otherwise find yourself being //too// 
productive.
+//Artisinally composited pixmaps for your desktop.//
 
 == Building and Dependencies ==
 
@@ -46,7 +26,7 @@ If you have an existing EFL or Elementary install, you may 
wish to delete its he
   - 
[[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | 
Emotion generic players]]
   - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README  
  | Evas generic loaders]]
 
-**Note:** E20 depends on EFL **v1.15.2** or newer for X11 compositing and 1.17 
for Wayland support.
+**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 
for Wayland support.
 
 {{:blank.png?nolink&100|}}
 ~~DISCUSSIONS~~

-- 




[EGIT] [tools/enventor] master 01/01: colorpalette: remove fixed warnings.

2016-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 8c6da49ae1b44e671c877b6ca725db43be048bcb
Author: Hermet Park 
Date:   Wed Apr 27 00:06:25 2016 +0900

colorpalette: remove fixed warnings.
---
 data/themes/default/layout_common.edc | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/data/themes/default/layout_common.edc 
b/data/themes/default/layout_common.edc
index 2f2f26d..d5ce082 100644
--- a/data/themes/default/layout_common.edc
+++ b/data/themes/default/layout_common.edc
@@ -1768,7 +1768,7 @@ group { name: "colorselector_layout";
   spacer { "vertical_padding";
  scale: 1;
  desc {
-fixed: 1 0;
+fixed: 1 1;
 align: 0.0 0.5;
 min: 7 0;
 rel1.to_x: "elm.swallow.colorselector";
@@ -1835,6 +1835,7 @@ group { name: "colorselector_layout";
 align: 0.0 0.0;
 min: 15 20;
 max: 15 20;
+fixed: 1 1;
 rel1.to_x: "vertical_padding";
 rel1.to_y: "inputs_padding";
 rel2.to_x: "vertical_padding";
@@ -1855,6 +1856,7 @@ group { name: "colorselector_layout";
 align: 0.0 0.0;
 min: 15 20;
 max: 15 20;
+fixed: 1 1;
 rel1.to_x: "vertical_padding";
 rel1.to_y: "elm.text.red";
 rel2.to_x: "vertical_padding";
@@ -1875,6 +1877,7 @@ group { name: "colorselector_layout";
 align: 0.0 0.0;
 min: 15 20;
 max: 15 20;
+fixed: 1 1;
 rel1.to_x: "vertical_padding";
 rel1.to_y: "elm.text.green";
 rel2.to_x: "vertical_padding";
@@ -1895,6 +1898,7 @@ group { name: "colorselector_layout";
 align: 0.0 0.0;
 min: 15 20;
 max: 15 20;
+fixed: 1 1;
 rel1.to_x: "vertical_padding";
 rel1.to_y: "elm.text.blue";
 rel2.to_x: "vertical_padding";

-- 




[EGIT] [website/www-content] master 01/01: Wiki page e20_7_release changed with summary [created] by Mike Blumenkrantz

2016-04-26 Thread Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit c2f3643328936c4fc8df148f6f236c08598604cc
Author: Mike Blumenkrantz 
Date:   Tue Apr 26 08:18:26 2016 -0700

Wiki page e20_7_release changed with summary [created] by Mike Blumenkrantz
---
 pages/news/e20_7_release.txt | 52 
 1 file changed, 52 insertions(+)

diff --git a/pages/news/e20_7_release.txt b/pages/news/e20_7_release.txt
new file mode 100644
index 000..03babb7
--- /dev/null
+++ b/pages/news/e20_7_release.txt
@@ -0,0 +1,52 @@
+=== Enlightenment DR 0.20.7 Release ===
+  * //2016-04-26 - by zmike//
+
+[[ https://git.enlightenment.org/core/enlightenment.git/tree/NEWS?h=v0.20.7 | 
Changes ]]
+
+Tickets addressed:
+  * https://phab.enlightenment.org/T1759
+  * https://phab.enlightenment.org/T2735
+  * https://phab.enlightenment.org/T2757
+  * https://phab.enlightenment.org/T2874
+  * https://phab.enlightenment.org/T3139
+  * https://phab.enlightenment.org/T3157
+  * https://phab.enlightenment.org/T3238
+  * https://phab.enlightenment.org/T3297
+  * https://phab.enlightenment.org/T3338
+  * https://phab.enlightenment.org/T3339
+  * https://phab.enlightenment.org/T3347
+  * https://phab.enlightenment.org/T3369
+  * https://phab.enlightenment.org/T3404
+  * https://phab.enlightenment.org/T3412
+  * https://phab.enlightenment.org/T3415
+  * https://phab.enlightenment.org/T3426
+  * https://phab.enlightenment.org/T3428
+  * https://phab.enlightenment.org/T3435
+  * https://phab.enlightenment.org/T3444
+  * https://phab.enlightenment.org/T3461
+  * https://phab.enlightenment.org/T3475
+  * https://phab.enlightenment.org/T3507
+
+As always, stay tuned to the latest infrequent E updates on the [[ 
http://e.zmike.ninja|release blog]].
+
+== Download ==
+
+^ ** LINK ** ^ ** SHA256 ** ^
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.20.7.tar.gz
 | Enlightenment DR 0.20.7 GZIP]]| 
5d801d7a831d450b8cb1fd36fcd4cb2d1ed92a43e328f915dbcb9cdd99e2e34a |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.20.7.tar.xz
 | Enlightenment DR 0.20.7 XZ]]  | 
7cdee85928488bdeb07ab22f31c1aaf58e27ca365d327968cfed6a5f83ade181 |
+
+**Enlightenment:** for when you might otherwise find yourself being //too// 
productive.
+
+== Building and Dependencies ==
+
+If you have an existing EFL or Elementary install, you may wish to delete its 
header files and libraries before compiling and installing to avoid possible 
conflicts during compilation. Please compile the dependencies in the following 
order (click for README):
+
+  - [[https://git.enlightenment.org/core/efl.git/tree/README   
  | EFL]]
+  - [[https://git.enlightenment.org/core/elementary.git/tree/README
  | Elementary]]
+  - 
[[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | 
Emotion generic players]]
+  - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README  
  | Evas generic loaders]]
+
+**Note:** E20 depends on EFL **v1.15.2** or newer for X11 compositing and 1.17 
for Wayland support.
+
+{{:blank.png?nolink&100|}}
+~~DISCUSSIONS~~

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 06/140: run focus-out and mouse-out wayland client callbacks for deleted clients

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 5d64676bd08100a2929acab798d4cdf01c03467b
Author: Mike Blumenkrantz 
Date:   Thu Mar 10 14:43:37 2016 -0500

run focus-out and mouse-out wayland client callbacks for deleted clients

this fixes a number of issues caused by clients not cleaning up on deletion

ref 3e9029ea08c14135f68693a872c1d23fecdec3d8

 #YouAlwaysRememberTheFirstTimeYouBorkedTheCompositor
---
 src/bin/e_comp_wl.c | 22 --
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index e5be0e4..6653ba8 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -200,7 +200,6 @@ _e_comp_wl_evas_cb_mouse_out(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *ob
uint32_t serial;
 
if (!(ec = data)) return;
-   if (e_object_is_del(E_OBJECT(ec))) return;
if (ec->cur_mouse_action) return;
/* FIXME? this is a hack to just reset the cursor whenever we mouse out. 
not sure if accurate */
{
@@ -519,15 +518,11 @@ _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj
 static void
 _e_comp_wl_evas_cb_focus_out(void *data, Evas *evas EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *event EINA_UNUSED)
 {
-   E_Client *ec;
+   E_Client *ec = data;
struct wl_resource *res;
uint32_t serial, *k;
-   Eina_List *l, *ll;
double t;
 
-   if (!(ec = data)) return;
-   if (e_object_is_del(E_OBJECT(ec))) return;
-
E_FREE_FUNC(ec->comp_data->on_focus_timer, ecore_timer_del);
 
/* lower client priority */
@@ -539,16 +534,18 @@ _e_comp_wl_evas_cb_focus_out(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *ob
if (!eina_list_count(e_comp_wl->kbd.resources)) return;
 
/* send keyboard_leave to all keyboard resources */
-   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 (!e_object_is_del(data))
  {
+serial = wl_display_next_serial(e_comp_wl->wl.disp);
+t = ecore_time_unix_get();
+ }
+   EINA_LIST_FREE(e_comp_wl->kbd.focused, res)
+ {
+if (e_object_is_del(data)) continue;
 wl_array_for_each(k, &e_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);
-e_comp_wl->kbd.focused =
-  eina_list_remove_list(e_comp_wl->kbd.focused, l);
  }
 }
 
@@ -2245,9 +2242,6 @@ _e_comp_wl_client_cb_del(void *data EINA_UNUSED, E_Client 
*ec)
/* make sure this is a wayland client */
if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
-   /* remove focus timer */
-   E_FREE_FUNC(ec->comp_data->on_focus_timer, ecore_timer_del);
-
/* remove sub list */
EINA_LIST_FREE(ec->comp_data->sub.list, subc)
  subc->comp_data->sub.data->parent = NULL;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 07/140: reject attempts to focus deleted comp objects

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit e2cdc28ec0a0825132ef04d70c2aa289b966c1c5
Author: Mike Blumenkrantz 
Date:   Thu Mar 10 15:18:19 2016 -0500

reject attempts to focus deleted comp objects
---
 src/bin/e_comp_object.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index f0f4a44..6f20a17 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -1680,7 +1680,10 @@ _e_comp_intercept_focus(void *data, Evas_Object *obj, 
Eina_Bool focus)
  }
if (focus && ec->lock_focus_out) return;
if (e_object_is_del(E_OBJECT(ec)) && focus)
- CRI("CAN'T FOCUS DELETED CLIENT!");
+ {
+CRI("CAN'T FOCUS DELETED CLIENT!");
+return;
+ }
 
/* filter focus setting based on current state */
if (focus)

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 02/140: remove show callback from evry win on deletion

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit e5d9dbd4ec522dd3cc5ca61542666ac5c14647b2
Author: Mike Blumenkrantz 
Date:   Wed Mar 9 14:25:16 2016 -0500

remove show callback from evry win on deletion

==22088== Invalid read of size 1
==22088==at 0x2C9FE7B1: _evry_cb_show (evry.c:3046)
==22088==by 0x5BE9918: _eo_evas_object_cb (evas_callbacks.c:65)
==22088==by 0x69A16F4: _eo_base_event_callback_call 
(eo_base_class.c:715)
==22088==by 0x69A3041: eo_event_callback_call (in 
/usr/lib/libeo.so.1.17.99)
==22088==by 0x5BEA0B3: evas_object_event_callback_call 
(evas_callbacks.c:240)
==22088==by 0x5C2577C: evas_object_inform_call_show 
(evas_object_inform.c:12)
==22088==by 0x5C1ED24: _show (evas_object_main.c:1360)
==22088==by 0x5C1EADA: _evas_object_efl_gfx_base_visible_set 
(evas_object_main.c:1313)
==22088==by 0x575D80A: efl_gfx_visible_set (in 
/usr/lib/libefl.so.1.17.99)
==22088==by 0x5C1EA58: evas_object_show (evas_object_main.c:1291)
==22088==by 0x479FCF: _e_comp_intercept_show_helper 
(e_comp_object.c:1616)
==22088==by 0x47A02A: _e_comp_intercept_show (e_comp_object.c:1630)
==22088==  Address 0x17621591 is 81 bytes inside a block of size 120 free'd
==22088==at 0x4C2AE6B: free (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22088==by 0x2C9F95A8: _evry_window_free (evry.c:993)
==22088==by 0x2C9F8065: evry_hide (evry.c:366)
==22088==by 0x2C9FB9A2: _evry_cb_key_down (evry.c:1926)
==22088==by 0x8F6ED4A: _ecore_call_handler_cb (ecore_private.h:316)
==22088==by 0x8F6FC92: _ecore_event_call (ecore_events.c:518)
==22088==by 0x8F7A15A: _ecore_main_loop_iterate_internal 
(ecore_main.c:2339)
==22088==by 0x8F784A8: ecore_main_loop_begin (ecore_main.c:1284)
==22088==by 0x4403F6: main (e_main.c:1087)
==22088==  Block was alloc'd at
==22088==at 0x4C2BBD5: calloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22088==by 0x2C9F8D7D: _evry_window_new (evry.c:758)
==22088==by 0x2C9F772D: evry_show (evry.c:177)
==22088==by 0x2C9F711C: _e_mod_run_defer_cb (e_mod_main.c:537)
==22088==by 0x8F75267: _ecore_call_task_cb (ecore_private.h:282)
==22088==by 0x8F7574E: _ecore_idle_enterer_call 
(ecore_idle_enterer.c:174)
==22088==by 0x8F7A05B: _ecore_main_loop_iterate_internal 
(ecore_main.c:2261)
==22088==by 0x8F784A8: ecore_main_loop_begin (ecore_main.c:1284)
==22088==by 0x4403F6: main (e_main.c:1087)
---
 src/modules/everything/evry.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c
index eed3f8c..87f1d9b 100644
--- a/src/modules/everything/evry.c
+++ b/src/modules/everything/evry.c
@@ -989,6 +989,8 @@ static void
 _evry_window_free(Evry_Window *win)
 {
evas_event_freeze(win->evas);
+   evas_object_event_callback_del(e_win_client_get(win->ewin)->frame,
+ EVAS_CALLBACK_SHOW, (Evas_Object_Event_Cb)_evry_cb_show);
evas_object_del(win->ewin);
free(win);
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 03/140: don't add render update during ignored damage on deleted clients

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 40ebd1d16ef69dc14d626ed5847e7906a4e9f66a
Author: Mike Blumenkrantz 
Date:   Wed Mar 9 15:27:59 2016 -0500

don't add render update during ignored damage on deleted clients

ref 1507f815a540df8c55b9dec88fe378ed6834879f
---
 src/bin/e_comp_object.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index d31c17f..5a0f761 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3303,7 +3303,8 @@ e_comp_object_damage(Evas_Object *obj, int x, int y, int 
w, int h)
if (cw->updates_full)
  {
 RENDER_DEBUG("IGNORED %p: %d,%d %dx%d", cw->ec, x, y, w, h);
-e_comp_object_render_update_add(obj);
+if (!e_object_is_del(E_OBJECT(cw->ec)))
+  e_comp_object_render_update_add(obj);
 return;
  }
/* clip rect to client surface */

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 04/140: check returned pixmap size before attempting to create updates tiler

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit ec9776e5eb937746d7f9d53c3c36d13b6b9fd265
Author: Mike Blumenkrantz 
Date:   Thu Mar 10 11:57:11 2016 -0500

check returned pixmap size before attempting to create updates tiler

CID 1349419
---
 src/bin/e_comp_object.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 5a0f761..f0f4a44 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -304,6 +304,7 @@ _e_comp_object_updates_init(E_Comp_Object *cw)
pw = cw->ec->client.w, ph = cw->ec->client.h;
if ((!pw) || (!ph))
  e_pixmap_size_get(cw->ec->pixmap, &pw, &ph);
+   if ((!pw) || (!ph)) return;
cw->updates = eina_tiler_new(pw, ph);
if (cw->updates)
  eina_tiler_tile_size_set(cw->updates, 1, 1);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 05/140: Fix wayland hide for internal windows

2016-04-26 Thread Derek Foreman
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit ba88768344b3e1a213ae61f1e933b27792f90f19
Author: Derek Foreman 
Date:   Thu Mar 10 11:11:20 2016 -0600

Fix wayland hide for internal windows

We need to make sure we drop reference on all exit paths through the
hide callback - somehow this only seemed to break internal windows.

ref 65166c5a36669a2f903b24d9d91166308c103a17
---
 src/bin/e_comp_wl.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 0e7879c..e5be0e4 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -140,9 +140,13 @@ _e_comp_wl_evas_cb_hide(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj EIN
 
if (!e_object_is_del(E_OBJECT(ec))) return;
 
-   e_comp_object_dirty(ec->frame);
e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
-   if (!e_comp_object_render(ec->frame)) return;
+   e_comp_object_dirty(ec->frame);
+   if (!e_comp_object_render(ec->frame))
+ {
+e_object_unref(E_OBJECT(ec));
+return;
+ }
if (!ec->on_post_updates)
  {
 ec->on_post_updates = EINA_TRUE;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 01/140: unify client e_hints window size setting in move/resize callbacks

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit af46fe819014d5198bca1fdb2fd4b59446640340
Author: Mike Blumenkrantz 
Date:   Tue Mar 8 17:05:57 2016 -0500

unify client e_hints window size setting in move/resize callbacks
---
 src/bin/e_client.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 3daf625..7c5a7cb 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1460,6 +1460,8 @@ _e_client_cb_evas_move(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UN
if (ec->moving || (ecmove == ec))
  _e_client_hook_call(E_CLIENT_HOOK_MOVE_UPDATE, ec);
e_remember_update(ec);
+   if (ec->fullscreen || (ec->maximized & E_MAXIMIZE_DIRECTION))
+ e_hints_window_size_set(ec);
ec->pre_cb.x = x; ec->pre_cb.y = y;
 }
 
@@ -1500,6 +1502,8 @@ _e_client_cb_evas_resize(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_
if (e_client_util_resizing_get(ec) || (ecresize == ec))
  _e_client_hook_call(E_CLIENT_HOOK_RESIZE_UPDATE, ec);
e_remember_update(ec);
+   if (ec->fullscreen || (ec->maximized & E_MAXIMIZE_DIRECTION))
+ e_hints_window_size_set(ec);
ec->pre_cb.w = w; ec->pre_cb.h = h;
 }
 
@@ -3752,7 +3756,6 @@ e_client_maximize(E_Client *ec, E_Maximize max)
  }
 
ec->saved.zone = ec->zone->num;
-   e_hints_window_size_set(ec);
 
_e_client_maximize(ec, max);
 
@@ -3872,7 +3875,6 @@ e_client_unmaximize(E_Client *ec, E_Maximize max)
   evas_object_smart_callback_call(ec->frame, "unmaximize", 
NULL);
   e_client_resize_limit(ec, &w, &h);
   e_client_util_move_resize_without_frame(ec, x, y, w, h);
-  e_hints_window_size_set(ec);
}
  if (vert)
ec->saved.h = ec->saved.y = 0;
@@ -3933,7 +3935,6 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
 ec->saved.w = w;
 ec->saved.h = h;
  }
-   e_hints_window_size_set(ec);
 
ec->saved.layer = ec->layer;
if (!e_config->allow_above_fullscreen)

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 12/140: remove eldbus init/shutdown calls from the codebase

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 69655795b142b772fbd5db5816d429a8d2a6c004
Author: Mike Blumenkrantz 
Date:   Fri Mar 11 13:53:42 2016 -0500

remove eldbus init/shutdown calls from the codebase

this is handled by e_msgbus
---
 src/bin/e_notification.c   | 2 --
 src/bin/e_sys.c| 2 --
 src/modules/appmenu/e_mod_main.c   | 2 --
 src/modules/battery/e_mod_upower.c | 2 --
 src/modules/bluez4/ebluez4.c   | 3 ---
 src/modules/connman/e_mod_main.c   | 2 --
 src/modules/fileman/e_mod_dbus.c   | 2 --
 src/modules/music-control/e_mod_main.c | 2 --
 src/modules/packagekit/e_mod_packagekit.c  | 2 --
 src/modules/systray/e_mod_notifier_host_dbus.c | 2 --
 src/modules/wizard/page_110.c  | 5 -
 11 files changed, 26 deletions(-)

diff --git a/src/bin/e_notification.c b/src/bin/e_notification.c
index 08883c8..305b5b7 100644
--- a/src/bin/e_notification.c
+++ b/src/bin/e_notification.c
@@ -193,7 +193,6 @@ e_notification_server_register(const 
E_Notification_Server_Info *server_info, E_
n_data = calloc(1, sizeof(Notification_Data));
EINA_SAFETY_ON_NULL_RETURN_VAL(n_data, EINA_FALSE);
 
-   eldbus_init();
n_data->conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SESSION);
n_data->iface = eldbus_service_interface_register(n_data->conn, PATH, 
&desc);
n_data->notify_cb = n_cb;
@@ -212,7 +211,6 @@ e_notification_server_unregister(void)
EINA_SAFETY_ON_NULL_RETURN(n_data);
eldbus_service_interface_unregister(n_data->iface);
eldbus_connection_unref(n_data->conn);
-   eldbus_shutdown();
free(n_data);
n_data = NULL;
 }
diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c
index cddd4e4..481e55b 100644
--- a/src/bin/e_sys.c
+++ b/src/bin/e_sys.c
@@ -176,7 +176,6 @@ e_sys_init(void)
Eldbus_Connection *conn;
Eldbus_Object *obj;
 
-   eldbus_init();
conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM);
obj = eldbus_object_get(conn, "org.freedesktop.login1",
"/org/freedesktop/login1");
@@ -222,7 +221,6 @@ e_sys_shutdown(void)
 close(_e_sys_systemd_inhibit_fd);
 _e_sys_systemd_inhibit_fd = -1;
  }
-   eldbus_shutdown();
return 1;
 }
 
diff --git a/src/modules/appmenu/e_mod_main.c b/src/modules/appmenu/e_mod_main.c
index bac9de0..7f29c17 100644
--- a/src/modules/appmenu/e_mod_main.c
+++ b/src/modules/appmenu/e_mod_main.c
@@ -165,7 +165,6 @@ e_modapi_init(E_Module *m)
 
appmenu_module = m;
 
-   eldbus_init();
ctxt->conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SESSION);
 
event = ecore_event_handler_add(E_EVENT_CLIENT_FOCUS_IN, cb_focus_in, ctxt);
@@ -200,7 +199,6 @@ e_modapi_shutdown(E_Module *m)
 
appmenu_dbus_registrar_server_shutdown(ctxt);
eldbus_connection_unref(ctxt->conn);
-   eldbus_shutdown();
free(ctxt);
return 1;
 }
diff --git a/src/modules/battery/e_mod_upower.c 
b/src/modules/battery/e_mod_upower.c
index 8fd85fc..8ae4431 100644
--- a/src/modules/battery/e_mod_upower.c
+++ b/src/modules/battery/e_mod_upower.c
@@ -310,7 +310,6 @@ _battery_upower_start(void)
 {
Eldbus_Object *obj;
 
-   eldbus_init();
conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM);
EINA_SAFETY_ON_NULL_RETURN_VAL(conn, 0);
 
@@ -348,5 +347,4 @@ _battery_upower_stop(void)
eldbus_proxy_unref(upower_proxy);
eldbus_object_unref(obj);
eldbus_connection_unref(conn);
-   eldbus_shutdown();
 }
diff --git a/src/modules/bluez4/ebluez4.c b/src/modules/bluez4/ebluez4.c
index b7891d3..9b8252d 100644
--- a/src/modules/bluez4/ebluez4.c
+++ b/src/modules/bluez4/ebluez4.c
@@ -739,8 +739,6 @@ ebluez4_eldbus_init(void)
 
ctxt = calloc(1, sizeof(Context));
 
-   eldbus_init();
-
ctxt->conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM);
obj = eldbus_object_get(ctxt->conn, BLUEZ_BUS, MANAGER_PATH);
ctxt->man_proxy = eldbus_proxy_get(obj, MANAGER_INTERFACE);
@@ -768,7 +766,6 @@ ebluez4_eldbus_shutdown(void)
eldbus_connection_unref(ctxt->conn);
free(ctxt);
 
-   eldbus_shutdown();
 }
 
 void
diff --git a/src/modules/connman/e_mod_main.c b/src/modules/connman/e_mod_main.c
index 39395b4..48ab73e 100644
--- a/src/modules/connman/e_mod_main.c
+++ b/src/modules/connman/e_mod_main.c
@@ -635,7 +635,6 @@ e_modapi_init(E_Module *m)
ctxt = E_NEW(E_Connman_Module_Context, 1);
if (!ctxt)
  goto error_connman_context;
-   eldbus_init();
c = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM);
if (!c)
  goto error_dbus_bus_get;
@@ -683,7 +682,6 @@ e_modapi_shutdown(E_Module *m)
  return 0;
 
e_connman_system_shutdown();
-   eldbus_shutdown();
 
_econnman_instances_free(ctxt);
_econnman_configure_registry_unregister();
diff --git a/src/modules/fileman/e_mod_dbu

[EGIT] [core/enlightenment] enlightenment-0.20 08/140: make wayland client keyboard focus list pruning more robust

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 67153a06a2243e470cab7e75578aedc4a9c7866d
Author: Mike Blumenkrantz 
Date:   Thu Mar 10 15:18:47 2016 -0500

make wayland client keyboard focus list pruning more robust

this should handle all possible cases where focused keyboard resources
need to be removed from the global list
---
 src/bin/e_comp_wl.c | 49 +++--
 1 file changed, 31 insertions(+), 18 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 6653ba8..3b8a466 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -516,40 +516,52 @@ _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj
 }
 
 static void
-_e_comp_wl_evas_cb_focus_out(void *data, Evas *evas EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *event EINA_UNUSED)
+_e_comp_wl_keyboard_leave(E_Client *ec)
 {
-   E_Client *ec = data;
struct wl_resource *res;
+   struct wl_client *wc;
+   Eina_List *l, *ll;
uint32_t serial, *k;
double t;
 
-   E_FREE_FUNC(ec->comp_data->on_focus_timer, ecore_timer_del);
-
-   /* lower client priority */
-   if (!e_object_is_del(data))
- _e_comp_wl_client_priority_normal(ec);
-
-   if (!ec->comp_data->surface) return;
-
if (!eina_list_count(e_comp_wl->kbd.resources)) return;
+   if (!ec->comp_data) return;
+   if (!ec->comp_data->surface) return;
 
-   /* send keyboard_leave to all keyboard resources */
-   if (!e_object_is_del(data))
+   wc = wl_resource_get_client(ec->comp_data->surface);
+   if (!e_object_is_del(E_OBJECT(ec)))
  {
 serial = wl_display_next_serial(e_comp_wl->wl.disp);
 t = ecore_time_unix_get();
  }
-   EINA_LIST_FREE(e_comp_wl->kbd.focused, res)
+   EINA_LIST_FOREACH_SAFE(e_comp_wl->kbd.focused, l, ll, res)
  {
-if (e_object_is_del(data)) continue;
-wl_array_for_each(k, &e_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 (wl_resource_get_client(res) != wc) continue;
+if (!e_object_is_del(E_OBJECT(ec)))
+  {
+ wl_array_for_each(k, &e_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);
+  }
+e_comp_wl->kbd.focused = eina_list_remove_list(e_comp_wl->kbd.focused, 
l);
  }
 }
 
 static void
+_e_comp_wl_evas_cb_focus_out(void *data, Evas *evas EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *event EINA_UNUSED)
+{
+   E_Client *ec = data;
+
+   E_FREE_FUNC(ec->comp_data->on_focus_timer, ecore_timer_del);
+
+   /* lower client priority */
+   if (!e_object_is_del(data))
+ _e_comp_wl_client_priority_normal(ec);
+   _e_comp_wl_keyboard_leave(ec);
+}
+
+static void
 _e_comp_wl_evas_cb_restack(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
 {
E_Client *sec, *ec = data;
@@ -2251,6 +2263,7 @@ _e_comp_wl_client_cb_del(void *data EINA_UNUSED, E_Client 
*ec)
 ec->parent->lock_close = EINA_FALSE;
 ec->parent->modal = NULL;
  }
+   _e_comp_wl_keyboard_leave(ec);
 
wl_signal_emit(&ec->comp_data->destroy_signal, &ec->comp_data->surface);
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 13/140: redo wizard's gl testing mechanism

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 3c5ce6a9d5bc00706e10e57940795ac33a3aca2d
Author: Mike Blumenkrantz 
Date:   Fri Mar 11 14:58:19 2016 -0500

redo wizard's gl testing mechanism

Xorg.$.log is not a reliable source of information for a variety of reasons,
using the readily-available evasgl is much safer and more portable
---
 src/modules/wizard/page_150.c | 77 +++
 1 file changed, 12 insertions(+), 65 deletions(-)

diff --git a/src/modules/wizard/page_150.c b/src/modules/wizard/page_150.c
index 5e89dfc..cf4ba08 100644
--- a/src/modules/wizard/page_150.c
+++ b/src/modules/wizard/page_150.c
@@ -1,88 +1,35 @@
 /* Ask about compositing */
 #include "e_wizard.h"
+#include 
 
 static int do_gl = 0;
 static int do_vsync = 0;
 static int disable_effects = 0;
-static Eina_Bool gl_avail = EINA_FALSE;
 
-static int
-match_file_glob(FILE *f, const char *globbing)
-{
-   char buf[32768];
-   int found = 0;
-
-   while (fgets(buf, sizeof(buf), f))
- {
-if (e_util_glob_match(buf, globbing))
-  {
- found = 1;
- break;
-  }
- }
-   fclose(f);
-   return found;
-}
-
-static int
-match_xorg_log(const char *globbing)
-{
-   FILE *f;
-   int i;
-   char buf[PATH_MAX];
-
-   for (i = 0; i < 5; i++)
- {
-snprintf(buf, sizeof(buf), "/var/log/Xorg.%i.log", i);
-f = fopen(buf, "rb");
-if (f)
-  {
- if (match_file_glob(f, globbing)) return 1;
-  }
- }
-   return 0;
-}
 
 E_API int
 wizard_page_show(E_Wizard_Page *pg)
 {
Evas_Object *o, *of, *ob;
-   Ecore_Evas *ee;
-
-#ifndef HAVE_WAYLAND_ONLY
-   Ecore_X_Window_Attributes att;
-
-   if (!ecore_x_composite_query()) return 0;
-   if (!ecore_x_damage_query()) return 0;
-
-   memset((&att), 0, sizeof(Ecore_X_Window_Attributes));
-   ecore_x_window_attributes_get(ecore_x_window_root_first_get(), &att);
-   if ((att.depth <= 8)) return 0;
-
-   gl_avail = 
ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_OPENGL_X11);
-#endif
 
o = e_widget_list_add(pg->evas, 1, 0);
e_wizard_title_set(_("Compositing"));
 
 
of = e_widget_framelist_add(pg->evas, _("Settings"), 0);
-   if (gl_avail)
+   if (e_comp->gl)
  {
-ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 320, 240);
-if (ee)
+Evas_GL *gl;
+
+gl = evas_gl_new(e_comp->evas);
+if (gl)
   {
- ecore_evas_free(ee);
- if (
-   (match_xorg_log("*(II)*NVIDIA*: Creating default Display*")) ||
-   (match_xorg_log("*(II)*intel*: Creating default Display*")) ||
-   (match_xorg_log("*(II)*NOUVEAU*: Creating default Display*")) ||
-   (match_xorg_log("*(II)*RADEON*: Creating default Display*"))
-   )
-   {
-  do_gl = 1;
-  do_vsync = 1;
-   }
+ const char *str;
+ Evas_GL_API *glapi = evas_gl_api_get(gl);
+ str = (char*)glapi->glGetString(GL_RENDERER);
+ if (str && (!strcasestr(str, "llvmpipe")))
+   do_gl = do_vsync = 1;
+ evas_gl_free(gl);
   }
 ob = e_widget_check_add(pg->evas, _("Hardware Accelerated (OpenGL)"), 
&(do_gl));
 e_widget_framelist_object_append(of, ob);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 21/140: add workaround for xwayland client bug

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 3829f2c10cad1a2b1254dcdabd6b3cf0a533afff
Author: Mike Blumenkrantz 
Date:   Sat Mar 12 15:43:39 2016 -0500

add workaround for xwayland client bug

sigh
---
 src/bin/e_comp_x.c | 16 +++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 9076866..c2f8bc0 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2175,7 +2175,21 @@ _e_comp_x_message(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event_Cl
 if (res)
   wc = wl_resource_get_user_data(res);
 if (wc)
-  e_comp_x_xwayland_client_setup(ec, wc);
+  {
+ if (wc->internal)
+   {
+  e_object_del(E_OBJECT(wc));
+  e_object_del(E_OBJECT(ec));
+  /* this is an xwayland bug. somehow the wrong surface is 
being passed
+   * and it's an internal surface--internal surfaces are NEVER
+   * xwayland clients.
+   *
+   * ever.
+   */
+  return ECORE_CALLBACK_RENEW;
+   }
+ e_comp_x_xwayland_client_setup(ec, wc);
+  }
 else
   {
  ec->comp_data->surface_id = ev->data.l[0];

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 19/140: calling dirty() on a comp object for a deleted client should not print an error

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit a30d043089a5114341b6207067d5b1d711a116d6
Author: Mike Blumenkrantz 
Date:   Sat Mar 12 15:37:10 2016 -0500

calling dirty() on a comp object for a deleted client should not print an 
error
---
 src/bin/e_comp_object.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index c2794b2..0b97426 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3641,7 +3641,8 @@ e_comp_object_dirty(Evas_Object *obj)
  }
if (!dirty)
  {
-ERR("ERROR FETCHING PIXMAP FOR %p", cw->ec);
+if (!e_object_is_del(E_OBJECT(cw->ec)))
+  ERR("ERROR FETCHING PIXMAP FOR %p", cw->ec);
 return;
  }
e_comp_object_native_surface_set(obj, e_comp->gl);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 18/140: always send wl key releases if surface still exists

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 5bfcd6dd9863bc28249ee34028714bbecfd0c2f7
Author: Mike Blumenkrantz 
Date:   Sat Mar 12 12:40:39 2016 -0500

always send wl key releases if surface still exists

fixes stuck keys for wl_clients with multiple surfaces
---
 src/bin/e_comp_wl.c | 18 ++
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 695f5e9..55e71f1 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -529,21 +529,15 @@ _e_comp_wl_keyboard_leave(E_Client *ec)
if (!ec->comp_data->surface) return;
 
wc = wl_resource_get_client(ec->comp_data->surface);
-   if (!e_object_is_del(E_OBJECT(ec)))
- {
-serial = wl_display_next_serial(e_comp_wl->wl.disp);
-t = ecore_time_unix_get();
- }
+   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;
-if (!e_object_is_del(E_OBJECT(ec)))
-  {
- wl_array_for_each(k, &e_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);
-  }
+wl_array_for_each(k, &e_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);
 e_comp_wl->kbd.focused = eina_list_remove_list(e_comp_wl->kbd.focused, 
l);
  }
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 11/140: remove library checks for a number of modules along with useless defines

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 5ef356b39f94516d901f05649bf0624120c59d10
Author: Mike Blumenkrantz 
Date:   Fri Mar 11 13:46:10 2016 -0500

remove library checks for a number of modules along with useless defines

most of these date back from before efl was a unified tree or enlightenment 
itself
could be optionally built with things like dbus support
---
 configure.ac | 115 +++
 src/modules/Makefile_battery.mk  |   7 +-
 src/modules/Makefile_bluez4.mk   |   2 +-
 src/modules/Makefile_connman.mk  |   2 +-
 src/modules/Makefile_music_control.mk|   2 +-
 src/modules/Makefile_notification.mk |   2 +-
 src/modules/Makefile_temperature.mk  |   2 +-
 src/modules/Makefile_wizard.mk   |   3 -
 src/modules/Makefile_wl_desktop_shell.mk |   4 +-
 src/modules/Makefile_wl_drm.mk   |   2 +-
 src/modules/Makefile_wl_fb.mk|   2 +-
 src/modules/Makefile_wl_text_input.mk|   2 +-
 src/modules/Makefile_wl_weekeyboard.mk   |   3 +-
 src/modules/Makefile_wl_wl.mk|   2 +-
 src/modules/battery/e_mod_config.c   |  12 
 src/modules/battery/e_mod_main.c |  13 +---
 src/modules/battery/e_mod_main.h |   2 -
 src/modules/wizard/page_110.c|   9 +--
 18 files changed, 41 insertions(+), 145 deletions(-)

diff --git a/configure.ac b/configure.ac
index ef0b8de..677c14c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -587,19 +587,13 @@ EFL_WITH_BIN([eldbus], [eldbus_codegen], [eldbus-codegen])
 
 AC_DEFINE(E_INTERNAL, 1, "This define can be used to wrap internal E stuff, as 
config.h isn't exported")
 
-AM_CONDITIONAL(HAVE_BATTERY, false)
-define([CHECK_MODULE_BATTERY],
-[
-  AC_E_CHECK_PKG(BATTERY, [ ecore >= $efl_version ecore-file >= $efl_version 
ecore-con >= $efl_version eina >= $efl_version ], [], [BATTERY=false])
-])
-
 have_openbsd="no"
 have_freebsd="no"
 BATTERY_LDFLAGS=
 case "$host_os" in
   darwin*)
 BATTERY_LDFLAGS="${cf_libs}"
-BATTERY_CFLAGS="${BATTERY_CFLAGS} ${cf_cflags}"
+BATTERY_CFLAGS="${cf_cflags}"
   ;;
   openbsd*)
 have_openbsd="yes"
@@ -609,22 +603,11 @@ case "$host_os" in
   ;;
 esac
 
+AC_SUBST([BATTERY_CFLAGS])
 AC_SUBST([BATTERY_LDFLAGS])
 AM_CONDITIONAL([HAVE_OPENBSD], [test "x${have_openbsd}" = "xyes"])
 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
 
-AM_CONDITIONAL(HAVE_TEMPERATURE, false)
-define([CHECK_MODULE_TEMPERATURE],
-[
-  AC_E_CHECK_PKG(TEMPERATURE, [ ecore >= $efl_version ecore-file >= 
$efl_version eina >= $efl_version ], [], [TEMPERATURE=false])
-])
-
-AM_CONDITIONAL(HAVE_MUSIC_CONTROL, false)
-define([CHECK_MODULE_MUSIC_CONTROL],
-[
-  AC_E_CHECK_PKG(MUSIC_CONTROL, [ ecore >= $efl_version eina >= $efl_version 
eldbus ], [], [MUSIC_CONTROL=false])
-])
-
 ##have_exchange=no
 ##AC_ARG_ENABLE(exchange,
 ##  AS_HELP_STRING([--disable-exchange], [disable Exchange support 
@<:@default=detect@:>@]),
@@ -643,38 +626,6 @@ AM_CONDITIONAL(HAVE_EXCHANGE, false)
 ##])
 
 
-have_enotify=no
-AM_CONDITIONAL([HAVE_ENOTIFY], [false])
-AC_ARG_ENABLE([enotify],
-  AS_HELP_STRING([--disable-enotify], [disable Enotify support 
@<:@default=detect@:>@]),
-  [e_cv_want_enotify=$enableval],
-  AC_CACHE_VAL([e_cv_want_enotify], [e_cv_want_enotify=yes])
-)
-if test "x$e_cv_want_enotify" != "xno" ; then
-  AC_E_CHECK_PKG(ENOTIFY, [ eldbus >= $efl_version ],
-  [
-AC_DEFINE_UNQUOTED([HAVE_ENOTIFY], [1], [enable enotify])
-  ], 
-  [
-AC_MSG_NOTICE([enotify disabled])
-e_cv_want_enotify=no
-  ])
-else
-  AC_MSG_NOTICE([enotify disabled])
-e_cv_want_enotify=no
-fi
-AC_SUBST([ENOTIFY_CFLAGS])
-AC_SUBST([ENOTIFY_LIBS])
-
-AM_CONDITIONAL(HAVE_NOTIFICATION, false)
-define([CHECK_MODULE_NOTIFICATION],
-[
-  if test "x$e_cv_want_enotify" = "xno" ; then
-NOTIFICATION=false
-  fi
-])
-
-
 AM_CONDITIONAL(HAVE_ALSA, false)
 AM_CONDITIONAL(HAVE_PULSE, false)
 define([CHECK_MODULE_MIXER],
@@ -714,25 +665,6 @@ AC_SUBST(SHM_OPEN_LIBS)
 AC_SUBST([SOUND_CFLAGS])
 AC_SUBST([SOUND_LIBS])
 
-AM_CONDITIONAL(HAVE_ECONNMAN, false)
-AM_CONDITIONAL(HAVE_DUMMY, false)
-define([CHECK_MODULE_CONNMAN],
-[
-  AC_E_CHECK_PKG(ECONNMAN, [ eldbus >= $efl_version ], [], [CONNMAN=false])
-dnl  AC_E_CHECK_PKG(DUMMY, [ connman >= 1.0 ], [], [CONNMAN=false])
-])
-AC_SUBST([ECONNMAN_CFLAGS])
-AC_SUBST([ECONNMAN_LIBS])
-
-AM_CONDITIONAL(HAVE_BLUEZ4, false)
-AM_CONDITIONAL(HAVE_DUMMY, false)
-define([CHECK_MODULE_BLUEZ4],
-[
-  AC_E_CHECK_PKG(BLUEZ4, [ eldbus ],)
-])
-AC_SUBST([EBLUEZ4_CFLAGS])
-AC_SUBST([EBLUEZ4_LIBS])
-
 have_wayland_egl=no
 AC_ARG_ENABLE([wayland-egl],
   AS_HELP_STRING([--enable-wayland-egl],[enable wayland to render using EGL 
@<:@default=disabled@:>@]),
@@ -745,6 +677,7 @@ if test "x${e_cv_want_wayland_only}" != "xno" ;then
   PKG_CHECK_MODULES([WAYLAND], [ecore-wl2 wa

[EGIT] [core/enlightenment] enlightenment-0.20 16/140: break out xwl init/shutdown into static functions for reuse internally

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 29f4c33e06dd8bacdb90bd284cfbb2183968ba59
Author: Mike Blumenkrantz 
Date:   Sat Mar 12 11:15:42 2016 -0500

break out xwl init/shutdown into static functions for reuse internally

calling modapi functions like this causes symbol collision and randomly
calls corresponding functions for other modules
---
 src/modules/xwayland/e_mod_main.c | 36 +++-
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index 5f28e1e..17e1f23 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -8,9 +8,9 @@
 
 EINTERN void dnd_init(void);
 EINTERN void dnd_shutdown(void);
-E_API int e_modapi_shutdown(E_Module *m EINA_UNUSED);
 
-E_API void *e_modapi_init(E_Module *m);
+static E_Module *xwl_init(E_Module *m);
+static void xwl_shutdown(void);
 
 /* local structures */
 typedef struct _E_XWayland_Server E_XWayland_Server;
@@ -259,8 +259,8 @@ static void
 xwayland_fatal(void *d EINA_UNUSED)
 {
/* on xwayland fatal, attempt to restart it */
-   e_modapi_shutdown(NULL);
-   e_modapi_init(NULL);
+   xwl_shutdown();
+   xwl_init(NULL);
 }
 
 static void
@@ -343,11 +343,8 @@ error_dialog()
return EINA_FALSE;
 }
 
-/* module functions */
-E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "XWayland" };
-
-E_API void *
-e_modapi_init(E_Module *m)
+static E_Module *
+xwl_init(E_Module *m)
 {
char disp[8];
 
@@ -417,16 +414,15 @@ e_modapi_init(E_Module *m)
/* setup listener for SIGUSR1 */
exs->sig_hdlr = 
  ecore_event_handler_add(ECORE_EVENT_SIGNAL_USER, _cb_signal_event, exs);
-
return m;
 }
 
-E_API int 
-e_modapi_shutdown(E_Module *m EINA_UNUSED)
+static void
+xwl_shutdown(void)
 {
char path[256];
 
-   if (!exs) return 1;
+   if (!exs) return;
dnd_shutdown();
 
unlink(exs->lock);
@@ -444,6 +440,20 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
 
free(exs);
e_util_env_set("DISPLAY", NULL);
+}
 
+/* module functions */
+E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "XWayland" };
+
+E_API void *
+e_modapi_init(E_Module *m)
+{
+   return xwl_init(m);
+}
+
+E_API int 
+e_modapi_shutdown(E_Module *m EINA_UNUSED)
+{
+   xwl_shutdown();
return 1;
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 10/140: Free pixel data after taking a wayland screen shot

2016-04-26 Thread Derek Foreman
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit f6c71b781db265f4341e3f7ae63edf623af672d2
Author: Derek Foreman 
Date:   Thu Mar 10 18:17:19 2016 -0600

Free pixel data after taking a wayland screen shot
---
 src/bin/e_comp_wl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 3b8a466..c2c3443 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2170,6 +2170,7 @@ _e_comp_wl_screenshooter_cb_shoot(struct wl_client 
*client EINA_UNUSED, struct w
wl_shm_buffer_begin_access(shm_buffer);
memcpy(d, pixels, buffer->h * stride);
wl_shm_buffer_end_access(shm_buffer);
+   free(pixels);
 
screenshooter_send_done(resource);
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 09/140: Fix internal window borders on 32-bit computers

2016-04-26 Thread Derek Foreman
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit f56bbf6e1afd1c61a25d9cb1095c24789f7ce3f5
Author: Derek Foreman 
Date:   Thu Mar 10 15:42:59 2016 -0600

Fix internal window borders on 32-bit computers

Our wayland window ids are 64 bit integers, we need to be careful
about the data type on 32-bit machines where pointers are smaller
than this.
---
 src/bin/e_pixmap.c | 2 +-
 src/bin/e_win.c| 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index 555d4e7..c429d81 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -238,7 +238,7 @@ _e_pixmap_find(E_Pixmap_Type type, va_list *l)
Ecore_X_Window xwin;
 #endif
 #ifdef HAVE_WAYLAND
-   intptr_t id;
+   int64_t id;
 #endif
E_Pixmap *cp;

diff --git a/src/bin/e_win.c b/src/bin/e_win.c
index 51c21a4..018a887 100644
--- a/src/bin/e_win.c
+++ b/src/bin/e_win.c
@@ -71,7 +71,7 @@ _e_elm_win_trap_show(void *data, Evas_Object *o)
 E_Client *ec;
 Ecore_Window win;
 #ifdef HAVE_WAYLAND
-uintptr_t wl_win_id;
+int64_t wl_win_id;
 #endif
 E_Pixmap_Type type = E_PIXMAP_TYPE_X;
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 20/140: remove direct references to ec->comp_data in x11 compositor

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 47143ab35a173377153f9c242437f9014f862bab
Author: Mike Blumenkrantz 
Date:   Sat Mar 12 15:41:50 2016 -0500

remove direct references to ec->comp_data in x11 compositor

this fixes a number of xwayland client issues
---
 src/bin/e_comp_x.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 5e1e6c0..9076866 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -975,10 +975,10 @@ _e_comp_x_client_hide(E_Client *ec)
if ((!ec->iconic) && (!ec->override))
  ecore_x_window_prop_card32_set(e_client_util_win_get(ec), E_ATOM_MAPPED, 
&visible, 1);
 
-   ec->comp_data->iconic = ec->iconic && 
(!e_comp_object_mirror_visibility_check(ec->frame));
-   if (ec->unredirected_single || ec->comp_data->iconic)
+   _e_comp_x_client_data_get(ec)->iconic = ec->iconic && 
(!e_comp_object_mirror_visibility_check(ec->frame));
+   if (ec->unredirected_single || _e_comp_x_client_data_get(ec)->iconic)
  ecore_x_window_hide(_e_comp_x_client_window_get(ec));
-   if (ec->comp_data->iconic)
+   if (_e_comp_x_client_data_get(ec)->iconic)
  e_hints_window_iconic_set(ec);
 }
 
@@ -1010,11 +1010,11 @@ _e_comp_x_client_show(E_Client *ec)
ecore_x_window_shadow_tree_flush();
if (!_e_comp_x_client_data_get(ec)->need_reparent)
  ecore_x_window_show(win);
-   if (ec->unredirected_single || ec->comp_data->iconic)
+   if (ec->unredirected_single || _e_comp_x_client_data_get(ec)->iconic)
  {
 e_pixmap_clear(ec->pixmap);
 ecore_x_window_show(_e_comp_x_client_window_get(ec));
-ec->comp_data->iconic = 0;
+_e_comp_x_client_data_get(ec)->iconic = 0;
  }
if (!ec->override)
  e_hints_window_visible_set(ec);
@@ -1183,7 +1183,7 @@ _e_comp_x_evas_mirror_hidden(void *data, Evas_Object *obj 
EINA_UNUSED, void *eve
E_Client *ec = data;
 
if (!_e_comp_x_client_data_get(ec)) return;
-   if ((!ec->iconic) || (!ec->comp_data->iconic)) return;
+   if ((!ec->iconic) || (!_e_comp_x_client_data_get(ec)->iconic)) return;
_e_comp_x_client_hide(ec);
 }
 
@@ -1193,7 +1193,7 @@ _e_comp_x_evas_mirror_visible(void *data, Evas_Object 
*obj EINA_UNUSED, void *ev
E_Client *ec = data;
 
if (!_e_comp_x_client_data_get(ec)) return;
-   if ((!ec->iconic) || ec->comp_data->iconic) return;
+   if ((!ec->iconic) || _e_comp_x_client_data_get(ec)->iconic) return;
_e_comp_x_client_show(ec);
 }
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 15/140: don't add render updates for deleted clients on failed resize

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 5600aa605af7186ee0e8c831f98a05380a061042
Author: Mike Blumenkrantz 
Date:   Fri Mar 11 18:15:28 2016 -0500

don't add render updates for deleted clients on failed resize
---
 src/bin/e_comp_object.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 6f20a17..c2794b2 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -1124,6 +1124,7 @@ _e_comp_intercept_resize(void *data, Evas_Object *obj, 
int w, int h)
(!e_pixmap_size_get(cw->ec->pixmap, &pw, &ph
  {
 if (e_comp->comp_type != E_PIXMAP_TYPE_X) return;
+if (e_object_is_del(E_OBJECT(cw->ec))) return;
 /* client can't be resized if its pixmap isn't usable, try again */
 e_pixmap_dirty(cw->ec->pixmap);
 e_comp_object_render_update_add(obj);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 25/140: adjust wayland client coords by window_geometry during first surface commit

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 695a3a8d1759921129e436dbc594e36031fc6d1b
Author: Mike Blumenkrantz 
Date:   Tue Mar 15 16:12:05 2016 -0400

adjust wayland client coords by window_geometry during first surface commit

fixes first window positioning
---
 src/bin/e_comp_wl.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index aaa36f7..387206e 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1042,7 +1042,11 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
 if (ec->changes.pos)
   e_comp_object_frame_xy_unadjust(ec->frame, ec->x, ec->y, &x, &y);
 else
-  x = ec->client.x, y = ec->client.y;
+  {
+ x = ec->client.x, y = ec->client.y;
+ if (ec->new_client)
+   x -= ec->comp_data->shell.window.x, y -= 
ec->comp_data->shell.window.y;
+  }
 
 if (ec->new_client) placed = ec->placed;
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 26/140: destroy seat resource when we get a release request

2016-04-26 Thread Chris Michael
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 2e338e944cb131eaa2e663c2871264f0a2d433aa
Author: Chris Michael 
Date:   Wed Mar 16 08:40:41 2016 -0400

destroy seat resource when we get a release request

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

diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index fc7c642..3e1b009 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -238,9 +238,9 @@ _e_comp_wl_input_cb_touch_get(struct wl_client *client 
EINA_UNUSED, struct wl_re
 }
 
 static void
-_e_comp_wl_input_cb_release(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource EINA_UNUSED)
+_e_comp_wl_input_cb_release(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource)
 {
-   /* TODO: implement */
+   wl_resource_destroy(resource);
 }
 
 static const struct wl_seat_interface _e_seat_interface =

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 24/140: unset solid drawing of opaque regions during comp object animations

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit b230940f4f6446c5fe7564abfe8e16f4d5f79d27
Author: Mike Blumenkrantz 
Date:   Mon Mar 14 14:46:37 2016 -0400

unset solid drawing of opaque regions during comp object animations

this makes animations with transparency not look like giant black rectangles
---
 src/bin/e_comp_object.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 82e2834..01ec66d 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -727,6 +727,7 @@ _e_comp_object_animating_begin(E_Comp_Object *cw)
 e_comp->animating++;
 REFD(cw->ec, 2);
 e_object_ref(E_OBJECT(cw->ec));
+evas_object_image_border_center_fill_set(cw->obj, 
EVAS_BORDER_FILL_DEFAULT);
  }
 }
 
@@ -740,6 +741,7 @@ _e_comp_object_animating_end(E_Comp_Object *cw)
   {
  e_comp->animating--;
  cw->showing = 0;
+ evas_object_image_border_center_fill_set(cw->obj, 
EVAS_BORDER_FILL_SOLID);
  UNREFD(cw->ec, 2);
  /* remove ref from animation start, account for possibility of 
deletion from unref */
  return !!e_object_unref(E_OBJECT(cw->ec));

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 17/140: remove maximize_pre flag from wl client comp_data

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 589c1598315e121da2bc2564efb91a34b52d71b6
Author: Mike Blumenkrantz 
Date:   Sat Mar 12 11:18:10 2016 -0500

remove maximize_pre flag from wl client comp_data

this breaks modification of maximized size for surfaces as well as 
animations

fix T3297

partially reverts 0321fd690e6c231d14843785a0308e4e51e2c1e6
---
 src/bin/e_comp_wl.c | 16 +---
 src/bin/e_comp_wl.h |  1 -
 2 files changed, 1 insertion(+), 16 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index c2c3443..695f5e9 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -654,8 +654,7 @@ _e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj 
EINA_UNUSED, void *event
 e_comp_wl->resize.edges,
 x, y);
  }
-   else if ((!ec->fullscreen) && (!ec->maximized) &&
-(!ec->comp_data->maximize_pre))
+   else
  _e_comp_wl_configure_send(ec, 1);
 }
 
@@ -670,15 +669,6 @@ _e_comp_wl_evas_cb_state_update(void *data, Evas_Object 
*obj EINA_UNUSED, void *
 
if (ec->comp_data->shell.configure_send)
  _e_comp_wl_configure_send(ec, 0);
-   ec->comp_data->maximize_pre = 0;
-}
-
-static void
-_e_comp_wl_evas_cb_maximize_pre(void *data, Evas_Object *obj EINA_UNUSED, void 
*event EINA_UNUSED)
-{
-   E_Client *ec = data;
-
-   ec->comp_data->maximize_pre = 1;
 }
 
 static void
@@ -807,10 +797,6 @@ _e_comp_wl_client_evas_init(E_Client *ec)
_e_comp_wl_evas_cb_state_update, ec);
 evas_object_smart_callback_add(ec->frame, "unmaximize_done",
_e_comp_wl_evas_cb_state_update, ec);
-evas_object_smart_callback_add(ec->frame, "maximize_pre",
-   _e_comp_wl_evas_cb_maximize_pre, ec);
-evas_object_smart_callback_add(ec->frame, "unmaximize_pre",
-   _e_comp_wl_evas_cb_maximize_pre, ec);
 evas_object_smart_callback_add(ec->frame, "fullscreen",
_e_comp_wl_evas_cb_state_update, ec);
 evas_object_smart_callback_add(ec->frame, "unfullscreen",
diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index f28fd3f..0819278 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -294,7 +294,6 @@ struct _E_Comp_Wl_Client_Data
Eina_Bool evas_init : 1;
Eina_Bool set_win_type : 1;
Eina_Bool frame_update : 1;
-   Eina_Bool maximize_pre : 1;
Eina_Bool cursor : 1;
 };
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 23/140: do not attempt to resize clients to 0x0 during res restore

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 8d626e490bd6cd589a7d5d6a593c6927d0c0be3b
Author: Mike Blumenkrantz 
Date:   Mon Mar 14 14:04:51 2016 -0400

do not attempt to resize clients to 0x0 during res restore

ACK--
---
 src/bin/e_client.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 7c5a7cb..1794376 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -3117,7 +3117,9 @@ e_client_res_change_geometry_restore(E_Client *ec)
   x = zx + zw - w;
 if ((y + h) > (zy + zh))
   y = zy + zh - h;
-evas_object_geometry_set(ec->frame, x, y, w, h);
+evas_object_move(ec->frame, x, y);
+if (w && h)
+  evas_object_resize(ec->frame, w, h);
  }
memcpy(&ec->pre_res_change, &pre_res_change, sizeof(pre_res_change));
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 32/140: ignore deleted clients when reapplying zone geometry policy in canvas update

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 02c1a2db71a78064abc415cc82b0647ffef5ea7f
Author: Mike Blumenkrantz 
Date:   Thu Mar 17 14:08:23 2016 -0400

ignore deleted clients when reapplying zone geometry policy in canvas update

this breaks the compositor!
---
 src/bin/e_comp_canvas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c
index 15b361f..e620c7a 100644
--- a/src/bin/e_comp_canvas.c
+++ b/src/bin/e_comp_canvas.c
@@ -542,7 +542,7 @@ e_comp_canvas_update(void)
  * rearranges the order. */
 EINA_INLIST_FOREACH(e_comp->layers[i].clients, ec)
   {
- if (!e_client_util_ignored_get(ec))
+ if ((!e_client_util_ignored_get(ec)) && 
(!e_object_is_del(E_OBJECT(ec
tmp = eina_list_append(tmp, ec);
   }
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 27/140: do not reset the wizard got_desktops flag when setting the default system lang

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d9bd88d2f5da27e2a4779e10920a761f0d653ee4
Author: Mike Blumenkrantz 
Date:   Wed Mar 16 12:52:06 2016 -0400

do not reset the wizard got_desktops flag when setting the default system 
lang

this does not trigger any efreet cache rebuilds and will result in the user
being forced to sit through the full duration of the wait timer: currently 
7.0s

this gets triggered multiple times throughout the wizard.

embarrassing.jpg
---
 src/modules/wizard/page_010.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/modules/wizard/page_010.c b/src/modules/wizard/page_010.c
index c4f7c3a..ae2c286 100644
--- a/src/modules/wizard/page_010.c
+++ b/src/modules/wizard/page_010.c
@@ -232,7 +232,8 @@ wizard_page_hide(E_Wizard_Page *pg EINA_UNUSED)
/* TODO:
 * This should be on lang select,
 * so if next page needs xdg we can't press next */
-   e_wizard_xdg_desktops_reset();
+   if (lang)
+ e_wizard_xdg_desktops_reset();
e_intl_language_set(e_config->language);
e_wizard_labels_update();
return 1;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 29/140: reduce wizard connman timeout timer to 0.5s

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit ab0e48d2689706eadd55960ff13a97ade6f9b022
Author: Mike Blumenkrantz 
Date:   Wed Mar 16 14:32:15 2016 -0400

reduce wizard connman timeout timer to 0.5s

dbus is not this slow.
---
 src/modules/wizard/page_110.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/wizard/page_110.c b/src/modules/wizard/page_110.c
index 9ae5e73..0c995cb 100644
--- a/src/modules/wizard/page_110.c
+++ b/src/modules/wizard/page_110.c
@@ -133,7 +133,7 @@ wizard_page_show(E_Wizard_Page *pg)
_check_connman_owner, pg);
 if (connman_timeout)
   ecore_timer_del(connman_timeout);
-connman_timeout = ecore_timer_add(2.0, _connman_fail, pg);
+connman_timeout = ecore_timer_add(0.5, _connman_fail, pg);
 have_connman = EINA_TRUE;
 e_wizard_button_next_enable_set(0);
  }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 22/140: unify client post_updates management code into single function

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d10a03fcb2a39a611988eeca914431d316f172bf
Author: Mike Blumenkrantz 
Date:   Mon Mar 14 12:23:19 2016 -0400

unify client post_updates management code into single function
---
 src/bin/e_comp.c| 10 ++
 src/bin/e_comp.h|  1 +
 src/bin/e_comp_object.c | 12 ++--
 src/bin/e_comp_wl.c | 14 +++---
 4 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 4bce85d..0f9fbf1 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -1422,6 +1422,16 @@ e_comp_render_queue(void)
 }
 
 E_API void
+e_comp_client_post_update_add(E_Client *ec)
+{
+   if (ec->on_post_updates) return;
+   ec->on_post_updates = EINA_TRUE;
+   e_comp->post_updates = eina_list_append(e_comp->post_updates, ec);
+   REFD(ec, 111);
+   e_object_ref(E_OBJECT(ec));
+}
+
+E_API void
 e_comp_shape_queue(void)
 {
if ((e_comp->comp_type != E_PIXMAP_TYPE_X) && (!e_comp_util_has_x())) 
return;
diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h
index 1f4f2d5..c391993 100644
--- a/src/bin/e_comp.h
+++ b/src/bin/e_comp.h
@@ -186,6 +186,7 @@ E_API E_Comp *e_comp_new(void);
 E_API int e_comp_internal_save(void);
 EINTERN int e_comp_shutdown(void);
 E_API void e_comp_render_queue(void);
+E_API void e_comp_client_post_update_add(E_Client *ec);
 E_API void e_comp_shape_queue(void);
 E_API void e_comp_shape_queue_block(Eina_Bool block);
 E_API E_Comp_Config *e_comp_config_get(void);
diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 0b97426..82e2834 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -901,10 +901,7 @@ _e_comp_object_pixels_get(void *data, Evas_Object *obj 
EINA_UNUSED)
if (cw->native)
  {
 E_FREE_FUNC(cw->pending_updates, eina_tiler_free);
-cw->ec->on_post_updates = EINA_TRUE;
-e_comp->post_updates = eina_list_append(e_comp->post_updates, cw->ec);
-REFD(cw->ec, 111);
-e_object_ref(E_OBJECT(cw->ec));
+e_comp_client_post_update_add(cw->ec);
  }
else if (e_comp_object_render(ec->frame))
  {
@@ -3785,12 +3782,7 @@ end:
eina_iterator_free(it);
E_FREE_FUNC(cw->pending_updates, eina_tiler_free);
if (ret)
- {
-cw->ec->on_post_updates = EINA_TRUE;
-e_comp->post_updates = eina_list_append(e_comp->post_updates, cw->ec);
-REFD(cw->ec, 111);
-e_object_ref(E_OBJECT(cw->ec));
- }
+ e_comp_client_post_update_add(cw->ec);
return ret;
 }
 
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 55e71f1..aaa36f7 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -142,17 +142,9 @@ _e_comp_wl_evas_cb_hide(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj EIN
 
e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
e_comp_object_dirty(ec->frame);
-   if (!e_comp_object_render(ec->frame))
- {
-e_object_unref(E_OBJECT(ec));
-return;
- }
-   if (!ec->on_post_updates)
- {
-ec->on_post_updates = EINA_TRUE;
-e_comp->post_updates = eina_list_append(e_comp->post_updates, ec);
- }
-   else e_object_unref(E_OBJECT(ec));
+   if (e_comp_object_render(ec->frame))
+ e_comp_client_post_update_add(ec);
+   e_object_unref(E_OBJECT(ec));
 }
 
 static void

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 28/140: fix stringshare usage in wizard language page (010)

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 4c29688829daff9196e8684bebcc834b3d251458
Author: Mike Blumenkrantz 
Date:   Wed Mar 16 13:01:09 2016 -0400

fix stringshare usage in wizard language page (010)

lang is not stringshared, and if it were then add/ref should always
be called before del
---
 src/modules/wizard/page_010.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/modules/wizard/page_010.c b/src/modules/wizard/page_010.c
index ae2c286..eaeeb00 100644
--- a/src/modules/wizard/page_010.c
+++ b/src/modules/wizard/page_010.c
@@ -227,8 +227,7 @@ wizard_page_hide(E_Wizard_Page *pg EINA_UNUSED)
 {
 //   evas_object_del(pg->data);
 /* special - language inits its stuff the moment it goes away */
-   eina_stringshare_del(e_config->language);
-   e_config->language = eina_stringshare_ref(lang);
+   eina_stringshare_replace(&e_config->language, lang);
/* TODO:
 * This should be on lang select,
 * so if next page needs xdg we can't press next */
@@ -243,8 +242,7 @@ E_API int
 wizard_page_apply(E_Wizard_Page *pg EINA_UNUSED)
 {
// do this again as we want it to apply to the new profile
-   eina_stringshare_del(e_config->language);
-   e_config->language = eina_stringshare_ref(lang);
+   eina_stringshare_replace(&e_config->language, lang);
e_intl_language_set(e_config->language);
e_wizard_labels_update();
return 1;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 30/140: always update saved coords for maximized/fullscreen clients on csd geom update

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit af1fa7e6e15d0273c11667a7ca4b922777e0c71b
Author: Mike Blumenkrantz 
Date:   Thu Mar 17 13:34:24 2016 -0400

always update saved coords for maximized/fullscreen clients on csd geom 
update

this was causing clients to position themselves wrongly in some cases after
removing the related states
---
 src/bin/e_comp_object.c | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 01ec66d..fee6c63 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3008,12 +3008,9 @@ e_comp_object_frame_geometry_set(Evas_Object *obj, int 
l, int r, int t, int b)
  }
else if (cw->ec->maximized || cw->ec->fullscreen)
  {
-if (e_client_has_xwindow(cw->ec))
-  {
- cw->ec->saved.x += l - cw->client_inset.l;
- cw->ec->saved.y += t - cw->client_inset.t;
-  }
-else
+cw->ec->saved.x += l - cw->client_inset.l;
+cw->ec->saved.y += t - cw->client_inset.t;
+if (!e_client_has_xwindow(cw->ec))
   {
  cw->ec->saved.w -= ((l + r) - (cw->client_inset.l + 
cw->client_inset.r));
  cw->ec->saved.h -= ((t + b) - (cw->client_inset.t + 
cw->client_inset.b));

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 35/140: use zone geometry when clamping evry gadget popup to gadget's screen

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit cc8d773dfc4319edeecfff66469d7e2ddd562855
Author: Mike Blumenkrantz 
Date:   Fri Mar 18 13:47:00 2016 -0400

use zone geometry when clamping evry gadget popup to gadget's screen

fix T3238
---
 src/modules/everything/evry_gadget.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/everything/evry_gadget.c 
b/src/modules/everything/evry_gadget.c
index 7c00f83..a59e5b3 100644
--- a/src/modules/everything/evry_gadget.c
+++ b/src/modules/everything/evry_gadget.c
@@ -336,10 +336,10 @@ _gadget_popup_show(Instance *inst)
 break;
  }
 
-   if (px + pw > inst->win->zone->w)
+   if (px + pw > inst->win->zone->x + inst->win->zone->w)
  x = inst->win->zone->w - pw;
 
-   if (py + ph > inst->win->zone->h)
+   if (py + ph > inst->win->zone->y + inst->win->zone->h)
  y = inst->win->zone->h - ph;
 
evas_object_move(ewin, x, y);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 31/140: do not update client coords on csd geom update if it would change the zone

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 57e60ac77bb2f86acecf510df51c7dabef1a3cd5
Author: Mike Blumenkrantz 
Date:   Thu Mar 17 13:35:50 2016 -0400

do not update client coords on csd geom update if it would change the zone

in the case where a client is at 0,0 relative to a zone, changing the coords
in this case will result in the client moving out of the zone by the size 
of the
csd
---
 src/bin/e_comp_object.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index fee6c63..7e174ea 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3020,8 +3020,12 @@ e_comp_object_frame_geometry_set(Evas_Object *obj, int 
l, int r, int t, int b)
  {
 if ((calc || (!e_client_has_xwindow(cw->ec))) && cw->client_inset.calc)
   {
- cw->ec->x -= l - cw->client_inset.l;
- cw->ec->y -= t - cw->client_inset.t;
+ E_Zone *zone = e_comp_object_util_zone_get(obj);
+
+ if (cw->ec->x != zone->x)
+   cw->ec->x -= l - cw->client_inset.l;
+ if (cw->ec->y != zone->y)
+   cw->ec->y -= t - cw->client_inset.t;
   }
 cw->ec->changes.pos = cw->ec->changes.size = 1;
 EC_CHANGED(cw->ec);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 36/140: store (internal) elm win geometry when set prior to showing the win

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d624b4f4e4de12e3415144dc462df4fa8c225ae4
Author: Mike Blumenkrantz 
Date:   Fri Mar 18 13:47:25 2016 -0400

store (internal) elm win geometry when set prior to showing the win

this fixes the case where attempts to manipulate a window would fail
prior to showing the window
---
 src/bin/e_win.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/bin/e_win.c b/src/bin/e_win.c
index 018a887..2e0ba14 100644
--- a/src/bin/e_win.c
+++ b/src/bin/e_win.c
@@ -7,8 +7,10 @@ typedef struct _Elm_Win_Trap_Ctx
 {
E_Client  *client;
E_Pointer *pointer;
+   int x, y, w, h;
Eina_Bool  centered : 1;
Eina_Bool  placed : 1;
+   Eina_Bool  sized : 1;
Eina_Bool  internal_no_remember : 1;
Eina_Bool  internal_no_reopen : 1;
Eina_Bool  visible : 1;
@@ -154,6 +156,8 @@ _e_elm_win_trap_show(void *data, Evas_Object *o)
e_comp_object_frame_xy_adjust(ctx->client->frame, ctx->client->client.x, 
ctx->client->client.y, &ctx->client->x, &ctx->client->y);
e_comp_object_frame_wh_adjust(ctx->client->frame, ctx->client->client.w, 
ctx->client->client.h, &ctx->client->w, &ctx->client->h);
if (ctx->centered) e_comp_object_util_center(ctx->client->frame);
+   else if (ctx->placed) evas_object_move(o, ctx->x, ctx->y);
+   if (ctx->sized) evas_object_resize(o, ctx->w, ctx->h);
return EINA_TRUE;
 }
 
@@ -174,6 +178,7 @@ _e_elm_win_trap_move(void *data, Evas_Object *o, int x, int 
y)
 if ((x == ex) && (y == ey)) return EINA_FALSE;
  }
ctx->placed = 1;
+   ctx->x = x, ctx->y = y;
if (!ctx->client) return EINA_TRUE;
if ((ctx->client->client.x != x) || (ctx->client->client.y != y))
  e_client_util_move_without_frame(ctx->client, x, y);
@@ -185,6 +190,8 @@ _e_elm_win_trap_resize(void *data, Evas_Object *o 
EINA_UNUSED, int w, int h)
 {
Elm_Win_Trap_Ctx *ctx = data;
EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, EINA_TRUE);
+   ctx->sized = 1;
+   ctx->w = w, ctx->h = h;
if (!ctx->client) return EINA_TRUE;
e_comp_object_frame_wh_adjust(ctx->client->frame, w, h, &w, &h);
e_client_resize_limit(ctx->client, &w, &h);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 39/140: unset opaque region during comp object render if none exists

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit da00500c1133ba2c380676d536a63e42121ddf1c
Author: Mike Blumenkrantz 
Date:   Tue Mar 22 11:52:56 2016 -0400

unset opaque region during comp object render if none exists

fixes case where opaque region has been unset after previously being set
---
 src/bin/e_comp_object.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 7e174ea..1b815f7 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -875,15 +875,15 @@ _e_comp_object_pixels_get(void *data, Evas_Object *obj 
EINA_UNUSED)
 bxx = pw - (bx + bxx), byy = ph - (by + byy);
 evas_object_image_border_set(cw->obj, bx, bxx, by, byy);
  }
-   else if (cw->client_inset.calc && (!cw->frame_object)) //CSD
- {
-bx = -cw->client_inset.l + 4, by = -cw->client_inset.t + 4;
-bxx = -cw->client_inset.r, byy = -cw->client_inset.b;
- }
else
  {
 bx = by = bxx = byy = 0;
 evas_object_image_border_set(cw->obj, bx, bxx, by, byy);
+if (cw->client_inset.calc && (!cw->frame_object)) //CSD
+  {
+ bx = -cw->client_inset.l + 4, by = -cw->client_inset.t + 4;
+ bxx = -cw->client_inset.r, byy = -cw->client_inset.b;
+  }
  }
{
   Edje_Message_Int_Set *msg;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 40/140: avoid null deref in during pager_plain dnd

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d7e22929c2308a799e9d72a620ed5a311d461ab8
Author: Mike Blumenkrantz 
Date:   Tue Mar 22 11:55:38 2016 -0400

avoid null deref in during pager_plain dnd

CID 1237302
---
 src/modules/pager_plain/e_mod_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/pager_plain/e_mod_main.c 
b/src/modules/pager_plain/e_mod_main.c
index d6cb15c..77bb297 100644
--- a/src/modules/pager_plain/e_mod_main.c
+++ b/src/modules/pager_plain/e_mod_main.c
@@ -1881,10 +1881,10 @@ _pager_window_cb_mouse_move(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EI
   {
  pw->desk->pager->dragging = 1;
  edje_object_signal_emit(pw->desk->o_desk, "e,action,drag,in", 
"e");
+ pw->desk->pager->active_drop_pd = pw->desk;
   }
 pw->drag.start = 0;
 e_comp_object_effect_clip(pw->client->frame);
-pw->desk->pager->active_drop_pd = pw->desk;
  }
 
/* dragging this win around inside the pager */

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 33/140: hide wl clients before deleting them when surface is destroyed

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d6e31b30fe894819b733468829664c4a044e9bd9
Author: Mike Blumenkrantz 
Date:   Thu Mar 17 14:09:08 2016 -0400

hide wl clients before deleting them when surface is destroyed

clients without hide animations will fail to run cleanup operations during
hide if they are not marked as deleted
---
 src/bin/e_comp_wl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 387206e..61883b0 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1438,8 +1438,8 @@ _e_comp_wl_surface_destroy(struct wl_resource *resource)
 
if (!(ec = wl_resource_get_user_data(resource))) return;
 
-   evas_object_hide(ec->frame);
e_object_del(E_OBJECT(ec));
+   evas_object_hide(ec->frame);
 }
 
 static void

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 34/140: remove wl selection hacks from f0ba92d39e1f6631974d53100dcbb4cc040a8241

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit eb596299adcd059d9383b0278617e5aa138e6071
Author: Mike Blumenkrantz 
Date:   Thu Mar 17 15:15:27 2016 -0400

remove wl selection hacks from f0ba92d39e1f6631974d53100dcbb4cc040a8241

https://gfycat.com/ChiefDeafeningGull
---
 src/bin/e_comp_wl_data.c | 13 -
 1 file changed, 13 deletions(-)

diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index a26f801..0e3e476 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -245,19 +245,6 @@ _e_comp_wl_data_device_selection_set(void *data 
EINA_UNUSED, E_Comp_Wl_Data_Sour
 
sel_source = (E_Comp_Wl_Data_Source*)e_comp_wl->selection.data_source;
 
-   if ((sel_source) &&
-   (e_comp_wl->selection.serial - serial < UINT32_MAX / 2))
- {
-/* TODO: elm_entry is sending too many request on now,
- * for those requests, selection.signal is being emitted also a lot.
- * when it completes to optimize the entry, it should be checked more.
- */
-if (e_comp_wl->clipboard.source)
-  wl_signal_emit(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
-
-return;
- }
-
if (sel_source)
  {
 if (sel_source->cancelled)

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 42/140: use snprintf for string handling in batget

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit ffbe9de1ce82bbec9dad178c8e9c157589636129
Author: Mike Blumenkrantz 
Date:   Tue Mar 22 12:06:27 2016 -0400

use snprintf for string handling in batget

CID 1039801
---
 src/modules/battery/batget.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/modules/battery/batget.c b/src/modules/battery/batget.c
index fa183a5..f6abd07 100644
--- a/src/modules/battery/batget.c
+++ b/src/modules/battery/batget.c
@@ -1025,8 +1025,7 @@ linux_acpi_init(void)
  char buf[PATH_MAX + 6];
  FILE *f;
 
- strcpy(buf, info->path);
- strcat(buf, "/info");
+ snprintf(buf, sizeof(buf), "%s/info", info->path);
  f = fopen(buf, "r");
  if (f)
{

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 43/140: rework systray theme applying code

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 9731acfe4a4988c1d64561ab7ab910715674ac0d
Author: Mike Blumenkrantz 
Date:   Tue Mar 22 12:23:51 2016 -0400

rework systray theme applying code

potentially the most overoptimized string handling code I've ever seen.

CID 1039843
---
 src/modules/systray/e_mod_main.c | 58 ++--
 1 file changed, 8 insertions(+), 50 deletions(-)

diff --git a/src/modules/systray/e_mod_main.c b/src/modules/systray/e_mod_main.c
index dfe230e..02e8bae 100644
--- a/src/modules/systray/e_mod_main.c
+++ b/src/modules/systray/e_mod_main.c
@@ -126,72 +126,30 @@ _systray_cb_mouse_down(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj EINA
 static void
 _systray_theme(Evas_Object *o, const char *shelf_style, const char *gc_style)
 {
-   const char base_theme[] = "base/theme/modules/systray";
-   const char *path = _systray_theme_path();
-   char buf[128], *p;
-   size_t len, avail;
-
-   len = eina_strlcpy(buf, _group_gadget, sizeof(buf));
-   if (len >= sizeof(buf))
- goto fallback;
-   p = buf + len;
-   *p = '/';
-   p++;
-   avail = sizeof(buf) - len - 2;
+   char buf[4096];
 
if (shelf_style && gc_style)
  {
-size_t r;
-r = snprintf(p, avail, "%s/%s", shelf_style, gc_style);
-if (r < avail && e_theme_edje_object_set(o, base_theme, buf))
+snprintf(buf, sizeof(buf), "%s/%s/%s", _group_gadget, shelf_style, 
gc_style);
+if (e_theme_edje_object_set(o, NULL, buf))
   return;
  }
 
if (shelf_style)
  {
-size_t r;
-r = eina_strlcpy(p, shelf_style, avail);
-if (r < avail && e_theme_edje_object_set(o, base_theme, buf))
+snprintf(buf, sizeof(buf), "%s/%s", _group_gadget, shelf_style);
+if (e_theme_edje_object_set(o, NULL, buf))
   return;
  }
 
if (gc_style)
  {
-size_t r;
-r = eina_strlcpy(p, gc_style, avail);
-if (r < avail && e_theme_edje_object_set(o, base_theme, buf))
+snprintf(buf, sizeof(buf), "%s/%s", _group_gadget, gc_style);
+if (e_theme_edje_object_set(o, NULL, buf))
   return;
  }
 
-   if (e_theme_edje_object_set(o, base_theme, _group_gadget))
- return;
-
-   if (shelf_style && gc_style)
- {
-size_t r;
-r = snprintf(p, avail, "%s/%s", shelf_style, gc_style);
-if (r < avail && edje_object_file_set(o, path, buf))
-  return;
- }
-
-   if (shelf_style)
- {
-size_t r;
-r = eina_strlcpy(p, shelf_style, avail);
-if (r < avail && edje_object_file_set(o, path, buf))
-  return;
- }
-
-   if (gc_style)
- {
-size_t r;
-r = eina_strlcpy(p, gc_style, avail);
-if (r < avail && edje_object_file_set(o, path, buf))
-  return;
- }
-
-fallback:
-   edje_object_file_set(o, path, _group_gadget);
+   e_theme_edje_object_set(o, NULL, _group_gadget);
 }
 
 static E_Gadcon_Client *

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 41/140: use eina_streq for e_util_binding_match() comparisons

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 8344b79020c7fe63d85cb64b5a49a57114331e76
Author: Mike Blumenkrantz 
Date:   Tue Mar 22 12:01:04 2016 -0400

use eina_streq for e_util_binding_match() comparisons

optimizes what is likely a stringshare comparison as well as avoiding
null derefs

CID 1191998
---
 src/bin/e_utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c
index add4d1f..63c337e 100644
--- a/src/bin/e_utils.c
+++ b/src/bin/e_utils.c
@@ -1176,7 +1176,7 @@ e_util_binding_match(const Eina_List *bindlist, 
Ecore_Event_Key *ev, unsigned in
  {
 if (bi != skip)
   {
- if ((bi->modifiers == mod) && (!strcmp(bi->key, ev->key)))
+ if ((bi->modifiers == mod) && eina_streq(bi->key, ev->key))
return bi;
   }
 if (num) (*num)++;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 38/140: cast eina_list_count() in flowlayout, not entire expression

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit fd2a30c767c334f48d4daacc3c51bd46a7b8ea25
Author: Mike Blumenkrantz 
Date:   Tue Mar 22 11:51:09 2016 -0400

cast eina_list_count() in flowlayout, not entire expression

CID 1267211
---
 src/bin/e_flowlayout.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_flowlayout.c b/src/bin/e_flowlayout.c
index c1b0a4e..535c2fb 100644
--- a/src/bin/e_flowlayout.c
+++ b/src/bin/e_flowlayout.c
@@ -233,7 +233,7 @@ e_flowlayout_pack_end(Evas_Object *obj, Evas_Object *child)
sd->items = eina_list_append(sd->items, child);
sd->changed = 1;
if (sd->frozen <= 0) _e_flowlayout_smart_reconfigure(sd);
-   return (int)(eina_list_count(sd->items) - 1);
+   return (int)eina_list_count(sd->items) - 1;
 }
 
 E_API int

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 63/140: force keyboard modifier update on wl client focus-in

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 165f470d7cfd8de860158f8bd786b824468c25bd
Author: Mike Blumenkrantz 
Date:   Thu Mar 31 11:13:37 2016 -0400

force keyboard modifier update on wl client focus-in

ensure that clients always receive up-to-date modifiers when they get focus
---
 src/bin/e_comp_wl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index c55f8b1..c69b49b 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -468,6 +468,7 @@ _e_comp_wl_evas_cb_focus_in_timer(E_Client *ec)
ec->comp_data->on_focus_timer = NULL;
 
if (!e_comp_wl->kbd.focused) return EINA_FALSE;
+   e_comp_wl_input_keyboard_modifiers_update();
serial = wl_display_next_serial(e_comp_wl->wl.disp);
t = ecore_time_unix_get();
EINA_LIST_FOREACH(e_comp_wl->kbd.focused, l, res)

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 61/140: remove old compositor reset code

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 2fdc1096c5471967afb1d762ee48e0706382bbbe
Author: Mike Blumenkrantz 
Date:   Wed Mar 30 17:48:03 2016 -0400

remove old compositor reset code
---
 src/bin/e_comp_x.c  | 6 --
 src/bin/e_int_config_comp.c | 4 
 2 files changed, 10 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index a40dd42..93213cf 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -4976,9 +4976,6 @@ _e_comp_x_del(E_Comp *c)
ecore_x_window_key_ungrab(c->root, "F", ECORE_EVENT_MODIFIER_SHIFT |
  ECORE_EVENT_MODIFIER_CTRL |
  ECORE_EVENT_MODIFIER_ALT, 0);
-   ecore_x_window_key_ungrab(c->root, "Home", ECORE_EVENT_MODIFIER_SHIFT |
- ECORE_EVENT_MODIFIER_CTRL |
- ECORE_EVENT_MODIFIER_ALT, 0);
if (c->grabbed)
  {
 c->grabbed = 0;
@@ -5318,9 +5315,6 @@ _e_comp_x_setup(Ecore_X_Window root, int w, int h)
 
ecore_x_composite_redirect_subwindows(root, 
ECORE_X_COMPOSITE_UPDATE_MANUAL);
 
-   ecore_x_window_key_grab(root, "Home", ECORE_EVENT_MODIFIER_SHIFT |
-   ECORE_EVENT_MODIFIER_CTRL |
-   ECORE_EVENT_MODIFIER_ALT, 0);
ecore_x_window_key_grab(root, "F", ECORE_EVENT_MODIFIER_SHIFT |
ECORE_EVENT_MODIFIER_CTRL |
ECORE_EVENT_MODIFIER_ALT, 0);
diff --git a/src/bin/e_int_config_comp.c b/src/bin/e_int_config_comp.c
index 07ee16b..ba4651d 100644
--- a/src/bin/e_int_config_comp.c
+++ b/src/bin/e_int_config_comp.c
@@ -601,10 +601,6 @@ _basic_create_widgets(E_Config_Dialog *cfd,
e_widget_framelist_object_append(of, ob);
ob = e_widget_radio_add(evas, _("OpenGL"), E_COMP_ENGINE_GL, rg);
e_widget_framelist_object_append(of, ob);
-   ob = e_widget_label_add(evas, _("To reset compositor:"));
-   e_widget_framelist_object_append(of, ob);
-   ob = e_widget_label_add(evas, _("Ctrl+Alt+Shift+Home"));
-   e_widget_framelist_object_append(of, ob);
 
e_widget_list_object_append(ol, of, 1, 0, 0.5);


-- 




[EGIT] [core/enlightenment] enlightenment-0.20 57/140: selectively reject comp object signal emissions based on action_client state

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d546536c60f22da74919af835b2e3b826ddaac8a
Author: Mike Blumenkrantz 
Date:   Wed Mar 30 10:42:11 2016 -0400

selectively reject comp object signal emissions based on action_client state

in the case where a mouse binding is active and a signal binding is 
triggered
by the same mouse-up event which also ends the mouse binding, the deferred
nature of edje emissions will result in the signal being received by the
corresponding callback some time after the mouse-up event has been handled 
by
the client and the mouse binding has ended

to accurately handle these cases, signal bindings triggered in the same 
event
loop in which a mouse binding has ended after a mouse-up must be rejected in
order to enforce the compositor's mouse grab

fix T3347
---
 src/bin/e_comp_object.c | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 1b815f7..fd26527 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -93,6 +93,8 @@ typedef struct _E_Comp_Object
 
Evas_Native_Surface *ns; //for custom gl rendering
 
+   double   action_client_loop_time; //loop time when client's 
action ended
+
unsigned int update_count;  // how many updates have happened to 
this obj
 
unsigned int opacity;  // opacity set with _NET_WM_WINDOW_OPACITY
@@ -343,8 +345,9 @@ _e_comp_object_cb_signal_bind(void *data, Evas_Object *obj 
EINA_UNUSED, const ch
if (e_dnd_active()) return;
 #endif
if (cw->ec->iconic || cw->ec->cur_mouse_action) return;
-   e_bindings_signal_handle(E_BINDING_CONTEXT_WINDOW, E_OBJECT(cw->ec),
-emission, source);
+   if (!dblequal(cw->action_client_loop_time, ecore_loop_time_get()))
+ e_bindings_signal_handle(E_BINDING_CONTEXT_WINDOW, E_OBJECT(cw->ec),
+  emission, source);
 }
 
 /
@@ -410,11 +413,15 @@ _e_comp_object_cb_mouse_up(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EIN
Evas_Event_Mouse_Down *ev = event_info;
E_Comp_Object *cw = data;
E_Binding_Event_Mouse_Button ev2;
+   Eina_Bool acting;
 
if (!cw->ec) return;
if (e_client_action_get() && (e_client_action_get() != cw->ec)) return;
e_bindings_evas_event_mouse_button_convert(ev, &ev2);
+   acting = !!cw->ec->cur_mouse_action;
e_client_mouse_up(cw->ec, ev->button, &ev->output, &ev2);
+   if (acting && (!e_client_action_get()))
+ cw->action_client_loop_time = ecore_loop_time_get();
 }
 
 /* handle evas mouse movement events on client object */

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 47/140: e mod: cpufreq - handle the case where cpu has zero freqs - dont crash

2016-04-26 Thread Carsten Haitzler
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 586d1ac5057abfbc6224b706415e5944a3c863dd
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Mar 24 12:17:35 2016 +0900

e mod: cpufreq - handle the case where cpu has zero freqs - dont crash

it can be that if you remove setuid bits on cpufreq binary we can end
up with zero freqs on bsd. this causes a crash.

@fix
---
 src/modules/cpufreq/e_mod_main.c | 36 +---
 1 file changed, 21 insertions(+), 15 deletions(-)

diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
index f6d0f1a..0d9d8f7 100644
--- a/src/modules/cpufreq/e_mod_main.c
+++ b/src/modules/cpufreq/e_mod_main.c
@@ -1040,22 +1040,28 @@ _cpufreq_face_update_available(Instance *inst)
int i;
unsigned int count;
 
-   count = eina_list_count(cpufreq_config->status->frequencies);
-   frequency_msg = malloc(sizeof(Edje_Message_Int_Set) + (count - 1) * 
sizeof(int));
-   EINA_SAFETY_ON_NULL_RETURN(frequency_msg);
-   frequency_msg->count = count;
-   for (l = cpufreq_config->status->frequencies, i = 0; l; l = l->next, i++)
- frequency_msg->val[i] = (long)l->data;
-   edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_INT_SET, 1, 
frequency_msg);
-   free(frequency_msg);
+   if (cpufreq_config->status->frequencies)
+ {
+count = eina_list_count(cpufreq_config->status->frequencies);
+frequency_msg = malloc(sizeof(Edje_Message_Int_Set) + (count - 1) * 
sizeof(int));
+EINA_SAFETY_ON_NULL_RETURN(frequency_msg);
+frequency_msg->count = count;
+for (l = cpufreq_config->status->frequencies, i = 0; l; l = l->next, 
i++)
+  frequency_msg->val[i] = (long)l->data;
+edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_INT_SET, 1, 
frequency_msg);
+free(frequency_msg);
+ }
 
-   count = eina_list_count(cpufreq_config->status->governors);
-   governor_msg = malloc(sizeof(Edje_Message_String_Set) + (count - 1) * 
sizeof(char *));
-   governor_msg->count = count;
-   for (l = cpufreq_config->status->governors, i = 0; l; l = l->next, i++)
- governor_msg->str[i] = (char *)l->data;
-   edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_STRING_SET, 2, 
governor_msg);
-   free(governor_msg);
+   if (cpufreq_config->status->governors)
+ {
+count = eina_list_count(cpufreq_config->status->governors);
+governor_msg = malloc(sizeof(Edje_Message_String_Set) + (count - 1) * 
sizeof(char *));
+governor_msg->count = count;
+for (l = cpufreq_config->status->governors, i = 0; l; l = l->next, i++)
+  governor_msg->str[i] = (char *)l->data;
+edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_STRING_SET, 2, 
governor_msg);
+free(governor_msg);
+ }
 }
 
 static void

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 37/140: ignore xwayland clients in wl client delete request callback

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 5e27e5f30232d189734409fc81a16fc746d36317
Author: Mike Blumenkrantz 
Date:   Mon Mar 21 12:13:27 2016 -0400

ignore xwayland clients in wl client delete request callback

this breaks the compositor!
---
 src/bin/e_comp_wl.c | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 61883b0..47ada79 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -660,14 +660,15 @@ _e_comp_wl_evas_cb_state_update(void *data, Evas_Object 
*obj EINA_UNUSED, void *
 static void
 _e_comp_wl_evas_cb_delete_request(void *data, Evas_Object *obj EINA_UNUSED, 
void *event EINA_UNUSED)
 {
-   E_Client *ec;
-
-   if (!(ec = data)) return;
-   if (ec->netwm.ping) e_client_ping(ec);
+   E_Client *ec = data;
 
e_comp_ignore_win_del(E_PIXMAP_TYPE_WL, e_pixmap_window_get(ec->pixmap));
 
-   e_object_del(E_OBJECT(ec));
+   if (!e_client_has_xwindow(ec))
+ {
+if (ec->netwm.ping) e_client_ping(ec);
+e_object_del(E_OBJECT(ec));
+ }
 
_e_comp_wl_focus_check();
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 49/140: do not set initial changed state for new clients if they are ignored

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 56e96ce294aed46a9803acafa8b526b9d9734f72
Author: Mike Blumenkrantz 
Date:   Thu Mar 24 16:40:47 2016 -0400

do not set initial changed state for new clients if they are ignored

this loops the client idler for no reason
---
 src/bin/e_client.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 91f3ba9..af5b479 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2583,13 +2583,14 @@ e_client_new(E_Pixmap *cp, int first_map, int internal)
ec->netwm.action.close = 0;
ec->netwm.opacity = 255;
 
-   EC_CHANGED(ec);
-
e_comp->clients = eina_list_append(e_comp->clients, ec);
eina_hash_add(clients_hash[e_pixmap_type_get(cp)], &ec->pixmap, ec);
 
if (!ec->ignored)
- _e_client_event_simple(ec, E_EVENT_CLIENT_ADD);
+ {
+EC_CHANGED(ec);
+_e_client_event_simple(ec, E_EVENT_CLIENT_ADD);
+ }
e_comp_object_client_add(ec);
if (ec->frame)
  {

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 50/140: redo wayland client unignore mechanism

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d1568b832f09a30a7560e915efea042c54f687e0
Author: Mike Blumenkrantz 
Date:   Thu Mar 24 16:41:18 2016 -0400

redo wayland client unignore mechanism

wayland clients were previously set as ignored until they obtained
a shell surface in order to avoid early execution of things like placement.

this had no effect.

the ignore must last until the first commit, at which point surfaces have 
been
sized and can be placed accurately without needing to move the surface 
around
a lot of times due to resize/frame adjust/birthdays
---
 src/bin/e_comp_wl.c   | 23 +++
 src/modules/wl_desktop_shell/e_mod_main.c | 12 ++--
 2 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 8d0088d..c55f8b1 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1023,7 +1023,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
 {
Eina_Bool first = EINA_FALSE;
Eina_Rectangle *dmg;
-   Eina_Bool ignored, placed = EINA_TRUE;
+   Eina_Bool placed = EINA_TRUE;
int x = 0, y = 0, w, h;
 
first = !e_pixmap_usable_get(ec->pixmap);
@@ -1031,7 +1031,14 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
if (first && e_client_has_xwindow(ec))
  first = !e_pixmap_usable_get(e_comp_x_client_pixmap_get(ec));
 #endif
-   ignored = ec->ignored;
+
+   if (ec->ignored && (ec->comp_data->shell.surface || ec->internal))
+ {
+EC_CHANGED(ec);
+ec->new_client = 1;
+e_comp->new_clients++;
+e_client_unignore(ec);
+ }
 
if (state->new_attach)
  _e_comp_wl_surface_state_attach(ec, state);
@@ -1071,7 +1078,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
   {
  if ((ec->comp_data->shell.surface) && 
(ec->comp_data->shell.unmap))
ec->comp_data->shell.unmap(ec->comp_data->shell.surface);
- else if (ec->comp_data->cursor || e_client_has_xwindow(ec) ||
+ else if (ec->comp_data->cursor || e_client_has_xwindow(ec) || 
ec->internal ||
   (ec->comp_data->sub.data && 
ec->comp_data->sub.data->parent->comp_data->mapped) ||
   (ec == e_comp_wl->drag_client))
{
@@ -1087,7 +1094,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
   {
  if ((ec->comp_data->shell.surface) && (ec->comp_data->shell.map))
ec->comp_data->shell.map(ec->comp_data->shell.surface);
- else if (ec->comp_data->cursor || e_client_has_xwindow(ec) ||
+ else if (ec->comp_data->cursor || e_client_has_xwindow(ec) || 
ec->internal ||
   (ec->comp_data->sub.data && 
ec->comp_data->sub.data->parent->comp_data->mapped) ||
   (ec == e_comp_wl->drag_client))
{
@@ -1150,12 +1157,6 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
  ec->placed = placed;
  ec->want_focus |= ec->icccm.accepts_focus && (!ec->override);
   }
-else if ((first) && (ec->placed) && (!ec->internal) && (!ec->override))
-  {
- ec->x = ec->y = 0;
- ec->placed = EINA_FALSE;
- ec->new_client = EINA_TRUE;
-  }
  }
state->sx = 0;
state->sy = 0;
@@ -1167,8 +1168,6 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
state->frames);
state->frames = NULL;
 
-   ec->ignored = ignored;
-
/* put state damages into surface */
if ((!e_comp->nocomp) && (ec->frame))
  {
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index 748ba84..e3f5d7c 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -548,12 +548,7 @@ _e_shell_cb_shell_surface_get(struct wl_client *client, 
struct wl_resource *reso
"No Pixmap Set On Surface");
 return;
  }
-
-   EC_CHANGED(ec);
-   ec->new_client = ec->netwm.ping = EINA_TRUE;
-   e_comp->new_clients++;
-   e_client_unignore(ec);
-
+   ec->netwm.ping = 1;
/* get the client data */
if (!(cdata = ec->comp_data))
  {
@@ -,10 +1106,7 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, 
struct wl_resource *resour
 return;
  }
 
-   EC_CHANGED(ec);
-   ec->new_client = ec->netwm.ping = EINA_TRUE;
-   e_comp->new_clients++;
-   e_client_unignore(ec);
+   ec->netwm.ping = 1;
 
/* get the client data */
if (!(cdata = ec->comp_data))

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 70/140: apply compositor keybinds if an action client that is not focus exists

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 17e32f578659398f91e4741f2c6014a4962bafc3
Author: Mike Blumenkrantz 
Date:   Thu Mar 31 14:03:29 2016 -0400

apply compositor keybinds if an action client that is not focus exists
---
 src/bin/e_comp_canvas.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c
index e620c7a..8b5b0de 100644
--- a/src/bin/e_comp_canvas.c
+++ b/src/bin/e_comp_canvas.c
@@ -110,6 +110,7 @@ _e_comp_cb_key_down(void *data EINA_UNUSED, int ev_type 
EINA_UNUSED, Ecore_Event
 E_Client *ec;
 
 ec = e_client_focused_get();
+if (!ec) ec = e_client_action_get();
 /* *block actions when no client is focused (probably something else 
did a grab here so we'll play nice)
  * *block actions when menu is up
  * *block actions when event (grab) window isn't comp window

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 53/140: use canvas pointer coords in systray mouse cb

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit c635bf8d5ee327fb7bd4a49d38b092350030b2ca
Author: Mike Blumenkrantz 
Date:   Mon Mar 28 13:37:21 2016 -0400

use canvas pointer coords in systray mouse cb
---
 src/modules/systray/e_mod_notifier_host.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/systray/e_mod_notifier_host.c 
b/src/modules/systray/e_mod_notifier_host.c
index a15d4bc..81c4e59 100644
--- a/src/modules/systray/e_mod_notifier_host.c
+++ b/src/modules/systray/e_mod_notifier_host.c
@@ -197,7 +197,7 @@ _clicked_item_cb(void *data, Evas *evas, Evas_Object *obj 
EINA_UNUSED, void *eve
e_menu_post_deactivate_callback_set(m, _menu_post_deactivate, gadcon);
 
zone = e_gadcon_zone_get(gadcon);
-   ecore_evas_pointer_xy_get(e_comp->ee, &x, &y);
+   evas_pointer_canvas_xy_get(e_comp->evas, &x, &y);
e_menu_activate_mouse(m, zone, x, y, 1, 1, E_MENU_POP_DIRECTION_DOWN, 
ev->timestamp);
evas_event_feed_mouse_up(evas, ev->button,
  EVAS_BUTTON_NONE, ev->timestamp, NULL);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 48/140: feed mouse-up events for all buttons on internal wins when activating a binding

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 39717a8a388d4878f88332a76f40ec91c38661d1
Author: Mike Blumenkrantz 
Date:   Thu Mar 24 13:57:23 2016 -0400

feed mouse-up events for all buttons on internal wins when activating a 
binding

bindings enforce compositor grabs, which will result in stuck canvas 
buttons and
break internal windows which have already received button presses

fix T3347
---
 src/bin/e_client.c | 13 +
 1 file changed, 13 insertions(+)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 1794376..91f3ba9 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2869,6 +2869,19 @@ e_client_mouse_down(E_Client *ec, int button, Evas_Point 
*output, E_Binding_Even
   {
  did_act = EINA_TRUE;
  e_object_ref(E_OBJECT(ec->cur_mouse_action));
+ if (ec->internal)
+   {
+  int button_mask, i;
+  Evas *e;
+
+  e = evas_object_evas_get(ec->internal_elm_win);
+  button_mask = evas_pointer_button_down_mask_get(e);
+  for (i = 0; i < 32; i++)
+{
+  if ((button_mask & (1 << i)))
+evas_event_feed_mouse_up(e, i + 1, EVAS_BUTTON_NONE, 
0, NULL);
+}
+   }
   }
  }
if ((!did_act) || (((pfocus == e_client_focused_get()) || (ec == 
e_client_focused_get())) && (ec->layer >= player)))

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 58/140: move notification text escaping into dbus notify method callback

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 3980f4bac3d94c93b94d32d2fea23d53e1c2d561
Author: Mike Blumenkrantz 
Date:   Wed Mar 30 16:08:05 2016 -0400

move notification text escaping into dbus notify method callback

this ensures that notification text reaching the module can be considered
"usable" without forcing multiple escape passes onto the same notification

fix T2757
---
 src/bin/e_notification.c   | 161 -
 src/modules/notification/e_mod_popup.c | 159 
 2 files changed, 160 insertions(+), 160 deletions(-)

diff --git a/src/bin/e_notification.c b/src/bin/e_notification.c
index 305b5b7..fc759d8 100644
--- a/src/bin/e_notification.c
+++ b/src/bin/e_notification.c
@@ -69,12 +69,169 @@ hints_dict_iter(void *data, const void *key, 
Eldbus_Message_Iter *var)
  }
 }
 
+
+/* this function should be external in edje for use in cases such as this 
module.
+ *
+ * happily, it was decided that the function would not be external so that it 
could
+ * be duplicated into the module in full.
+ */
+
+static int
+_text_escape(Eina_Strbuf *txt, const char *text)
+{
+   const char *escaped;
+   int advance;
+
+   escaped = evas_textblock_string_escape_get(text, &advance);
+   if (!escaped)
+ {
+eina_strbuf_append_char(txt, text[0]);
+advance = 1;
+ }
+   else
+ eina_strbuf_append(txt, escaped);
+   return advance;
+}
+
+/* hardcoded list of allowed tags based on
+ * 
https://people.gnome.org/~mccann/docs/notification-spec/notification-spec-latest.html#markup
+ */
+static const char *tags[] =
+{
+   "", popped[1]);
+ } while (cur_tag && (popped != tag));
+   advance = 4;
+}
+  else if (cur_tag)
+{
+   /* tag match: just pop */
+   popped = eina_array_pop(arr);
+   if (eina_array_count(arr))
+ cur_tag = eina_array_data_get(arr, 
eina_array_count(arr) - 1);
+   else
+ cur_tag = NULL;
+   eina_strbuf_append_printf(txt, "", popped[1]);
+   advance = 4;
+}
+  else
+{
+   /* no current tag: escape */
+   advance = _text_escape(txt, text);
+}
+   }
+ else
+   {
+  if (tag)
+{
+   cur_tag = tag;
+   eina_array_push(arr, tag);
+   eina_strbuf_append_printf(txt, "<%c>", tag[1]);
+   advance = 3;
+}
+  else
+advance = _text_escape(txt, text);
+   }
+  }
+else if (text[0] == '&')
+  {
+ const char *s;
+
+ s = strchr(text, ';');
+ if (s)
+   s = evas_textblock_escape_string_range_get(text, s + 1);
+ if (s)
+   {
+  eina_strbuf_append_char(txt, text[0]);
+  advance = 1;
+   }
+ else
+   advance = _text_escape(txt, text);
+  }
+else
+  advance = _text_escape(txt, text);
+
+text += advance;
+ }
+
+   eina_array_free(arr);
+   ret = eina_strbuf_string_steal(txt);
+   eina_strbuf_free(txt);
+   return ret;
+}
+
 static Eldbus_Message *
 notify_cb(const Eldbus_Service_Interface *iface EINA_UNUSED, const 
Eldbus_Message *msg)
 {
E_Notification_Notify *n;
Eldbus_Message_Iter *actions_iter, *hints_iter;
Eldbus_Message *reply;
+   char *txt;
 
if (!n_data->notify_cb)
  return NULL;
@@ -100,7 +257,9 @@ notify_cb(const Eldbus_Service_Interface *iface 
EINA_UNUSED, const Eldbus_Messag
n->app_name = eina_stringshare_add(n->app_name);
n->icon.icon = eina_stringshare_add(n->icon.icon);
n->summary = eina_stringshare_add(n->summary);
-   n->body = eina_stringshare_add(n->body);
+   txt = _nedje_text_escape(n->body);
+   n->body = eina_stringshare_add(txt);
+   free(txt);
 
e_object_ref(E_OBJECT(n));
n->id = n_data->notify_cb(n_data->data, n);
diff --git a/src/modules/notification/e_mod_popup.c 
b/src/modules/notification/e_mod_popup.c
index 03b33e0..de86673 100644
--- a/src/modules/notification/e_mod_popup.c
+++ b/src/modules/notification/e_mod_popup.c
@@ -12,160 +12,6 @@ static void_notification_popup_del(unsigned int 
id,
 static void_notification_popdown(Popup_Data  *popup,
  E_Notification_Notify_Closed_Reason 
reason);
 
-/* this function should be external in edje for use in c

[EGIT] [core/enlightenment] enlightenment-0.20 62/140: don't show some x11-specific compositor settings under wayland

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 83faf58fdb3891ec50b4e4bbd477f6dd5cc10571
Author: Mike Blumenkrantz 
Date:   Wed Mar 30 17:48:25 2016 -0400

don't show some x11-specific compositor settings under wayland
---
 src/bin/e_int_config_comp.c | 73 +
 1 file changed, 28 insertions(+), 45 deletions(-)

diff --git a/src/bin/e_int_config_comp.c b/src/bin/e_int_config_comp.c
index ba4651d..057d993 100644
--- a/src/bin/e_int_config_comp.c
+++ b/src/bin/e_int_config_comp.c
@@ -255,8 +255,11 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data
of = e_widget_framelist_add(evas, _("Behavior"), 0);
ob = e_widget_check_add(evas, _("Smooth scaling"), 
&(cfdata->smooth_windows));
e_widget_framelist_object_append(of, ob);
-   ob = e_widget_check_add(evas, _("Don't composite fullscreen windows"), 
&(cfdata->nocomp_fs));
-   e_widget_framelist_object_append(of, ob);
+   if (e_comp->comp_type == E_PIXMAP_TYPE_X)
+ {
+ob = e_widget_check_add(evas, _("Don't composite fullscreen windows"), 
&(cfdata->nocomp_fs));
+e_widget_framelist_object_append(of, ob);
+ }
ob = e_widget_check_add(evas, _("Don't fade backlight"), &(cfdata->nofade));
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(ol, of, 1, 1, 0.5);
@@ -300,47 +303,24 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas 
*evas, E_Config_Dialog_Data
 
///
ol = e_widget_list_add(evas, 0, 0);
-   of = e_widget_framelist_add(evas, _("X Messages"), 0);
-   ob = e_widget_check_add(evas, _("Send flush"), &(cfdata->send_flush));
-   e_widget_framelist_object_append(of, ob);
-   ob = e_widget_check_add(evas, _("Send dump"), &(cfdata->send_dump));
-   e_widget_framelist_object_append(of, ob);
-   e_widget_list_object_append(ol, of, 1, 1, 0.5);
-
-/*   
-   ob = e_widget_check_add(evas, _("Keep hidden windows"), 
&(cfdata->keep_unmapped));
-   e_widget_list_object_append(ol, ob, 1, 1, 0.5);
-   of = e_widget_frametable_add(evas, _("Maximum hidden pixels"), 0);
-   e_widget_frametable_content_align_set(of, 0.5, 0.5);
-   rg = e_widget_radio_group_new(&(cfdata->max_unmapped_pixels));
-   ob = e_widget_radio_add(evas, _("1M"), 1 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("2M"), 2 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 0, 1, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("4M"), 4 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 0, 2, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("8M"), 8 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 1, 0, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("16M"), 16 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 1, 1, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("32M"), 32 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("64M"), 64 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 2, 0, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("128M"), 128 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 2, 1, 1, 1, 1, 1, 0, 0);
-   ob = e_widget_radio_add(evas, _("256M"), 256 * 1024, rg);
-   e_widget_frametable_object_append(of, ob, 2, 2, 1, 1, 1, 1, 0, 0);
-   e_widget_list_object_append(ol, of, 1, 1, 0.5);
- */
-   of = e_widget_framelist_add(evas, _("Sync"), 0);
-   ob = e_widget_check_add(evas, _("Grab Server during draw"), 
&(cfdata->grab));
-   e_widget_framelist_object_append(of, ob);
-   ob = e_widget_label_add(evas, _("Initial draw timeout for newly mapped 
windows"));
-   e_widget_framelist_object_append(of, ob);
-   ob = e_widget_slider_add(evas, 1, 0, _("%1.2f Seconds"), 0.01, 0.5, 0.01, 
0, &(cfdata->first_draw_delay), NULL, 150);
-   e_widget_framelist_object_append(of, ob);
-   e_widget_list_object_append(ol, of, 1, 1, 0.5);
+   if (e_comp->comp_type == E_PIXMAP_TYPE_X)
+ {
+of = e_widget_framelist_add(evas, _("X Messages"), 0);
+ob = e_widget_check_add(evas, _("Send flush"), &(cfdata->send_flush));
+e_widget_framelist_object_append(of, ob);
+ob = e_widget_check_add(evas, _("Send dump"), &(cfdata->send_dump));
+e_widget_framelist_object_append(of, ob);
+e_widget_list_object_append(ol, of, 1, 1, 0.5);
+
+of = e_widget_framelist_add(evas, _("Sync"), 0);
+ob = e_widget_check_add(evas, _("Grab Server during draw"), 
&(cfdata->grab));
+e_widget_framelist_object_append(of, ob);
+ob = e_widget_label_add(evas, _("Initial draw timeout for newly mapped 
windows"));
+e_widget_framelist_object_append(of, ob);
+ob = e_widget_slider_add(evas, 1, 0, _("%1.2f Seconds"), 0.01, 0.5, 
0.01,

[EGIT] [core/enlightenment] enlightenment-0.20 46/140: send resize edges to wl clients on resize start and end

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 845cabf7322528ab47e3ee75d16e75d35b432693
Author: Mike Blumenkrantz 
Date:   Wed Mar 23 16:03:33 2016 -0400

send resize edges to wl clients on resize start and end
---
 src/bin/e_comp_wl.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 47ada79..8d0088d 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2341,6 +2341,9 @@ _e_comp_wl_client_cb_resize_begin(void *data EINA_UNUSED, 
E_Client *ec)
   default:
 break;
  }
+   ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
+   e_comp_wl->resize.edges,
+   0, 0);
 }
 
 static void
@@ -2352,6 +2355,10 @@ _e_comp_wl_client_cb_resize_end(void *data EINA_UNUSED, 
E_Client *ec)
e_comp_wl->resize.edges = 0;
e_comp_wl->resize.resource = NULL;
 
+   ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
+   e_comp_wl->resize.edges,
+   0, 0);
+
if (ec->pending_resize)
  {
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 65/140: explicitly manage client focus when setting/unsetting input grabs

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 76b76af8ea026ab74b5628dcc6b8bc8209a89995
Author: Mike Blumenkrantz 
Date:   Thu Mar 31 11:11:02 2016 -0400

explicitly manage client focus when setting/unsetting input grabs

clients cannot retain focus during a compositor grab, so ensure that
they do not think they have focus in such cases

fix T3338
---
 src/bin/e_comp.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 0f9fbf1..15a6161 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -1648,6 +1648,8 @@ e_comp_grab_input(Eina_Bool mouse, Eina_Bool kbd)
if ((e_comp->input_mouse_grabs && e_comp->input_key_grabs) ||
e_grabinput_get(mwin, 0, kwin))
  {
+if (e_client_focused_get())
+  evas_object_focus_set(e_client_focused_get()->frame, 0);
 ret = EINA_TRUE;
 e_comp->input_mouse_grabs += mouse;
 e_comp->input_key_grabs += kbd;
@@ -1675,7 +1677,17 @@ e_comp_ungrab_input(Eina_Bool mouse, Eina_Bool kbd)
e_grabinput_release(mwin, kwin);
evas_event_feed_mouse_out(e_comp->evas, 0, NULL);
evas_event_feed_mouse_in(e_comp->evas, 0, NULL);
-   if (e_client_focused_get()) return;
+   if (e_client_focused_get())
+ {
+E_Client *ec = e_client_focused_get();
+
+if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
+  {
+ evas_object_focus_set(ec->frame, 0);
+ evas_object_focus_set(ec->frame, 1);
+  }
+return;
+ }
if (e_config->focus_policy != E_FOCUS_MOUSE)
  e_client_refocus();
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 45/140: remove lots of impossible null checks from pager move callback

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 783ae4cae4651ea58a7dcdfd2798b55a78f24021
Author: Mike Blumenkrantz 
Date:   Tue Mar 22 15:21:04 2016 -0400

remove lots of impossible null checks from pager move callback

CID 1237302
---
 src/modules/pager_plain/e_mod_main.c | 29 +
 1 file changed, 9 insertions(+), 20 deletions(-)

diff --git a/src/modules/pager_plain/e_mod_main.c 
b/src/modules/pager_plain/e_mod_main.c
index 77bb297..fe8144d 100644
--- a/src/modules/pager_plain/e_mod_main.c
+++ b/src/modules/pager_plain/e_mod_main.c
@@ -1844,8 +1844,8 @@ _pager_window_cb_mouse_up(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EINA
 static void
 _pager_window_cb_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info)
 {
-   Evas_Event_Mouse_Move *ev;
-   Pager_Win *pw;
+   Evas_Event_Mouse_Move *ev = event_info;
+   Pager_Win *pw = data;
E_Drag *drag;
Evas_Object *o, *oo;
Evas_Coord x, y, w, h;
@@ -1856,33 +1856,22 @@ _pager_window_cb_mouse_move(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EI
Evas_Coord mx, my, vx, vy;
Pager_Desk *pd;
 
-   ev = event_info;
-   pw = data;
-
-   if (!pw) return;
if (pw->client->lock_user_location) return;
-   if ((pw->desk) && (pw->desk->pager))
- {
-if ((pw->desk->pager->popup) && (!act_popup)) return;
- }
+   if ((pw->desk->pager->popup) && (!act_popup)) return;
 
/* prevent drag for a few pixels */
if (pw->drag.start)
  {
 dx = pw->drag.x - ev->cur.output.x;
 dy = pw->drag.y - ev->cur.output.y;
-if ((pw->desk) && (pw->desk->pager))
-  resist = pager_config->drag_resist;
+resist = pager_config->drag_resist;
 
-if (((unsigned int)(dx * dx) + (unsigned int)(dy * dy)) <=
-(resist * resist)) return;
+if ((unsigned int)(dx * dx) + (unsigned int)(dy * dy) <= resist * 
resist)
+  return;
 
-if ((pw->desk) && (pw->desk->pager))
-  {
- pw->desk->pager->dragging = 1;
- edje_object_signal_emit(pw->desk->o_desk, "e,action,drag,in", 
"e");
- pw->desk->pager->active_drop_pd = pw->desk;
-  }
+pw->desk->pager->dragging = 1;
+edje_object_signal_emit(pw->desk->o_desk, "e,action,drag,in", "e");
+pw->desk->pager->active_drop_pd = pw->desk;
 pw->drag.start = 0;
 e_comp_object_effect_clip(pw->client->frame);
  }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 64/140: block wl keyboard modifier updating during input grabs

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 7b201be6b34ece788011d318c85fb78b43ae9ed4
Author: Mike Blumenkrantz 
Date:   Thu Mar 31 11:14:27 2016 -0400

block wl keyboard modifier updating during input grabs
---
 src/bin/e_comp_wl_input.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index 3e1b009..d1015fc 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -543,7 +543,7 @@ e_comp_wl_input_keyboard_modifiers_update(void)
 
if (!e_comp_wl_input_keyboard_modifiers_serialize()) return;
 
-   if (!e_comp_wl->kbd.focused) return;
+   if ((!e_comp_wl->kbd.focused) || e_comp->input_key_grabs) return;
 
serial = wl_display_next_serial(e_comp_wl->wl.disp);
EINA_LIST_FOREACH(e_comp_wl->kbd.focused, l, res)

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 59/140: track offline/presentation mode notification ids and replace on toggle

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 32839ee8f26c8f4ce0f0c306b8b4c08a5cac0478
Author: Mike Blumenkrantz 
Date:   Wed Mar 30 16:16:44 2016 -0400

track offline/presentation mode notification ids and replace on toggle
---
 src/modules/notification/e_mod_main.c | 21 -
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/modules/notification/e_mod_main.c 
b/src/modules/notification/e_mod_main.c
index 58ecc15..b5c8104 100644
--- a/src/modules/notification/e_mod_main.c
+++ b/src/modules/notification/e_mod_main.c
@@ -10,6 +10,9 @@ Config *notification_cfg = NULL;
 
 static E_Config_DD *conf_edd = NULL;
 
+static unsigned int offline_id;
+static unsigned int pres_id;
+
 static unsigned int
 _notification_notify(E_Notification_Notify *n)
 {
@@ -25,19 +28,27 @@ _notification_notify(E_Notification_Notify *n)
 }
 
 static void
+_notification_id_update(void *d, unsigned int id)
+{
+   uintptr_t *update_id = d;
+
+   *update_id = id;
+}
+
+static void
 _notification_show_common(const char *summary,
   const char *body,
-  int replaces_id)
+  unsigned int *update_id)
 {
E_Notification_Notify n;
memset(&n, 0, sizeof(E_Notification_Notify));
n.app_name = "enlightenment";
-   n.replaces_id = replaces_id;
+   n.replaces_id = *update_id;
n.icon.icon = "enlightenment";
n.summary = summary;
n.body = body;
n.urgency = E_NOTIFICATION_NOTIFY_URGENCY_CRITICAL;
-   e_notification_client_send(&n, NULL, NULL);
+   e_notification_client_send(&n, _notification_id_update, update_id);
 }
 
 static void
@@ -60,7 +71,7 @@ _notification_show_presentation(Eina_Bool enabled)
  "power saving settings will be restored.");
  }
 
-   _notification_show_common(summary, body, -1);
+   _notification_show_common(summary, body, &pres_id);
 }
 
 static void
@@ -83,7 +94,7 @@ _notification_show_offline(Eina_Bool enabled)
  "resume regular tasks.");
  }
 
-   _notification_show_common(summary, body, -1);
+   _notification_show_common(summary, body, &offline_id);
 }
 
 static Eina_Bool

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 55/140: add even more systray/dbusmenu hacks

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 005de524fb3b412bec815a87eebb716e8a34e62b
Author: Mike Blumenkrantz 
Date:   Mon Mar 28 15:33:38 2016 -0400

add even more systray/dbusmenu hacks

mrw Qt systray devs take working (4.X) and then break it in 5.X to
be worse than steam: http://gfycat.com/CloudyPinkEmperorshrimp

fix T3139
---
 src/bin/e_dbusmenu.c | 111 ---
 1 file changed, 70 insertions(+), 41 deletions(-)

diff --git a/src/bin/e_dbusmenu.c b/src/bin/e_dbusmenu.c
index 76cce57..bc87097 100644
--- a/src/bin/e_dbusmenu.c
+++ b/src/bin/e_dbusmenu.c
@@ -9,6 +9,7 @@ struct _E_DBusMenu_Ctx
void *data;
E_DBusMenu_Pop_Request_Cb pop_request_cb;
E_DBusMenu_Update_Cb  update_cb;
+   Eina_Bool  hacks : 1;
 };
 
 static const char *Menu_Item_Type_Names[] =
@@ -31,6 +32,8 @@ static const char *Menu_Item_Event_Names[] =
"clicked", "hovered", "opened", "closed"
 };
 
+static void proxy_init(E_DBusMenu_Ctx *ctx);
+
 static int
 id_find(const char *text, const char *array_of_names[], unsigned max)
 {
@@ -197,6 +200,46 @@ dbus_menu_free(E_DBusMenu_Item *m)
free(m);
 }
 
+static Eina_Bool
+attempt_hacks(E_DBusMenu_Ctx *ctx)
+{
+   /* https://phab.enlightenment.org/T3139 */
+   Eldbus_Object *obj;
+   Eldbus_Connection *conn;
+   const char *bus, *p;
+   int n;
+   char buf[1024] = {0}, buf2[1024] = {0};
+
+   if (ctx->hacks) return EINA_FALSE;
+   obj = eldbus_proxy_object_get(ctx->proxy);
+   conn = eldbus_object_connection_get(obj);
+   bus = eldbus_object_bus_name_get(obj);
+   if (bus[0] != ':') return EINA_FALSE;
+   /* if this is a qt5 app, menu bus is $bus + 2
+* ...probably
+*/
+
+   p = strchr(bus + 1, '.');
+   if (!p) return EINA_FALSE;
+   p++;
+   if (!p[0]) return EINA_FALSE;
+   n = strtol(p, NULL, 10);
+   if (n == -1) return EINA_FALSE;
+   n += 2;
+   if ((unsigned int)(p - bus) > sizeof(buf) - 1) return EINA_FALSE;
+   strncpy(buf, bus, p - bus);
+   snprintf(buf2, sizeof(buf2), "%s%d", buf, n);
+   E_FREE_FUNC(ctx->root_menu, dbus_menu_free);
+   eldbus_proxy_unref(ctx->proxy);
+   eldbus_object_unref(obj);
+
+   obj = eldbus_object_get(conn, buf2, "/MenuBar");
+   ctx->proxy = eldbus_proxy_get(obj, DBUS_MENU_IFACE);
+   proxy_init(ctx);
+   ctx->hacks = 1;
+   return EINA_TRUE;
+}
+
 static void
 layout_get_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending 
EINA_UNUSED)
 {
@@ -220,6 +263,15 @@ layout_get_cb(void *data, const Eldbus_Message *msg, 
Eldbus_Pending *pending EIN
 
m = parse_layout(layout, NULL, ctx);
m->revision = revision;
+   if (m->is_submenu && (!m->parent) && (!m->sub_items))
+ {
+if (attempt_hacks(ctx))
+  {
+ dbus_menu_free(m);
+ return;
+  }
+ }
+
if (ctx->update_cb)
  ctx->update_cb(ctx->data, m);
if (ctx->root_menu)
@@ -271,32 +323,6 @@ menu_pop_request(void *data, const Eldbus_Message *msg)
 }
 
 static void
-icon_theme_path_get_cb(void *data EINA_UNUSED, const Eldbus_Message *msg, 
Eldbus_Pending *pending EINA_UNUSED)
-{
-   const char *error, *error_msg;
-   Eldbus_Message_Iter *var, *array;
-   const char *path;
-
-   if (eldbus_message_error_get(msg, &error, &error_msg))
- {
-ERR("%s %s", error, error_msg);
-return;
- }
-
-   if (!eldbus_message_arguments_get(msg, "v", &var) ||
-   !eldbus_message_iter_arguments_get(var, "as", &array))
- {
-ERR("Error reading message.");
-return;
- }
-
-   while (eldbus_message_iter_get_and_next(array, 's', &path))
- {
-//TODO
- }
-}
-
-static void
 prop_changed_cb(void *data EINA_UNUSED, const Eldbus_Message *msg)
 {
const char *interface, *propname;
@@ -337,6 +363,23 @@ layout_updated_cb(void *data, const Eldbus_Message *msg 
EINA_UNUSED)
layout_update(ctx);
 }
 
+static void
+proxy_init(E_DBusMenu_Ctx *ctx)
+{
+   layout_update(ctx);
+   eldbus_proxy_signal_handler_add(ctx->proxy,
+  "ItemActivationRequested",
+  menu_pop_request, ctx);
+
+   eldbus_proxy_properties_changed_callback_add(ctx->proxy,
+   prop_changed_cb, ctx);
+
+   eldbus_proxy_signal_handler_add(ctx->proxy, "ItemsPropertiesUpdated",
+  layout_updated_cb, ctx);
+   eldbus_proxy_signal_handler_add(ctx->proxy, "LayoutUpdated",
+  layout_updated_cb, ctx);
+}
+
 E_API E_DBusMenu_Ctx *
 e_dbusmenu_load(Eldbus_Connection *conn, const char *bus, const char *path, 
const void *data)
 {
@@ -353,21 +396,7 @@ e_dbusmenu_load(Eldbus_Connection *conn, const char *bus, 
const char *path, cons
eldbus_connection_ref(conn);
obj = eldbus_object_get(conn, bus, path);
ctx->proxy = eldbus_proxy_ge

[EGIT] [core/enlightenment] enlightenment-0.20 69/140: only attempt to rescue offscreen clients if they are completely offscreen

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 783c35622d5bc168d118353bb4cbd3afcc534cb3
Author: Mike Blumenkrantz 
Date:   Thu Mar 31 14:03:02 2016 -0400

only attempt to rescue offscreen clients if they are completely offscreen
---
 src/bin/e_client.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 998a111..6f45f3e 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1882,7 +1882,7 @@ _e_client_eval(E_Client *ec)
  ec->placed = 1;
  ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y;
   }
-else if (!E_INSIDE(ec->x, ec->y, zx, zy, zw, zh))
+else if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh))
   {
  /* If an ec is placed out of bound, fix it! */
  ec->x = zx + ((zw - ec->w) / 2);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 81/140: do not incrementally remaximize clients during shelf hide animation

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 635e056e0862903ea2b99048500f013477b0541c
Author: Mike Blumenkrantz 
Date:   Fri Apr 1 16:26:06 2016 -0400

do not incrementally remaximize clients during shelf hide animation

this looks really bad and forces unnecessary spinning
---
 src/bin/e_shelf.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c
index 6479a4b..d638fb2 100644
--- a/src/bin/e_shelf.c
+++ b/src/bin/e_shelf.c
@@ -503,7 +503,8 @@ e_shelf_move(E_Shelf *es, int x, int y)
es->x = x;
es->y = y;
evas_object_move(es->comp_object, es->zone->x + es->x, es->zone->y + es->y);
-   _e_shelf_remaximize(es);
+   if (!es->hide_animator)
+ _e_shelf_remaximize(es);
 }
 
 E_API void
@@ -515,7 +516,8 @@ e_shelf_resize(E_Shelf *es, int w, int h)
es->w = w;
es->h = h;
evas_object_resize(es->comp_object, es->w, es->h);
-   _e_shelf_remaximize(es);
+   if (!es->hide_animator)
+ _e_shelf_remaximize(es);
 }
 
 E_API void
@@ -530,7 +532,8 @@ e_shelf_move_resize(E_Shelf *es, int x, int y, int w, int h)
es->h = h;
evas_object_move(es->comp_object, es->zone->x + es->x, es->zone->y + es->y);
evas_object_resize(es->comp_object, es->w, es->h);
-   _e_shelf_remaximize(es);
+   if (!es->hide_animator)
+ _e_shelf_remaximize(es);
 }
 
 E_API void

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 105/140: redo e_place_desk_region_smart() to handle multiple screens

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 6c6ba942da806e3b7db08390bbc1a69408583aee
Author: Mike Blumenkrantz 
Date:   Tue Apr 12 13:31:59 2016 -0400

redo e_place_desk_region_smart() to handle multiple screens

this code is unbelievably bad.

fix T3404
---
 src/bin/e_place.c | 117 +++---
 1 file changed, 67 insertions(+), 50 deletions(-)

diff --git a/src/bin/e_place.c b/src/bin/e_place.c
index 40b00cd..a532241 100644
--- a/src/bin/e_place.c
+++ b/src/bin/e_place.c
@@ -56,7 +56,7 @@ _e_place_cb_sort_cmp(const void *v1, const void *v2)
 }
 
 static int
-_e_place_coverage_client_add(E_Desk *desk, Eina_List *skiplist, int ar, int x, 
int y, int w, int h)
+_e_place_coverage_client_add(Eina_List *skiplist, int ar, int x, int y, int w, 
int h)
 {
E_Client *ec;
int x2, y2, w2, h2;
@@ -67,10 +67,17 @@ _e_place_coverage_client_add(E_Desk *desk, Eina_List 
*skiplist, int ar, int x, i
  {
 if (eina_list_data_find(skiplist, ec)) continue;
 if (e_client_util_ignored_get(ec)) continue;
-x2 = (ec->x - desk->zone->x); y2 = (ec->y - desk->zone->y); w2 = 
ec->w; h2 = ec->h;
-if (E_INTERSECTS(x, y, w, h, x2, y2, w2, h2) &&
-((ec->sticky) || (ec->desk == desk)) &&
-(!ec->iconic) && (ec->visible))
+if (!evas_object_visible_get(ec->frame)) continue;
+if (ec->fullscreen) continue;
+if (ec->maximized)
+  {
+ E_Maximize max = ec->maximized & E_MAXIMIZE_TYPE;
+
+ if (max == E_MAXIMIZE_FULLSCREEN) continue;
+ if (max & (E_MAXIMIZE_HORIZONTAL | E_MAXIMIZE_VERTICAL)) continue;
+  }
+x2 = ec->x; y2 = ec->y; w2 = ec->w; h2 = ec->h;
+if (E_INTERSECTS(x, y, w, h, x2, y2, w2, h2))
   {
  x0 = x;
  if (x < x2) x0 = x2;
@@ -135,22 +142,22 @@ _e_place_array_resize(int *array, int *pos, int *size)
 }
 
 static void
-_e_place_desk_region_smart_obstacle_add(char *u_x, char *u_y, int **a_x, int 
**a_y, int *a_w, int *a_h, int *a_alloc_w, int *a_alloc_h, int zw, int zh, int 
bx, int by, int bw, int bh)
+_e_place_desk_region_smart_obstacle_add(char *u_x, char *u_y, int **a_x, int 
**a_y, int *a_w, int *a_h, int *a_alloc_w, int *a_alloc_h, int zx, int zy, int 
zw, int zh, int bx, int by, int bw, int bh)
 {
-   if (bx < 0)
+   if (bx < zx)
  {
 bw += bx;
-bx = 0;
+bx = zx;
  }
-   if ((bx + bw) > zw) bw = zw - bx;
-   if (bx >= zw) return;
-   if (by < 0)
+   if ((bx + bw) > zx + zw) bw = zx + zw - bx;
+   if (bx >= zx + zw) return;
+   if (by < zy)
  {
 bh += by;
-by = 0;
+by = zx;
  }
-   if ((by + bh) > zh) bh = zh - by;
-   if (by >= zh) return;
+   if ((by + bh) > zy + zh) bh = zy + zh - by;
+   if (by >= zy + zh) return;
if (!u_x[bx])
  {
 *a_x = _e_place_array_resize(*a_x, a_w, a_alloc_w);
@@ -182,7 +189,7 @@ e_place_desk_region_smart(E_Desk *desk, Eina_List 
*skiplist, int x, int y, int w
 {
int a_w = 0, a_h = 0, a_alloc_w = 0, a_alloc_h = 0;
int *a_x = NULL, *a_y = NULL;
-   int zw, zh;
+   int zx, zy, zw, zh;
char *u_x = NULL, *u_y = NULL;
E_Client *ec;
 
@@ -207,21 +214,23 @@ e_place_desk_region_smart(E_Desk *desk, Eina_List 
*skiplist, int x, int y, int w
a_alloc_w = 2;
a_alloc_h = 2;
 
+   zx = desk->zone->x;
+   zy = desk->zone->y;
zw = desk->zone->w;
zh = desk->zone->h;
 
-   u_x = calloc(zw + 1, sizeof(char));
-   u_y = calloc(zh + 1, sizeof(char));
+   u_x = calloc(zx + zw + 1, sizeof(char));
+   u_y = calloc(zy + zh + 1, sizeof(char));
 
-   a_x[0] = 0;
-   a_x[1] = zw;
-   a_y[0] = 0;
-   a_y[1] = zh;
+   a_x[0] = zx;
+   a_x[1] = zx + zw;
+   a_y[0] = zy;
+   a_y[1] = zy + zh;
 
-   u_x[0] = 1;
-   u_x[zw] = 1;
-   u_y[0] = 1;
-   u_y[zh] = 1;
+   u_x[zx] = 1;
+   u_x[zx + zw] = 1;
+   u_y[zy] = 1;
+   u_y[zy + zh] = 1;
 
if (e_config->window_placement_policy == E_WINDOW_PLACEMENT_SMART)
  {
@@ -239,9 +248,9 @@ e_place_desk_region_smart(E_Desk *desk, Eina_List 
*skiplist, int x, int y, int w
  by = es->y;
  bw = es->w;
  bh = es->h;
- if (E_INTERSECTS(bx, by, bw, bh, 0, 0, zw, zh))
+ if (E_INTERSECTS(bx, by, bw, bh, zx, zy, zw, zh))
_e_place_desk_region_smart_obstacle_add(u_x, u_y, &a_x, &a_y,
- &a_w, &a_h, &a_alloc_w, &a_alloc_h, zw, zh, bx, by, bw, bh);
+ &a_w, &a_h, &a_alloc_w, &a_alloc_h, zx, zy, zw, zh, bx, by, 
bw, bh);
   }
  }
 
@@ -253,7 +262,7 @@ e_place_desk_region_smart(E_Desk *desk, Eina_List 
*skiplist, int x, int y, int w
 
 if (eina_list_data_find(skiplist, ec)) continue;
 
-if (!((ec->sticky) || (ec->desk == desk))) continue;
+if (!evas_object_visible_get(ec->frame)) contin

[EGIT] [core/enlightenment] enlightenment-0.20 132/140: remove explicit edje_init/shutdown calls

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 648f9e14f5fb37c4dd55ee47021287fcd7280d77
Author: Mike Blumenkrantz 
Date:   Mon Apr 25 12:55:21 2016 -0400

remove explicit edje_init/shutdown calls

elm already handles this
---
 src/bin/e_main.c | 8 
 1 file changed, 8 deletions(-)

diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 2bfe630..8b738c3 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -501,14 +501,6 @@ main(int argc, char **argv)
  }
TS("Ecore_Evas Engine Check Done");
 
-   TS("Edje Init");
-   if (!edje_init())
- {
-e_error_message_show(_("Enlightenment cannot initialize Edje!\n"));
-_e_main_shutdown(-1);
- }
-   TS("Edje Init Done");
-   _e_main_shutdown_push(edje_shutdown);
edje_freeze();
 
/*** Initialize E Subsystems We Need ***/

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 97/140: don't send duplicate configure to wayland clients during unfullscreen

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 6f1c09689de9123fcbd179f623702063ddb9bb34
Author: Mike Blumenkrantz 
Date:   Thu Apr 7 13:56:03 2016 -0400

don't send duplicate configure to wayland clients during unfullscreen

this causes unnecessary client-side resizing
---
 src/bin/e_comp_wl.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 0fb8d7a..feec750 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -780,8 +780,6 @@ _e_comp_wl_client_evas_init(E_Client *ec)
_e_comp_wl_evas_cb_state_update, ec);
 evas_object_smart_callback_add(ec->frame, "fullscreen",
_e_comp_wl_evas_cb_state_update, ec);
-evas_object_smart_callback_add(ec->frame, "unfullscreen",
-   _e_comp_wl_evas_cb_state_update, ec);
  }
evas_object_event_callback_priority_add(ec->frame, EVAS_CALLBACK_MOVE,
EVAS_CALLBACK_PRIORITY_AFTER,

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 127/140: set NULL image data in _e_comp_object_pixels_get() on failure

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 2085721ce714da90534ce31860fab6d249fb2f91
Author: Mike Blumenkrantz 
Date:   Fri Apr 22 12:45:26 2016 -0400

set NULL image data in _e_comp_object_pixels_get() on failure

ensure that nothing is rendered here
---
 src/bin/e_comp_object.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 8c4b8c9..6ecaba5 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -869,15 +869,18 @@ _e_comp_object_setup(E_Comp_Object *cw)
 
 /* for fast path evas rendering; only called during render */
 static void
-_e_comp_object_pixels_get(void *data, Evas_Object *obj EINA_UNUSED)
+_e_comp_object_pixels_get(void *data, Evas_Object *obj)
 {
E_Comp_Object *cw = data;
E_Client *ec = cw->ec;
int pw, ph;
int bx, by, bxx, byy;
 
-   if (!ec->pixmap) return;
-   if (!e_pixmap_size_get(ec->pixmap, &pw, &ph)) return;
+   if ((!ec->pixmap) || (!e_pixmap_size_get(ec->pixmap, &pw, &ph)))
+ {
+evas_object_image_data_set(obj, NULL);
+return;
+ }
//INF("PIXEL GET %p: %dx%d || %dx%d", ec, ec->w, ec->h, pw, ph);
e_pixmap_image_opaque_get(cw->ec->pixmap, &bx, &by, &bxx, &byy);
if (bxx && byy)

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 129/140: remove some X references in settings dialogs

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 93e47dda3aee7dba8e985eddb0d3cbe138cb2c12
Author: Mike Blumenkrantz 
Date:   Fri Apr 22 13:30:05 2016 -0400

remove some X references in settings dialogs

fix T3435
---
 .../conf_applications/e_int_config_deskenv.c   | 23 +-
 src/modules/conf_display/e_int_config_desklock.c   |  2 +-
 src/modules/conf_interaction/e_int_config_mouse.c  |  4 ++--
 src/modules/conf_theme/e_int_config_xsettings.c|  2 ++
 4 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/modules/conf_applications/e_int_config_deskenv.c 
b/src/modules/conf_applications/e_int_config_deskenv.c
index 7a83124..cec587f 100644
--- a/src/modules/conf_applications/e_int_config_deskenv.c
+++ b/src/modules/conf_applications/e_int_config_deskenv.c
@@ -141,15 +141,20 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas 
*evas, E_Config_Dialog_Data
&(cfdata->exe_always_single_instance));
e_widget_framelist_object_append(fr, ob);
e_widget_list_object_append(o, fr, 1, 0, 0.0);
-   
-   fr = e_widget_framelist_add(evas, _("X11 Basics"), 0);
-   ob = e_widget_check_add(evas, _("Load X Resources"),
-   &(cfdata->load_xrdb));
-   e_widget_framelist_object_append(fr, ob);
-   ob = e_widget_check_add(evas, _("Load X Modifier Map"),
-   &(cfdata->load_xmodmap));
-   e_widget_framelist_object_append(fr, ob);
-   e_widget_list_object_append(o, fr, 1, 0, 0.0);
+
+#ifndef HAVE_WAYLAND_ONLY
+   if (e_comp->comp_type == E_PIXMAP_TYPE_X)
+ {
+fr = e_widget_framelist_add(evas, _("X11 Basics"), 0);
+ob = e_widget_check_add(evas, _("Load X Resources"),
+&(cfdata->load_xrdb));
+e_widget_framelist_object_append(fr, ob);
+ob = e_widget_check_add(evas, _("Load X Modifier Map"),
+&(cfdata->load_xmodmap));
+e_widget_framelist_object_append(fr, ob);
+e_widget_list_object_append(o, fr, 1, 0, 0.0);
+ }
+#endif

fr = e_widget_framelist_add(evas, _("Major Desktops"), 0);
ob = e_widget_check_add(evas, _("Start GNOME services on login"),
diff --git a/src/modules/conf_display/e_int_config_desklock.c 
b/src/modules/conf_display/e_int_config_desklock.c
index 8e96d9e..9223dd1 100644
--- a/src/modules/conf_display/e_int_config_desklock.c
+++ b/src/modules/conf_display/e_int_config_desklock.c
@@ -346,7 +346,7 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata)
 
/* Timers */
ol = e_widget_list_add(evas, 0, 0);
-   oc = e_widget_check_add(evas, _("Lock after X screensaver activates"),
+   oc = e_widget_check_add(evas, _("Lock after screensaver activates"),
&cfdata->screensaver_lock);
e_widget_disabled_set(oc, !cfdata->use_xscreensaver);
e_widget_list_object_append(ol, oc, 1, 1, 0.5);
diff --git a/src/modules/conf_interaction/e_int_config_mouse.c 
b/src/modules/conf_interaction/e_int_config_mouse.c
index e807809..18de2fd 100644
--- a/src/modules/conf_interaction/e_int_config_mouse.c
+++ b/src/modules/conf_interaction/e_int_config_mouse.c
@@ -155,11 +155,11 @@ _basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, 
Evas *evas, E_Config_Dia
e_widget_framelist_object_append(of, ob);
e_widget_check_widget_disable_on_unchecked_add(oc, ob);
 
-   ob = e_widget_label_add(evas, _("Theme"));
+   ob = e_widget_label_add(evas, _("E Theme"));
e_widget_framelist_object_append(of, ob);
e_widget_check_widget_disable_on_unchecked_add(oc, ob);
 
-   ob = e_widget_radio_add(evas, _("X"), 0, rg);
+   ob = e_widget_radio_add(evas, _("Application"), 0, rg);
e_widget_on_change_hook_set(ob, _use_e_cursor_cb_change, cfdata);
e_widget_framelist_object_append(of, ob);
e_widget_check_widget_disable_on_unchecked_add(oc, ob);
diff --git a/src/modules/conf_theme/e_int_config_xsettings.c 
b/src/modules/conf_theme/e_int_config_xsettings.c
index e5cf725..e3c46f8 100644
--- a/src/modules/conf_theme/e_int_config_xsettings.c
+++ b/src/modules/conf_theme/e_int_config_xsettings.c
@@ -482,9 +482,11 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas 
*evas, E_Config_Dialog_Data
 * e_widget_list_object_append(o, ow, 0, 0, 0.0); */
 
// >> advanced
+#ifndef HAVE_WAYLAND_ONLY
oc = e_widget_check_add(evas, _("Enable X Application Settings"),
&(cfdata->enable_xsettings));
e_widget_list_object_append(ol, oc, 0, 0, 0.0);
+#endif
e_widget_check_widget_disable_on_unchecked_add(oc, ilist);
e_widget_check_widget_disable_on_unchecked_add(oc, ow);
e_widget_toolbook_page_append(otb, NULL, _("GTK Applications"), ol, 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 80/140: wayland: Fix xdg-popup crash

2016-04-26 Thread Derek Foreman
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 8a40d9c6ef31b5e4731ec3e3d582441ca3c5d11b
Author: Derek Foreman 
Date:   Fri Apr 1 13:03:54 2016 -0500

wayland: Fix xdg-popup crash

We need to remove the destroy listener when we delete a pixmap or it
leaves an invalid node on the signal list.
---
 src/bin/e_pixmap.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index c429d81..2bd94a7 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -209,6 +209,11 @@ _e_pixmap_free(E_Pixmap *cp)
   case E_PIXMAP_TYPE_WL:
 #ifdef HAVE_WAYLAND
 _e_pixmap_wayland_image_clear(cp);
+if (cp->buffer_destroy_listener.notify)
+  {
+ wl_list_remove(&cp->buffer_destroy_listener.link);
+ cp->buffer_destroy_listener.notify = NULL;
+  }
 #endif
 break;
   default:

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 125/140: ensure resize is still deferred for changes.shape clients during failed resize

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 42b84fb7c8bdc6801677b4bdd9400da55272
Author: Mike Blumenkrantz 
Date:   Fri Apr 22 12:13:11 2016 -0400

ensure resize is still deferred for changes.shape clients during failed 
resize

ref c212bb4e21bd8c1334e02b3550c096ae6283f124
---
 src/bin/e_comp_object.c | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 5934a2a..037e49d 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -1135,11 +1135,13 @@ _e_comp_intercept_resize(void *data, Evas_Object *obj, 
int w, int h)
 /* shapeless clients smh */
 if (cw->ec->shaped && (!cw->ec->shape_rects)) return;
 /* pending shape change gtfo */
-if (cw->ec->changes.shape) return;
-/* client can't be resized if its pixmap isn't usable, try again */
-e_pixmap_dirty(cw->ec->pixmap);
-e_comp_object_render_update_add(obj);
-e_comp_render_queue();
+if (!cw->ec->changes.shape)
+  {
+ /* client can't be resized if its pixmap isn't usable, try again 
*/
+ e_pixmap_dirty(cw->ec->pixmap);
+ e_comp_object_render_update_add(obj);
+ e_comp_render_queue();
+  }
 cw->ec->changes.size = 1;
 EC_CHANGED(cw->ec);
 return;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 106/140: allow mixer volume increase actions to exceed 100%

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 0c0377c68648e95aab6938f02b9f6db87edfdb1c
Author: Mike Blumenkrantz 
Date:   Mon Apr 18 11:42:45 2016 -0400

allow mixer volume increase actions to exceed 100%

ref 0bbb20a3be3decbe1de16d42e829652f25c11fa7

cc @raster probably should have some kind of theme indicator in the theme
for "high" volumes > 100%
---
 src/modules/mixer/e_mod_main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c
index 8723c28..fd3e808 100644
--- a/src/modules/mixer/e_mod_main.c
+++ b/src/modules/mixer/e_mod_main.c
@@ -179,10 +179,10 @@ _volume_increase_cb(E_Object *obj EINA_UNUSED, const char 
*params EINA_UNUSED)
volume.volumes = calloc(s->volume.channel_count, sizeof(int));
for (i = 0; i < volume.channel_count; i++)
  {
-if (s->volume.volumes[i] < EMIX_VOLUME_MAX - VOLUME_STEP)
+if (s->volume.volumes[i] < (EMIX_VOLUME_MAX + 50) - VOLUME_STEP)
   volume.volumes[i] = s->volume.volumes[i] + VOLUME_STEP;
-else if (s->volume.volumes[i] < EMIX_VOLUME_MAX)
-  volume.volumes[i] = EMIX_VOLUME_MAX;
+else if (s->volume.volumes[i] < EMIX_VOLUME_MAX + 50)
+  volume.volumes[i] = EMIX_VOLUME_MAX + 50;
 else
   volume.volumes[i] = s->volume.volumes[i];
  }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 66/140: optimize case where an x11 client is focused/unfocused in same loop iteration

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit ae6d22ac40909db4b30968993140bb2b4a454ec4
Author: Mike Blumenkrantz 
Date:   Thu Mar 31 11:20:19 2016 -0400

optimize case where an x11 client is focused/unfocused in same loop 
iteration
---
 src/bin/e_comp_x.c | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 93213cf..d7a9e11 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -4503,6 +4503,11 @@ _e_comp_x_hook_client_focus_unset_job(void *d 
EINA_UNUSED)
 static void
 _e_comp_x_hook_client_focus_unset(void *d EINA_UNUSED, E_Client *ec)
 {
+   if (focus_job_client == ec)
+ {
+focus_job_client = NULL;
+E_FREE_FUNC(focus_job, ecore_job_del);
+ }
unfocus_job_client = ec;
if (!unfocus_job)
  unfocus_job = ecore_job_add(_e_comp_x_hook_client_focus_unset_job, NULL);
@@ -4542,6 +4547,11 @@ _e_comp_x_hook_client_focus_set_job(void *d EINA_UNUSED)
 static void
 _e_comp_x_hook_client_focus_set(void *d EINA_UNUSED, E_Client *ec)
 {
+   if (unfocus_job_client == ec)
+ {
+unfocus_job_client = NULL;
+E_FREE_FUNC(unfocus_job, ecore_job_del);
+ }
focus_job_client = ec;
if (!focus_job)
  focus_job = ecore_job_add(_e_comp_x_hook_client_focus_set_job, NULL);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 73/140: enforce wl xdg popup stacking relative to parent stacking

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit bf6ba1b003f3ab2ab1eabab8ade64e0bca9a0ac7
Author: Mike Blumenkrantz 
Date:   Thu Mar 31 14:05:47 2016 -0400

enforce wl xdg popup stacking relative to parent stacking
---
 src/bin/e_comp_wl.c   | 6 ++
 src/modules/wl_desktop_shell/e_mod_main.c | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index c69b49b..c78f0b5 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -555,6 +555,12 @@ _e_comp_wl_evas_cb_restack(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EIN
Eina_List *l, *ll;
 
if (e_object_is_del(E_OBJECT(ec))) return;
+   if (e_client_has_xwindow(ec)) return;
+   EINA_LIST_FOREACH(ec->transients, l, sec)
+ {
+evas_object_layer_set(sec->frame, evas_object_layer_get(ec->frame));
+evas_object_stack_above(sec->frame, ec->frame);
+ }
if (!ec->comp_data->sub.list) return;
EINA_LIST_FOREACH(ec->comp_data->sub.list, l, sec)
  evas_object_layer_set(sec->frame, evas_object_layer_get(ec->frame));
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index 5290d3d..ab6c438 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -63,6 +63,8 @@ _e_shell_surface_parent_set(E_Client *ec, struct wl_resource 
*parent_resource)
  {
 pc->transients = eina_list_append(pc->transients, ec);
 ec->parent = pc;
+evas_object_layer_set(ec->frame, evas_object_layer_get(pc->frame));
+evas_object_stack_above(ec->frame, pc->frame);
  }
 
ec->icccm.fetch.transient_for = EINA_TRUE;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 99/140: make e_client_has_xwindow() more wayland-only friendly

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit b4f664b7bcdadafc1f39c812267d719f6f8fa2e0
Author: Mike Blumenkrantz 
Date:   Fri Apr 8 11:51:18 2016 -0400

make e_client_has_xwindow() more wayland-only friendly
---
 src/bin/e_client.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 7f771ab..67ea94a 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -4981,12 +4981,13 @@ e_client_has_xwindow(const E_Client *ec)
 #ifdef HAVE_WAYLAND_ONLY
(void)ec;
return EINA_FALSE;
-#endif
-#ifdef HAVE_WAYLAND
+#else
+# ifdef HAVE_WAYLAND
if (!e_pixmap_is_x(ec->pixmap))
  return !!e_comp_wl_client_xwayland_pixmap(ec);
-#endif
+# endif
return e_pixmap_is_x(ec->pixmap);
+#endif
 }
 
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 76/140: wayland: Stop E from consuming all CPU as soon as a selection is made

2016-04-26 Thread Derek Foreman
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit b2715d2586e8c948a065583697be6f09d83dbe0c
Author: Derek Foreman 
Date:   Thu Mar 31 13:15:33 2016 -0500

wayland: Stop E from consuming all CPU as soon as a selection is made

Clipboard fds from clients are regular files, which shouldn't be passed
to fd_handler_add.  Using the wrong add function causes epoll to return
immediately and we end up running idle handlers and burning cpu.

Reviewed-by: Mike Blumenkrantz 
---
 src/bin/e_comp_wl_data.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index 420b784..cd2f1f3 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -937,9 +937,9 @@ e_comp_wl_clipboard_source_create(const char *mime_type, 
uint32_t serial, int fd
if (fd > 0)
  {
 source->fd_handler =
-  ecore_main_fd_handler_add(fd, ECORE_FD_READ,
-_e_comp_wl_clipboard_source_save,
-e_comp->wl_comp_data, NULL, NULL);
+  ecore_main_fd_handler_file_add(fd, ECORE_FD_READ | ECORE_FD_ERROR,
+ _e_comp_wl_clipboard_source_save,
+ e_comp->wl_comp_data, NULL, NULL);
 if (!source->fd_handler)
   {
  _mime_types_free(&source->data_source);

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 89/140: don't print xwayland path twice...

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit a2d6a3e0ed452539f65c2013cc44e2ed834c4ce4
Author: Mike Blumenkrantz 
Date:   Mon Apr 4 15:40:21 2016 -0400

don't print xwayland path twice...
---
 src/modules/xwayland/e_mod_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index e3afb99..49c9ec1 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -222,7 +222,7 @@ _cb_xserver_event(void *data EINA_UNUSED, Ecore_Fd_Handler 
*hdlr EINA_UNUSED)
 snprintf(disp, sizeof(disp), ":%d", exs->disp);
 
 snprintf(xserver, sizeof(xserver), "%s", XWAYLAND_BIN);
-DBG("\tLaunching %s: %s: %s", XWAYLAND_BIN, xserver, disp);
+DBG("\tLaunching %s: %s", xserver, disp);
 if (execl(xserver, xserver, disp, "-rootless", "-listen", abs_fd,
   "-listen", unx_fd, "-terminate", "-shm",
   NULL) < 0)

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 56/140: feed mouse out to internal clients upon activating a mouse binding

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit bdc8078f876c85cdd93d9b475c7aff2e117731d4
Author: Mike Blumenkrantz 
Date:   Wed Mar 30 10:22:33 2016 -0400

feed mouse out to internal clients upon activating a mouse binding

this prevents internal windows from effectively processing pending
mouse-up events

ref T3347
---
 src/bin/e_client.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index af5b479..998a111 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2877,6 +2877,7 @@ e_client_mouse_down(E_Client *ec, int button, Evas_Point 
*output, E_Binding_Even
 
   e = evas_object_evas_get(ec->internal_elm_win);
   button_mask = evas_pointer_button_down_mask_get(e);
+  evas_event_feed_mouse_out(e, 0, NULL);
   for (i = 0; i < 32; i++)
 {
   if ((button_mask & (1 << i)))

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 60/140: reshuffle notifications on replace

2016-04-26 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit fbb24d9e13995036047e26e2ba159c239f880857
Author: Mike Blumenkrantz 
Date:   Wed Mar 30 16:20:49 2016 -0400

reshuffle notifications on replace
---
 src/modules/notification/e_mod_popup.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/notification/e_mod_popup.c 
b/src/modules/notification/e_mod_popup.c
index de86673..470c5e3 100644
--- a/src/modules/notification/e_mod_popup.c
+++ b/src/modules/notification/e_mod_popup.c
@@ -133,6 +133,7 @@ notification_popup_notify(E_Notification_Notify *n,
 popup->notif = n;
 popup->id = id;
 _notification_popup_refresh(popup);
+_notification_reshuffle_cb(NULL, NULL, NULL, NULL);
  }
else if (!n->replaces_id)
  {

-- 




  1   2   >