[EGIT] [apps/express] master 01/01: express: Initialize home variable to NULL

2015-10-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=b91eb6ff85908b6a2ebbf9120b3bb9544091dab6

commit b91eb6ff85908b6a2ebbf9120b3bb9544091dab6
Author: Chris Michael 
Date:   Mon Oct 26 11:04:58 2015 -0400

express: Initialize home variable to NULL

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

diff --git a/src/bin/utils.c b/src/bin/utils.c
index a263739..b83bbe9 100644
--- a/src/bin/utils.c
+++ b/src/bin/utils.c
@@ -543,7 +543,7 @@ _util_is_file(const char *str)
 static Eina_Bool
 _homedir_get(char *buf, size_t size)
 {
-   const char *home;
+   const char *home = NULL;
 
 #if defined (HAVE_GETUID) && defined(HAVE_GETEUID)
if (getuid() != geteuid())

-- 




[EGIT] [apps/express] master 01/01: express: Fix adding conformant widget

2015-10-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=7e420f44ec14a3baf0104ee489f734c0ed0eb5e4

commit 7e420f44ec14a3baf0104ee489f734c0ed0eb5e4
Author: Chris Michael 
Date:   Mon Oct 26 11:13:36 2015 -0400

express: Fix adding conformant widget

Summary: This fixes an issue where the elm_conformant widget was not
being added to the proper evas object

@fix

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

diff --git a/src/bin/window.c b/src/bin/window.c
index 856f381..a4e2ebe 100644
--- a/src/bin/window.c
+++ b/src/bin/window.c
@@ -376,7 +376,7 @@ _window_create(void)
evas_object_show(_win->o_bg);
 
/* add a conformant here */
-   _win->o_conform = elm_conformant_add(_win->evas);
+   _win->o_conform = elm_conformant_add(_win->o_win);
WEIGHT_SET(_win->o_conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
FILL_SET(_win->o_conform, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_win_resize_object_add(_win->o_win, _win->o_conform);

-- 




[EGIT] [apps/express] master 01/01: express: Fix issue of adding elm_icon to improper parent

2015-10-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=4211d3c94902cdcbe4b74f33a0e125cd7442f958

commit 4211d3c94902cdcbe4b74f33a0e125cd7442f958
Author: Chris Michael 
Date:   Mon Oct 26 11:19:31 2015 -0400

express: Fix issue of adding elm_icon to improper parent

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

diff --git a/src/bin/channel.c b/src/bin/channel.c
index 7be2383..c6f57a6 100644
--- a/src/bin/channel.c
+++ b/src/bin/channel.c
@@ -1260,7 +1260,7 @@ _channel_userlist_user_append(Channel *chl, const char 
*user, Eina_Bool op)
 char buff[PATH_MAX];
 static char data[] = "1";
 
-icon = elm_icon_add(chl->o_bg);
+icon = elm_icon_add(chl->userlist.o_list);
 elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
 WEIGHT_SET(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
 ALIGN_SET(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);

-- 




[EGIT] [apps/express] master 01/01: express: Add support for receiving private messages

2015-10-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=6c7fde0aaa52926cb4528f3869e9f47ba7bf786e

commit 6c7fde0aaa52926cb4528f3869e9f47ba7bf786e
Author: Chris Michael 
Date:   Mon Oct 26 11:59:31 2015 -0400

express: Add support for receiving private messages

Summary: This adds preliminary support for receiving private messages.
This will automatically create a new channel view for any received
private messages (based on sender).

@feature

Signed-off-by: Chris Michael 
---
 src/bin/callbacks.c | 35 +++
 1 file changed, 27 insertions(+), 8 deletions(-)

diff --git a/src/bin/callbacks.c b/src/bin/callbacks.c
index ede7b02..b9d00c9 100644
--- a/src/bin/callbacks.c
+++ b/src/bin/callbacks.c
@@ -336,15 +336,34 @@ _callback_user_join(Express_Network *net, const char 
*event EINA_UNUSED, const c
 }
 
 void 
-_callback_user_private(Express_Network *net EINA_UNUSED, const char *event 
EINA_UNUSED, const char *source, const char **params, unsigned int count, void 
*data EINA_UNUSED)
+_callback_user_private(Express_Network *net, const char *event EINA_UNUSED, 
const char *source, const char **params, unsigned int count EINA_UNUSED, void 
*data EINA_UNUSED)
 {
-   DBG("User Private %s", params[0]);
-   DBG("\tCount: %d", count);
-   DBG("\tUser: %s", source);
-   DBG("\tMessage:");
-   DBG("\t%s", params[1]);
-   DBG("\t%s", params[2]);
-   DBG("\t%s", params[3]);
+   Channel * chl = NULL;
+
+   /* DBG("User Private %s", params[0]); */
+   /* DBG("\tCount: %d", count); */
+   /* DBG("\tUser: %s", source); */
+   /* DBG("\tMessage:"); */
+   /* DBG("\t%s", params[1]); // message */
+   /* DBG("\t%s", params[2]); */
+   /* DBG("\t%s", params[3]); */
+
+   if (!(chl = _window_channel_find(source)))
+ {
+Express_Server *srv;
+
+if ((srv = express_network_server_connected_get(net)))
+  {
+ const char *srv_name = NULL;
+
+ srv_name = express_network_server_realname_get(srv);
+ if ((chl = _window_channel_create(source, srv_name)))
+   _channel_network_set(chl, net);
+  }
+ }
+
+   _channel_text_append(chl, source, params[1],
+_row_color_simple_create(COLOR_TEXT));
 }
 
 void 

-- 




[EGIT] [apps/express] master 01/01: express: Comment out debugging messages for user nick changes

2015-10-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=5f1ac00a8c66559b292fc4efe5361ace2fd55fe1

commit 5f1ac00a8c66559b292fc4efe5361ace2fd55fe1
Author: Chris Michael 
Date:   Mon Oct 26 12:01:18 2015 -0400

express: Comment out debugging messages for user nick changes

Signed-off-by: Chris Michael 
---
 src/bin/callbacks.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/bin/callbacks.c b/src/bin/callbacks.c
index b9d00c9..8d4a828 100644
--- a/src/bin/callbacks.c
+++ b/src/bin/callbacks.c
@@ -367,7 +367,7 @@ _callback_user_private(Express_Network *net, const char 
*event EINA_UNUSED, cons
 }
 
 void 
-_callback_user_nick(Express_Network *net EINA_UNUSED, const char *event 
EINA_UNUSED, const char *source, const char **params, unsigned int count, void 
*data EINA_UNUSED)
+_callback_user_nick(Express_Network *net EINA_UNUSED, const char *event 
EINA_UNUSED, const char *source, const char **params, unsigned int count 
EINA_UNUSED, void *data EINA_UNUSED)
 {
Eina_List *channels, *l;
Channel *chl;
@@ -380,13 +380,13 @@ _callback_user_nick(Express_Network *net EINA_UNUSED, 
const char *event EINA_UNU
else
  eina_strlcpy(user, params[0], strlen(params[0]) + 1);
 
-   DBG("User Changed Nick %s", user);
-   DBG("\tCount: %d", count);
-   DBG("\tUser: %s", source);
-   DBG("\tMessage:");
-   DBG("\t%s", params[1]);
-   DBG("\t%s", params[2]);
-   DBG("\t%s", params[3]);
+   /* DBG("User Changed Nick %s", user); */
+   /* DBG("\tCount: %d", count); */
+   /* DBG("\tUser: %s", source); */
+   /* DBG("\tMessage:"); */
+   /* DBG("\t%s", params[1]); */
+   /* DBG("\t%s", params[2]); */
+   /* DBG("\t%s", params[3]); */
 
snprintf(buff, sizeof(buff), "%s is now known as %s\r\n", source, user);
 

-- 




[EGIT] [apps/express] master 01/01: express: Reduce calls to treeview update

2015-10-26 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=92eb062bc790f102d794992470d4f51ac1dc34ef

commit 92eb062bc790f102d794992470d4f51ac1dc34ef
Author: Chris Michael 
Date:   Mon Oct 26 15:37:56 2015 -0400

express: Reduce calls to treeview update

Summary: If we assign the network to the channel earlier in the
process, we can reduce calls to update the window treeview

@fix

Signed-off-by: Chris Michael 
---
 src/bin/callbacks.c |  8 
 src/bin/window.c| 14 --
 src/bin/window.h|  2 +-
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/bin/callbacks.c b/src/bin/callbacks.c
index 8d4a828..f9cc79f 100644
--- a/src/bin/callbacks.c
+++ b/src/bin/callbacks.c
@@ -321,8 +321,8 @@ _callback_user_join(Express_Network *net, const char *event 
EINA_UNUSED, const c
  const char *srv_name = NULL;
 
  srv_name = express_network_server_realname_get(srv);
- if ((chl = _window_channel_create(channel, srv_name)))
-   _channel_network_set(chl, net);
+ chl = _window_channel_create(net, channel, srv_name);
+ if (!chl) return;
   }
  }
 
@@ -357,8 +357,8 @@ _callback_user_private(Express_Network *net, const char 
*event EINA_UNUSED, cons
  const char *srv_name = NULL;
 
  srv_name = express_network_server_realname_get(srv);
- if ((chl = _window_channel_create(source, srv_name)))
-   _channel_network_set(chl, net);
+ chl = _window_channel_create(net, source, srv_name);
+ if (!chl) return;
   }
  }
 
diff --git a/src/bin/window.c b/src/bin/window.c
index a4e2ebe..95451c9 100644
--- a/src/bin/window.c
+++ b/src/bin/window.c
@@ -391,7 +391,7 @@ _window_create(void)
evas_object_show(_win->o_base);
 
/* try to create a default channel */
-   if ((chl = _window_channel_create("Status", NULL)))
+   if ((chl = _window_channel_create(NULL, "Status", NULL)))
  {
 /* swallow channel background */
 _window_channel_swallow(chl);
@@ -555,7 +555,7 @@ _window_size_update(void)
 }
 
 Channel *
-_window_channel_create(const char *name, const char *server)
+_window_channel_create(Express_Network *network, const char *name, const char 
*server)
 {
Channel *chl;
 
@@ -567,6 +567,8 @@ _window_channel_create(const char *name, const char *server)
 
_channel_window_set(chl, _win->o_win);
 
+   _channel_network_set(chl, network);
+
/* force channel config update */
_channel_update(chl);
 
@@ -881,7 +883,7 @@ _window_network_channels_create(Express_Network *net)
continue;
 
  /* try to create a channel */
- if (!(chl = _window_channel_create(cfg_chl->name, srv_name))) 
+ if (!(chl = _window_channel_create(net, cfg_chl->name, srv_name)))
{
   express_network_channel_part(net, cfg_chl->name);
   continue;
@@ -893,8 +895,6 @@ _window_network_channels_create(Express_Network *net)
 break;
  }
 
-   _window_treeview_update();
-
/* if (i >= 0) */
/*   { */
 /* remove the default channel window
@@ -942,7 +942,7 @@ _window_network_channels_destroy(Express_Network *net)
 Channel *chl;
 
 /* try to create a default channel */
-if ((chl = _window_channel_create("Status", NULL)))
+if ((chl = _window_channel_create(NULL, "Status", NULL)))
   {
  /* swallow channel background */
  _window_channel_swallow(chl);
@@ -1030,6 +1030,8 @@ _window_tabcount_update(void)
int n = 0, i = 0;
double v1 = 0.0, v2 = 0.0;
 
+   if (!_ex_cfg->gui.tabs) return;
+
n = eina_list_count(_win->channels);
if (n < 1) return;
 
diff --git a/src/bin/window.h b/src/bin/window.h
index eac6d83..2655340 100644
--- a/src/bin/window.h
+++ b/src/bin/window.h
@@ -6,7 +6,7 @@ Eina_Bool _window_destroy(void);
 void _window_update(void);
 void _window_size_update(void);
 
-Channel *_window_channel_create(const char *name, const char *server);
+Channel *_window_channel_create(Express_Network *network, const char *name, 
const char *server);
 void _window_channel_destroy(const char *name);
 Channel *_window_channel_find(const char *name);
 Channel *_window_channel_server_find(const char *server);

-- 




[EGIT] [apps/express] master 01/01: express: Fix crash when adding channel groups

2015-10-27 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=928de66e3906c61ccce8ecc7181635b4093e839b

commit 928de66e3906c61ccce8ecc7181635b4093e839b
Author: Chris Michael 
Date:   Tue Oct 27 11:05:30 2015 -0400

express: Fix crash when adding channel groups

This fixes an issue when having channels from more than one network
would crash when adding channel groups to the treeview

@fix

Signed-off-by: Chris Michael 
---
 src/bin/channel.c | 32 +++
 src/bin/channel.h |  4 +--
 src/bin/window.c  | 94 +--
 3 files changed, 69 insertions(+), 61 deletions(-)

diff --git a/src/bin/channel.c b/src/bin/channel.c
index c6f57a6..af58d6e 100644
--- a/src/bin/channel.c
+++ b/src/bin/channel.c
@@ -45,7 +45,6 @@ struct _Channel
 Evas_Object *o_frame;
 Evas_Object *o_box;
 Evas_Object *o_list;
-Elm_Object_Item *group;
 Elm_Genlist_Item_Class *itc, *gitc;
  } treeview;
 
@@ -1447,37 +1446,28 @@ _channel_treeview_clear(Channel *chl)
elm_genlist_clear(chl->treeview.o_list);
 }
 
-void 
+Elm_Object_Item *
 _channel_treeview_group_add(Channel *chl, const char *group)
 {
Elm_Object_Item *it;
 
-   it = elm_genlist_item_append(chl->treeview.o_list, chl->treeview.gitc, 
-group, NULL, ELM_GENLIST_ITEM_GROUP,
-NULL, NULL);
-   elm_genlist_item_expanded_set(it, EINA_FALSE);
+   it =
+ elm_genlist_item_append(chl->treeview.o_list, chl->treeview.gitc,
+ group, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+   elm_genlist_item_expanded_set(it, EINA_TRUE);
elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
 
-   if (chl->net)
- {
-const char *netname;
-
-if ((netname = express_network_name_get(chl->net)))
-  {
- if (!strcmp(netname, group))
-   chl->treeview.group = it;
-  }
- }
+   return it;
 }
 
 void 
-_channel_treeview_group_item_add(Channel *pchl, Channel *chl)
+_channel_treeview_group_item_add(Channel *pchl, Channel *chl, Elm_Object_Item 
*group)
 {
Elm_Object_Item *it;
 
it = 
- elm_genlist_item_append(pchl->treeview.o_list, pchl->treeview.itc, 
- chl, pchl->treeview.group, ELM_GENLIST_ITEM_NONE, 
+ elm_genlist_item_append(pchl->treeview.o_list, pchl->treeview.itc,
+ chl, group, ELM_GENLIST_ITEM_NONE,
  _cb_treeview_selected, NULL);
 
if (chl->active)
@@ -1490,8 +1480,8 @@ _channel_treeview_item_add(Channel *pchl, Channel *chl)
Elm_Object_Item *it;
 
it = 
- elm_genlist_item_append(pchl->treeview.o_list, pchl->treeview.itc, 
- chl, NULL, ELM_GENLIST_ITEM_NONE, 
+ elm_genlist_item_append(pchl->treeview.o_list, pchl->treeview.itc,
+ chl, NULL, ELM_GENLIST_ITEM_NONE,
  _cb_treeview_selected, NULL);
 
if (chl->active)
diff --git a/src/bin/channel.h b/src/bin/channel.h
index a07d6cc..7171bf8 100644
--- a/src/bin/channel.h
+++ b/src/bin/channel.h
@@ -64,8 +64,8 @@ void _channel_tabspacer_create(Channel *chl, double v1, 
double v2);
 void _channel_tabspacer_destroy(Channel *chl);
 
 void _channel_treeview_clear(Channel *chl);
-void _channel_treeview_group_add(Channel *chl, const char *group);
-void _channel_treeview_group_item_add(Channel *pchl, Channel *chl);
+Elm_Object_Item *_channel_treeview_group_add(Channel *chl, const char *group);
+void _channel_treeview_group_item_add(Channel *pchl, Channel *chl, 
Elm_Object_Item *group);
 void _channel_treeview_item_add(Channel *pchl, Channel *chl);
 
 Eina_Bool _channel_user_find(Channel *chl, const char *user);
diff --git a/src/bin/window.c b/src/bin/window.c
index 95451c9..6404a46 100644
--- a/src/bin/window.c
+++ b/src/bin/window.c
@@ -7,6 +7,12 @@
 #include "options.h"
 #include "callbacks.h"
 
+typedef struct _Group
+{
+   char *name;
+   Eina_List *channels;
+} Group;
+
 struct _Window
 {
Evas *evas;
@@ -337,12 +343,6 @@ _window_new(void)
return win;
 }
 
-static int 
-_cb_groups_sort(const void *d1, const void *d2)
-{
-   return strcasecmp(d1, d2);
-}
-
 /* external functions */
 Eina_Bool 
 _window_create(void)
@@ -1054,59 +1054,77 @@ _window_tabcount_update(void)
  }
 }
 
+static void
+_cb_groups_free(void *data)
+{
+   Group *group;
+
+   group = data;
+   free(group->name);
+   free(group);
+}
+
 void 
 _window_treeview_update(void)
 {
-   Eina_List *l, *groups = NULL;
-   Eina_List *ll, *channels = NULL;
-   Channel *chl;
-   const char *name;
+   Eina_List *l, *ll;
+   Channel *chl, *lchl;
+   Eina_Hash *groups;
+   Group *group;
+   Eina_Iterator *itr;
+   void *data = NULL;
+
+   groups = eina_hash_strin

[EGIT] [apps/express] master 02/02: express: Set treeview items to always selected mode

2015-10-27 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=23ce92e3192e719e43570a6d1cb8dac5b7106366

commit 23ce92e3192e719e43570a6d1cb8dac5b7106366
Author: Chris Michael 
Date:   Tue Oct 27 11:26:13 2015 -0400

express: Set treeview items to always selected mode

Signed-off-by: Chris Michael 
---
 src/bin/channel.c | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/bin/channel.c b/src/bin/channel.c
index af58d6e..c3cd335 100644
--- a/src/bin/channel.c
+++ b/src/bin/channel.c
@@ -667,13 +667,12 @@ _cb_treeview_selected(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void
if ((pchl = _window_channel_active_get()))
  {
 if (pchl != chl)
-  _window_channel_unswallow(pchl);
+  {
+ _window_channel_unswallow(pchl);
+ _window_channel_activate(chl);
+ _window_channel_swallow(chl);
+  }
  }
-
-   _window_channel_activate(chl);
-   _window_channel_swallow(chl);
-
-   /* elm_genlist_item_selected_set(item, EINA_TRUE); */
 }
 
 static void 
@@ -1469,6 +1468,7 @@ _channel_treeview_group_item_add(Channel *pchl, Channel 
*chl, Elm_Object_Item *g
  elm_genlist_item_append(pchl->treeview.o_list, pchl->treeview.itc,
  chl, group, ELM_GENLIST_ITEM_NONE,
  _cb_treeview_selected, NULL);
+   elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_ALWAYS);
 
if (chl->active)
  elm_genlist_item_selected_set(it, EINA_TRUE);
@@ -1483,6 +1483,7 @@ _channel_treeview_item_add(Channel *pchl, Channel *chl)
  elm_genlist_item_append(pchl->treeview.o_list, pchl->treeview.itc,
  chl, NULL, ELM_GENLIST_ITEM_NONE,
  _cb_treeview_selected, NULL);
+   elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_ALWAYS);
 
if (chl->active)
  elm_genlist_item_selected_set(it, EINA_TRUE);

-- 




[EGIT] [apps/express] master 01/02: express: Remove blank line

2015-10-27 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=470dee67e91161142da0bc6708af4b91b2c9da2e

commit 470dee67e91161142da0bc6708af4b91b2c9da2e
Author: Chris Michael 
Date:   Tue Oct 27 11:13:34 2015 -0400

express: Remove blank line

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

diff --git a/src/bin/window.c b/src/bin/window.c
index 6404a46..b758185 100644
--- a/src/bin/window.c
+++ b/src/bin/window.c
@@ -702,7 +702,6 @@ _window_channel_activate(Channel *chl)
snprintf(buff, sizeof(buff), "%s - %s", elm_app_name_get(), 
 _channel_name_get(chl));
elm_win_title_set(_win->o_win, buff);
-
 }
 
 Channel *

-- 




[EGIT] [core/efl] master 01/01: ecore-evas-wayland: Use proper Ecore_Wl2 window functions

2015-12-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 9f1eb3e021d3050367dcb096d2091d91061e33eb
Author: Chris Michael 
Date:   Thu Dec 3 14:55:42 2015 -0500

ecore-evas-wayland: Use proper Ecore_Wl2 window functions

To get the proper maximized and fullscreen states, we should be using
the ecore_wl2_window functions, not the ecore_wl_window functions

@fix

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

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 1659988..a7500f2 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -183,8 +183,8 @@ _ecore_evas_wl_common_cb_window_configure(void *data 
EINA_UNUSED, int type EINA_
 
prev_max = ee->prop.maximized;
prev_full = ee->prop.fullscreen;
-   ee->prop.maximized = ecore_wl_window_maximized_get(wdata->win);
-   ee->prop.fullscreen = ecore_wl_window_fullscreen_get(wdata->win);
+   ee->prop.maximized = ecore_wl2_window_maximized_get(wdata->win);
+   ee->prop.fullscreen = ecore_wl2_window_fullscreen_get(wdata->win);
 
nw = ev->w;
nh = ev->h;

-- 




[EGIT] [core/elementary] master 01/01: elementary: Don't call ecore_wl2_shutdown unless we have a display

2015-12-04 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=1d876e8fbaafe7bf0469597f52b319fe919ac6b4

commit 1d876e8fbaafe7bf0469597f52b319fe919ac6b4
Author: Chris Michael 
Date:   Fri Dec 4 10:47:44 2015 -0500

elementary: Don't call ecore_wl2_shutdown unless we have a display

During _elm_config_sub_shutdown we were explicitly calling
ecore_wl2_shutdown. We should only be doing this if we are actually in
a wayland environment.

@fix

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

diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
index 5b1fa2f..22b4909 100644
--- a/src/lib/elm_config.c
+++ b/src/lib/elm_config.c
@@ -3327,8 +3327,11 @@ _elm_config_sub_shutdown(void)
if (ecore_x_display_get()) ecore_x_shutdown();
 #endif
 #ifdef HAVE_ELEMENTARY_WL2
-   if (_elm_wl_display) ecore_wl2_display_disconnect(_elm_wl_display);
-   ecore_wl2_shutdown();
+   if (_elm_wl_display)
+ {
+ecore_wl2_display_disconnect(_elm_wl_display);
+ecore_wl2_shutdown();
+ }
 #endif
 #ifdef HAVE_ELEMENTARY_WIN32
ecore_win32_shutdown();

-- 




[EGIT] [core/efl] master 01/01: ecore-evas-wl: Cleanup creating a wayland canvas

2015-12-04 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 04a4b599aba597552f466e81ee2e7d2473877ea4
Author: Chris Michael 
Date:   Fri Dec 4 11:35:35 2015 -0500

ecore-evas-wl: Cleanup creating a wayland canvas

Unsure where all these extra display_connect calls came from, but
remove them.

@fix

Signed-off-by: Chris Michael 
---
 .../engines/wayland/ecore_evas_wayland_egl.c| 21 -
 .../engines/wayland/ecore_evas_wayland_shm.c| 21 -
 2 files changed, 42 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
index cb7befb..8f4fea9 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
@@ -149,27 +149,6 @@ ecore_evas_wayland_egl_new_internal(const char *disp_name, 
unsigned int parent,
 return NULL;
  }
 
-   ewd = ecore_wl2_display_connect(disp_name);
-   if (!ewd)
- {
-ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
- }
-
-   ewd = ecore_wl2_display_connect(disp_name);
-   if (!ewd)
- {
-ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
- }
-
-   ewd = ecore_wl2_display_connect(disp_name);
-   if (!ewd)
- {
-ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
- }
-
if (!(ee = calloc(1, sizeof(Ecore_Evas
  {
 ERR("Failed to allocate Ecore_Evas");
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
index e8be589..c516de6 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
@@ -148,27 +148,6 @@ ecore_evas_wayland_shm_new_internal(const char *disp_name, 
unsigned int parent,
 return NULL;
  }
 
-   ewd = ecore_wl2_display_connect(disp_name);
-   if (!ewd)
- {
-ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
- }
-
-   ewd = ecore_wl2_display_connect(disp_name);
-   if (!ewd)
- {
-ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
- }
-
-   ewd = ecore_wl2_display_connect(disp_name);
-   if (!ewd)
- {
-ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
- }
-
if (!(ee = calloc(1, sizeof(Ecore_Evas
  {
 ERR("Failed to allocate Ecore_Evas");

-- 




[EGIT] [core/efl] master 01/01: ecore-evas-wayland: Properly cleanup ecore_wl2 during error

2015-12-04 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 49e645d695a65c31dc6d32e3d432bc26140fee22
Author: Chris Michael 
Date:   Fri Dec 4 11:40:54 2015 -0500

ecore-evas-wayland: Properly cleanup ecore_wl2 during error

If we fail to connect to an existing wayland display, then we should
properly cleanup (call ecore_wl2_shutdown) before exiting

@fix

Signed-off-by: Chris Michael 
---
 .../ecore_evas/engines/wayland/ecore_evas_wayland_egl.c  | 12 ++--
 .../ecore_evas/engines/wayland/ecore_evas_wayland_shm.c  |  9 -
 2 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
index 8f4fea9..b6b0189 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
@@ -146,7 +146,7 @@ ecore_evas_wayland_egl_new_internal(const char *disp_name, 
unsigned int parent,
if (!ewd)
  {
 ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
+goto conn_err;
  }
 
if (!(ee = calloc(1, sizeof(Ecore_Evas
@@ -284,12 +284,12 @@ ecore_evas_wayland_egl_new_internal(const char 
*disp_name, unsigned int parent,
 
return ee;
 
- err:
+err:
ecore_evas_free(ee);
-   return NULL;
-
- ee_err:
-   ecore_wl_shutdown();
+ee_err:
+   ecore_wl2_display_disconnect(ewd);
+conn_err:
+   ecore_wl2_shutdown();
return NULL;
 }
 
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
index c516de6..fb1e25b 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
@@ -145,7 +145,7 @@ ecore_evas_wayland_shm_new_internal(const char *disp_name, 
unsigned int parent,
if (!ewd)
  {
 ERR("Failed to connect to Wayland Display %s", disp_name);
-return NULL;
+goto conn_err;
  }
 
if (!(ee = calloc(1, sizeof(Ecore_Evas
@@ -280,12 +280,11 @@ ecore_evas_wayland_shm_new_internal(const char 
*disp_name, unsigned int parent,
 
return ee;
 
- err:
+err:
ecore_evas_free(ee);
-   return NULL;
-
- ee_err:
+ee_err:
ecore_wl2_display_disconnect(ewd);
+conn_err:
ecore_wl2_shutdown();
return NULL;
 }

-- 




[EGIT] [core/efl] master 02/02: ecore-evas-wayland: Acknowledge configure event post render

2015-12-04 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 3a8cfeb6d6feb077c30d2d8eea74babf16616613
Author: Chris Michael 
Date:   Fri Dec 4 14:15:19 2015 -0500

ecore-evas-wayland: Acknowledge configure event post render

This fixes a potential issue where we may have been sending the
configure acknowledgement before applying the actual new configuration
to the surface. Sending the ack_configure during post-render ensures
that we have already rendered according to the new configure
(addresses deferred rendering issue).

@fix

Signed-off-by: Chris Michael 
---
 src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c | 7 +++
 .../ecore_evas/engines/wayland/ecore_evas_wayland_private.h| 1 +
 2 files changed, 8 insertions(+)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index a7500f2..0a36eec 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -1351,8 +1351,15 @@ _ecore_evas_wl_common_render_updates(void *data, Evas 
*evas EINA_UNUSED, void *e
 void
 _ecore_evas_wl_common_post_render(Ecore_Evas *ee)
 {
+   Ecore_Evas_Engine_Wl_Data *wdata;
+
LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   wdata = ee->engine.data;
+   if (wdata->win->configure_ack)
+ wdata->win->configure_ack(wdata->win->xdg_surface,
+   wdata->win->configure_serial);
+
_ecore_evas_idle_timeout_update(ee);
if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
 }
diff --git 
a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
index f627d29..2551c0f 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
@@ -21,6 +21,7 @@
 #include 
 #include 
 #include 
+#include "ecore_wl2_private.h"
 
 #include 
 #include "ecore_evas_private.h"

-- 




[EGIT] [core/efl] master 01/02: ecore-wl2: Implement function pointer for configure acknowledge

2015-12-04 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 298d66377eddb44deca081ac19eeeab006b876f1
Author: Chris Michael 
Date:   Fri Dec 4 14:12:06 2015 -0500

ecore-wl2: Implement function pointer for configure acknowledge

We need a way to store the configure serial, and make the
xdg_surface_ack_configure callback be callable by Ecore_Evas at the
appropriate time. This fixes an issue where previously we were
(potentially) sending a configure acknowledgment while not applying
the configure due to deferred rendering.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_private.h | 3 +++
 src/lib/ecore_wl2/ecore_wl2_window.c  | 6 --
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h 
b/src/lib/ecore_wl2/ecore_wl2_private.h
index 1b0eebc..fee3649 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -117,6 +117,9 @@ struct _Ecore_Wl2_Window
struct xdg_surface *xdg_surface;
struct xdg_popup *xdg_popup;
 
+   uint32_t configure_serial;
+   void (*configure_ack)(struct xdg_surface *surface, uint32_t serial);
+
Eina_Rectangle saved;
Eina_Rectangle geometry;
Eina_Rectangle opaque;
diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index 3fc7a9f..590dc66 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -112,10 +112,10 @@ _xdg_surface_cb_configure(void *data, struct xdg_surface 
*xdg_surface EINA_UNUSE
   }
  }
 
+   win->configure_serial = serial;
+
if ((w > 0) && (h > 0))
  _ecore_wl2_window_configure_send(win, w, h, 0);
-
-   xdg_surface_ack_configure(win->xdg_surface, serial);
 }
 
 static void
@@ -314,6 +314,8 @@ ecore_wl2_window_show(Ecore_Wl2_Window *window)
 xdg_surface_set_user_data(window->xdg_surface, window);
 xdg_surface_add_listener(window->xdg_surface,
  &_xdg_surface_listener, window);
+
+window->configure_ack = xdg_surface_ack_configure;
  }
else if ((disp->wl.wl_shell) && (!window->wl_shell_surface))
  {

-- 




[EGIT] [core/efl] master 02/02: ecore-evas-wayland: Fix issue of starting resizing causing size jumps

2015-12-09 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit b5f8966fbed5e758d57a29fb079219f8ed96cd46
Author: Chris Michael 
Date:   Wed Dec 9 12:03:53 2015 -0500

ecore-evas-wayland: Fix issue of starting resizing causing size jumps

Previously, when we started to resize an efl app, the size would
"jump" due to framespace being adjusted. This patch fixes that issue
and resize now works as expected.

@fix

Signed-off-by: Chris Michael 
---
 .../engines/wayland/ecore_evas_wayland_common.c| 23 +++---
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 4b090ef..e5ccd88 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -167,8 +167,7 @@ _ecore_evas_wl_common_cb_window_configure(void *data 
EINA_UNUSED, int type EINA_
Ecore_Evas *ee;
Ecore_Evas_Engine_Wl_Data *wdata;
Ecore_Wl2_Event_Window_Configure *ev;
-   int nw = 0, nh = 0;
-   int fw = 0, fh = 0;
+   int nw = 0, nh = 0, fy = 0;
Eina_Bool prev_max, prev_full;
 
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@@ -200,21 +199,13 @@ _ecore_evas_wl_common_cb_window_configure(void *data 
EINA_UNUSED, int type EINA_
 
/* NB: We receive window configure sizes based on xdg surface
 * window geometry, so we need to subtract framespace here */
-   evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
+   evas_output_framespace_get(ee->evas, NULL, &fy, NULL, NULL);
+   nh = (ev->h - fy);
 
-   if (ECORE_EVAS_PORTRAIT(ee))
- {
-nw -= fw;
-nh -= fh;
- }
-   else
- {
-nw -= fh;
-nh -= fw;
- }
-
-   if (ee->prop.fullscreen || (ee->x != ev->x) || (ee->y != ev->y))
- _ecore_evas_wl_common_move(ee, ev->x, ev->y);
+   /* NB: This block commented out for now. Unsure this is really needed.
+* Maximize and moving both seem to work fine without this */
+   /* if (ee->prop.fullscreen || (ee->x != ev->x) || (ee->y != ev->y)) */
+   /*   _ecore_evas_wl_common_move(ee, ev->x, ev->y); */
 
if (ee->prop.fullscreen || (ee->req.w != nw) || (ee->req.h != nh))
  _ecore_evas_wl_common_resize(ee, nw, nh);

-- 




[EGIT] [core/efl] master 01/02: ecore-evas-wayland: Move configure acknowledge to render_flush_pre

2015-12-09 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit abbfde9d68b7e54d0561f5263f4b8797c8b7aa51
Author: Chris Michael 
Date:   Wed Dec 9 09:38:01 2015 -0500

ecore-evas-wayland: Move configure acknowledge to render_flush_pre

If we acknowledge a configure from xdg during post render, we end up
breaking maximize of EFL clients inside Weston (and perhaps other
compositors). In order to fix that, we will now send the configure ack
post render but pre flush.

@fix

Signed-off-by: Chris Michael 
---
 .../engines/wayland/ecore_evas_wayland_common.c   | 19 ---
 .../engines/wayland/ecore_evas_wayland_egl.c  |  3 +++
 .../engines/wayland/ecore_evas_wayland_private.h  |  1 +
 .../engines/wayland/ecore_evas_wayland_shm.c  |  3 +++
 4 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index f0f5f92..4b090ef 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -1310,6 +1310,18 @@ _ecore_evas_wl_common_render_pre(void *data, Evas *evas 
EINA_UNUSED, void *event
ecore_evas_manual_render_set(ee, 1);
 }
 
+void
+_ecore_evas_wl_common_render_flush_pre(void *data, Evas *evas EINA_UNUSED, 
void *event EINA_UNUSED)
+{
+   Ecore_Evas *ee = data;
+   Ecore_Evas_Engine_Wl_Data *wdata;
+
+   wdata = ee->engine.data;
+   if (wdata->win->configure_ack)
+ wdata->win->configure_ack(wdata->win->xdg_surface,
+   wdata->win->configure_serial);
+}
+
 void 
 _ecore_evas_wl_common_render_updates(void *data, Evas *evas EINA_UNUSED, void 
*event)
 {
@@ -1342,15 +1354,8 @@ _ecore_evas_wl_common_render_updates(void *data, Evas 
*evas EINA_UNUSED, void *e
 void
 _ecore_evas_wl_common_post_render(Ecore_Evas *ee)
 {
-   Ecore_Evas_Engine_Wl_Data *wdata;
-
LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-   wdata = ee->engine.data;
-   if (wdata->win->configure_ack)
- wdata->win->configure_ack(wdata->win->xdg_surface,
-   wdata->win->configure_serial);
-
_ecore_evas_idle_timeout_update(ee);
if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
 }
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
index b6b0189..6514968 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
@@ -236,6 +236,9 @@ ecore_evas_wayland_egl_new_internal(const char *disp_name, 
unsigned int parent,
evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_PRE,
 _ecore_evas_wl_common_render_pre, ee);
 
+   evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_FLUSH_PRE,
+   _ecore_evas_wl_common_render_flush_pre, ee);
+
/* FIXME: This needs to be set based on theme & scale */
if (ee->prop.draw_frame)
  evas_output_framespace_set(ee->evas, fx, fy, fw, fh);
diff --git 
a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
index 2551c0f..6d6b695 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
@@ -75,6 +75,7 @@ int  _ecore_evas_wl_common_pre_render(Ecore_Evas *ee);
 /* int  _ecore_evas_wl_common_render_updates(Ecore_Evas *ee); */
 void _ecore_evas_wl_common_post_render(Ecore_Evas *ee);
 int  _ecore_evas_wl_common_render(Ecore_Evas *ee);
+void _ecore_evas_wl_common_render_flush_pre(void *data, Evas *evas 
EINA_UNUSED, void *event EINA_UNUSED);
 void _ecore_evas_wl_common_screen_geometry_get(const Ecore_Evas *ee, int *x, 
int *y, int *w, int *h);
 void _ecore_evas_wl_common_screen_dpi_get(const Ecore_Evas *ee, int *xdpi, int 
*ydpi);
 void _ecore_evas_wl_common_render_pre(void *data, Evas *evas EINA_UNUSED, void 
*event);
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
index fb1e25b..0592feb 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
@@ -232,6 +232,9 @@ ecore_evas_wayland_shm_new_internal(const char *disp_name, 
unsigned int parent,
evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_PRE,
 _ecore_evas_wl_common_render_pre, ee);
 
+   evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_FLUSH_PRE,
+   _ecore_evas_wl

[EGIT] [core/enlightenment] master 01/01: Add function to clear and reload keyboard modifiers

2015-12-11 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 7733e873fd845a6d21bd4b64a64e43186f5a361a
Author: Chris Michael 
Date:   Fri Dec 11 13:29:36 2015 -0500

Add function to clear and reload keyboard modifiers

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl_input.c | 11 +++
 src/bin/e_comp_wl_input.h |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index ec9d2e1..79f75d4 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -643,3 +643,14 @@ e_comp_wl_input_touch_check(struct wl_resource *res)
return wl_resource_instance_of(res, &wl_touch_interface,
   &_e_touch_interface);
 }
+
+EINTERN void
+e_comp_wl_input_keyboard_modifers_clear(void)
+{
+   e_comp_wl->kbd.mod_depressed = 0;
+   e_comp_wl->kbd.mod_latched = 0;
+   e_comp_wl->kbd.mod_locked = 0;
+   e_comp_wl->kbd.mod_group = 0;
+
+   e_comp_wl_input_keyboard_modifiers_serialize();
+}
diff --git a/src/bin/e_comp_wl_input.h b/src/bin/e_comp_wl_input.h
index b3300c8..a9bc9d4 100644
--- a/src/bin/e_comp_wl_input.h
+++ b/src/bin/e_comp_wl_input.h
@@ -23,6 +23,8 @@ EINTERN void e_comp_wl_input_keyboard_modifiers_update(void);
 EINTERN void e_comp_wl_input_keyboard_state_update(uint32_t keycode, Eina_Bool 
pressed);
 EINTERN void e_comp_wl_input_keyboard_enter_send(E_Client *client);
 
+EINTERN void e_comp_wl_input_keyboard_modifers_clear(void);
+
 E_API void e_comp_wl_input_pointer_enabled_set(Eina_Bool enabled);
 E_API void e_comp_wl_input_keyboard_enabled_set(Eina_Bool enabled);
 E_API void e_comp_wl_input_touch_enabled_set(Eina_Bool enabled);

-- 




[EGIT] [core/enlightenment] master 01/01: Fix type of size fields for E_Shell_Data

2015-12-15 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit e40033be0a9d7cab056d0f7bd52db7a1e2bb2d9b
Author: Chris Michael 
Date:   Tue Dec 15 10:20:33 2015 -0500

Fix type of size fields for E_Shell_Data

In the xdg_surface_configure_send function, the size params
(width/height) come in as int32_t. This patch makes the E_Shell_Data
fields for width & height match those (else we end up with compiler
warnings when comparing int32_t to uint32_t).

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

diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index 9935c35..bb4020d 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -8,8 +8,8 @@
 struct E_Shell_Data
 {
uint32_t edges;
-   uint32_t width;
-   uint32_t height;
+   int32_t width;
+   int32_t height;
Eina_Bool fullscreen : 1;
Eina_Bool maximized : 1;
Eina_Bool activated : 1;

-- 




[EGIT] [core/elementary] master 01/01: elementary: Comment out unused functions

2015-12-24 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 5b0c5c23b473f2cd13fc972a2d685133b4f93dcc
Author: Chris Michael 
Date:   Thu Dec 24 16:51:30 2015 -0500

elementary: Comment out unused functions

Seems these 2 functions are currently unused inside elm_calendar. For
now, let's just #if 0 them out

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

diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c
index 65e13e7..0ba6fa5 100644
--- a/src/lib/elm_calendar.c
+++ b/src/lib/elm_calendar.c
@@ -79,6 +79,7 @@ _button_widget_year_dec_start(void *data,
   void *event_info EINA_UNUSED);
 
 /* This two functions should be moved in Eina for next release. */
+#if 0
 static Eina_Tmpstr *
 _eina_tmpstr_strftime(const char *format, const struct tm *tm)
 {
@@ -121,6 +122,7 @@ _eina_tmpstr_steal(Eina_Tmpstr *s)
eina_tmpstr_del(s);
return r;
 }
+#endif
 
 static Eina_Bool _key_action_move(Evas_Object *obj, const char *params);
 

-- 




[EGIT] [core/enlightenment] master 01/01: Add missing function prototype for e_winlist_direction_select

2015-12-24 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit bc716aae54450fd1f604e39bec5d386ad6e333ff
Author: Chris Michael 
Date:   Thu Dec 24 16:58:39 2015 -0500

Add missing function prototype for e_winlist_direction_select

This function is being used inside e_mod_main, but the function
prototype was never exposed which lead to implicit declaration
warnings when building winlist module

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

diff --git a/src/modules/winlist/e_winlist.h b/src/modules/winlist/e_winlist.h
index 00260eb..a31ffad 100644
--- a/src/modules/winlist/e_winlist.h
+++ b/src/modules/winlist/e_winlist.h
@@ -27,5 +27,6 @@ void e_winlist_right(E_Zone *zone);
 void e_winlist_down(E_Zone *zone);
 void e_winlist_up(E_Zone *zone);
 void e_winlist_modifiers_set(int mod, E_Winlist_Activate_Type type);
+void e_winlist_direction_select(E_Zone *zone, int dir);
 
 #endif

-- 




[EGIT] [core/efl] master 02/02: ecore-wl2: Fix MIN() macro comparing int vs unsigned int

2015-12-28 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit d91e403a98f5343b312bda2e24cf27156cf8
Author: Chris Michael 
Date:   Mon Dec 28 09:15:01 2015 -0500

ecore-wl2: Fix MIN() macro comparing int vs unsigned int

@fix

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

diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index e72506a..db0435d 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -77,7 +77,7 @@ _cb_global_add(void *data, struct wl_registry *registry, 
unsigned int id, const
 
if (!strcmp(interface, "wl_compositor"))
  {
-int request_version = 3;
+unsigned int request_version = 3;
 #ifdef WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION
 request_version = 4;
 #endif

-- 




[EGIT] [core/efl] master 01/01: eo: Fix resource leak

2015-12-28 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit c94289d0b2e0a80b3f20bb2a409479dbb2f96a04
Author: Chris Michael 
Date:   Mon Dec 28 10:09:36 2015 -0500

eo: Fix resource leak

Coverity CID1339783 says that we have a potential resource leak here.
'cb' gets allocated via calloc, but is not freed if we end up
returning here

@fix

Signed-off-by: Chris Michael 
---
 src/lib/eo/eo_base_class.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index f99ca37..756dc05 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -564,6 +564,7 @@ _eo_base_event_callback_priority_add(Eo *obj, Eo_Base_Data 
*pd,
if (!cb || !desc || !func)
  {
 ERR("Tried adding callback with invalid values: cb: %p desc: %p func: 
%p\n", cb, desc, func);
+free(cb);
 return;
  }
cb->items.item.desc = desc;

-- 




[EGIT] [core/enlightenment] v0.20.2 10/13: Add missing function prototype for e_winlist_direction_select

2015-12-28 Thread Chris Michael
discomfitor pushed a commit to annotated tag v0.20.2.

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

commit 31d948a0870a173a6a94ee0e56730cb94093bdb8
Author: Chris Michael 
Date:   Thu Dec 24 16:58:39 2015 -0500

Add missing function prototype for e_winlist_direction_select

This function is being used inside e_mod_main, but the function
prototype was never exposed which lead to implicit declaration
warnings when building winlist module

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

diff --git a/src/modules/winlist/e_winlist.h b/src/modules/winlist/e_winlist.h
index 00260eb..a31ffad 100644
--- a/src/modules/winlist/e_winlist.h
+++ b/src/modules/winlist/e_winlist.h
@@ -27,5 +27,6 @@ void e_winlist_right(E_Zone *zone);
 void e_winlist_down(E_Zone *zone);
 void e_winlist_up(E_Zone *zone);
 void e_winlist_modifiers_set(int mod, E_Winlist_Activate_Type type);
+void e_winlist_direction_select(E_Zone *zone, int dir);
 
 #endif

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 08/11: Add missing function prototype for e_winlist_direction_select

2015-12-28 Thread Chris Michael
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit fbeb88d6a9cb891d054e4c600bcc89f4dcdcda23
Author: Chris Michael 
Date:   Thu Dec 24 16:58:39 2015 -0500

Add missing function prototype for e_winlist_direction_select

This function is being used inside e_mod_main, but the function
prototype was never exposed which lead to implicit declaration
warnings when building winlist module

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

diff --git a/src/modules/winlist/e_winlist.h b/src/modules/winlist/e_winlist.h
index 00260eb..a31ffad 100644
--- a/src/modules/winlist/e_winlist.h
+++ b/src/modules/winlist/e_winlist.h
@@ -27,5 +27,6 @@ void e_winlist_right(E_Zone *zone);
 void e_winlist_down(E_Zone *zone);
 void e_winlist_up(E_Zone *zone);
 void e_winlist_modifiers_set(int mod, E_Winlist_Activate_Type type);
+void e_winlist_direction_select(E_Zone *zone, int dir);
 
 #endif

-- 




[EGIT] [core/enlightenment] master 01/01: Fix xbl_avail variable being used when it could be undefined

2015-12-28 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 8554024cba26d54dbee2fe92231e3dfa14b8ca0f
Author: Chris Michael 
Date:   Mon Dec 28 14:30:56 2015 -0500

Fix xbl_avail variable being used when it could be undefined

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

diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c
index c90e2ef..95d03be 100644
--- a/src/bin/e_backlight.c
+++ b/src/bin/e_backlight.c
@@ -254,7 +254,9 @@ _e_backlight_update(void)
if (bl_sysval)
  {
 sysmode = MODE_SYS;
+#ifndef HAVE_WAYLAND_ONLY
 xbl_avail = EINA_FALSE;
+#endif
 _bl_sys_level_get();
 return;
  }

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Add missing variable 'dev'

2015-12-29 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 0d6383d69f18b87fbf5ec2b87817baa80b32a4bd
Author: Chris Michael 
Date:   Tue Dec 29 09:12:50 2015 -0500

ecore-drm: Add missing variable 'dev'

Seems this should have been declared in the previously pushed patch,
but was missing.

@fix

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

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index b40aa43..a57c7e8 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -647,6 +647,8 @@ _ecore_drm_evdev_device_create(Ecore_Drm_Seat *seat, struct 
libinput_device *dev
 
if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_POINTER))
  {
+Ecore_Drm_Device *dev;
+
 edev->seat_caps |= EVDEV_SEAT_POINTER;
 
 /* TODO: make this configurable */

-- 




[EGIT] [core/elementary] master 01/01: elementary: Fix formatting

2015-12-29 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit fbbd8a86de623bf104821f34dd7473e8f76c6bb7
Author: Chris Michael 
Date:   Tue Dec 29 10:24:08 2015 -0500

elementary: Fix formatting

NB: No functional changes

Signed-off-by: Chris Michael 
---
 src/lib/elm_main.c | 37 +++--
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
index 333d3a9..4469873 100644
--- a/src/lib/elm_main.c
+++ b/src/lib/elm_main.c
@@ -273,7 +273,8 @@ _elm_clouseau_reload()
return EINA_TRUE;
 }
 
-static Eina_Bool _sys_memory_changed(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event EINA_UNUSED)
+static Eina_Bool
+_sys_memory_changed(void *data EINA_UNUSED, int type EINA_UNUSED, void *event 
EINA_UNUSED)
 {
Ecore_Memory_State state = ecore_memory_state_get();
 
@@ -284,7 +285,8 @@ static Eina_Bool _sys_memory_changed(void *data 
EINA_UNUSED, int type EINA_UNUSE
return ECORE_CALLBACK_PASS_ON;
 }
 
-static Eina_Bool _sys_lang_changed(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event EINA_UNUSED)
+static Eina_Bool
+_sys_lang_changed(void *data EINA_UNUSED, int type EINA_UNUSED, void *event 
EINA_UNUSED)
 {
char *lang;
 
@@ -303,8 +305,7 @@ static Eina_Bool _sys_lang_changed(void *data EINA_UNUSED, 
int type EINA_UNUSED,
 }
 
 EAPI int
-elm_init(intargc,
- char **argv)
+elm_init(int argc, char **argv)
 {
_elm_init_count++;
if (_elm_init_count > 1) return _elm_init_count;
@@ -312,8 +313,10 @@ elm_init(intargc,
elm_quicklaunch_sub_init(argc, argv);
_prefix_shutdown();
 
-   system_handlers[0] = ecore_event_handler_add(ECORE_EVENT_MEMORY_STATE, 
_sys_memory_changed, NULL);
-   system_handlers[1] = ecore_event_handler_add(ECORE_EVENT_LOCALE_CHANGED, 
_sys_lang_changed, NULL);
+   system_handlers[0] =
+ ecore_event_handler_add(ECORE_EVENT_MEMORY_STATE, _sys_memory_changed, 
NULL);
+   system_handlers[1] =
+ ecore_event_handler_add(ECORE_EVENT_LOCALE_CHANGED, _sys_lang_changed, 
NULL);
 
if (_elm_config->atspi_mode != ELM_ATSPI_MODE_OFF)
  _elm_atspi_bridge_init();
@@ -325,9 +328,8 @@ EAPI int
 elm_shutdown(void)
 {
if (_elm_init_count <= 0)
- {
-return 0;
- }
+ return 0;
+
_elm_init_count--;
if (_elm_init_count > 0) return _elm_init_count;
 
@@ -488,8 +490,10 @@ elm_need_e_dbus(void)
 #ifndef RTLD_NOLOAD
 # define RTLD_NOLOAD RTLD_GLOBAL
 #endif
-   if (!e_dbus_handle) e_dbus_handle = dlopen("libedbus.so", RTLD_LAZY | 
RTLD_NOLOAD);
-   if (!e_dbus_handle) e_dbus_handle = dlopen("libedbus.so.1", RTLD_LAZY | 
RTLD_NOLOAD);
+   if (!e_dbus_handle)
+ e_dbus_handle = dlopen("libedbus.so", RTLD_LAZY | RTLD_NOLOAD);
+   if (!e_dbus_handle)
+ e_dbus_handle = dlopen("libedbus.so.1", RTLD_LAZY | RTLD_NOLOAD);
if (!e_dbus_handle) return EINA_FALSE;
init_func = dlsym(e_dbus_handle, "e_dbus_init");
if (!init_func) return EINA_FALSE;
@@ -640,7 +644,8 @@ elm_quicklaunch_init(intargc,
ecore_file_init();
eio_init();
 
-   _elm_exit_handler = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, 
_elm_signal_exit, NULL);
+   _elm_exit_handler =
+ ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, _elm_signal_exit, NULL);
 
if (argv)
  {
@@ -662,9 +667,7 @@ elm_quicklaunch_init(intargc,
if (!_elm_data_dir) _elm_data_dir = eina_stringshare_add("/");
if (!_elm_lib_dir) _elm_lib_dir = eina_stringshare_add("/");
 
-   eina_log_timing(_elm_log_dom,
-   EINA_LOG_STATE_STOP,
-   EINA_LOG_STATE_INIT);
+   eina_log_timing(_elm_log_dom, EINA_LOG_STATE_STOP, EINA_LOG_STATE_INIT);
 
if (quicklaunch_on)
  _elm_init_count++;
@@ -736,9 +739,7 @@ elm_quicklaunch_shutdown(void)
_elm_ql_init_count--;
if (_elm_ql_init_count > 0) return _elm_ql_init_count;
 
-   eina_log_timing(_elm_log_dom,
-   EINA_LOG_STATE_STOP,
-   EINA_LOG_STATE_SHUTDOWN);
+   eina_log_timing(_elm_log_dom, EINA_LOG_STATE_STOP, EINA_LOG_STATE_SHUTDOWN);
 
if (pfx) eina_prefix_free(pfx);
pfx = NULL;

-- 




[EGIT] [apps/express] master 01/02: express: Add support for animated gifs

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=91a981dc00ecc8852dab6a4e286e170749b5125b

commit 91a981dc00ecc8852dab6a4e286e170749b5125b
Author: Chris Michael 
Date:   Mon Aug 3 13:07:34 2015 -0400

express: Add support for animated gifs

Signed-off-by: Chris Michael 
---
 src/bin/media.c | 60 -
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/src/bin/media.c b/src/bin/media.c
index 619470e..dc38458 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -26,6 +26,8 @@ struct _Media
int tmpfd;
int w, h, iw, ih, sw, sh;
int mode, resizes;
+   int frame, frame_num, loops;
+   Ecore_Timer *anim;
 
Media_Type type;
 
@@ -54,6 +56,61 @@ _media_cb_img_preloaded(void *data, Evas *evas EINA_UNUSED, 
Evas_Object *obj EIN
evas_object_show(sd->o_clip);
 }
 
+static Eina_Bool
+_img_cb_frame(void *data)
+{
+   Media *sd;
+   double t;
+   int frame;
+
+   if (!(sd = evas_object_smart_data_get(data))) return EINA_FALSE;
+   sd->frame++;
+   frame = ((sd->frame - 1) % sd->frame_num) + 1;
+   if ((sd->frame >= sd->frame_num) && (frame == 1))
+ {
+int loops;
+
+if (evas_object_image_animated_loop_type_get(sd->o_img) ==
+EVAS_IMAGE_ANIMATED_HINT_NONE)
+  {
+ sd->anim = NULL;
+ return EINA_FALSE;
+  }
+
+sd->loops++;
+loops = evas_object_image_animated_loop_count_get(sd->o_img);
+if (loops != 0)
+  {
+ if (loops < sd->loops)
+   {
+  sd->anim = NULL;
+  return EINA_FALSE;
+   }
+  }
+ }
+
+   evas_object_image_animated_frame_set(sd->o_img, frame);
+   t = evas_object_image_animated_frame_duration_get(sd->o_img, frame, 0);
+   ecore_timer_interval_set(sd->anim, t);
+
+   return EINA_TRUE;
+}
+
+static void
+_img_type_anim_handle(Evas_Object *obj)
+{
+   Media *sd;
+   double t;
+
+   if (!(sd = evas_object_smart_data_get(obj))) return;
+   if (!evas_object_image_animated_get(sd->o_img)) return;
+   sd->frame = 1;
+   sd->frame_num = evas_object_image_animated_frame_count_get(sd->o_img);
+   if (sd->frame_num < 2) return;
+   t = evas_object_image_animated_frame_duration_get(sd->o_img, sd->frame, 0);
+   sd->anim = ecore_timer_add(t, _img_cb_frame, obj);
+}
+
 static void 
 _img_type_init(Evas_Object *obj)
 {
@@ -71,7 +128,8 @@ _img_type_init(Evas_Object *obj)
evas_object_image_file_set(sd->o_img, sd->realf, NULL);
evas_object_image_size_get(sd->o_img, &sd->iw, &sd->ih);
evas_object_image_preload(sd->o_img, EINA_FALSE);
-   /* TODO: anim handle */
+
+   _img_type_anim_handle(obj);
 }
 
 static void 

-- 




[EGIT] [apps/express] master 02/02: express: Add support for media thumbnails

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=331f331bcbbe3faaaf2d6f0357be00fd577a8ada

commit 331f331bcbbe3faaaf2d6f0357be00fd577a8ada
Author: Chris Michael 
Date:   Mon Aug 3 13:37:21 2015 -0400

express: Add support for media thumbnails

Signed-off-by: Chris Michael 
---
 src/bin/media.c | 208 ++--
 1 file changed, 202 insertions(+), 6 deletions(-)

diff --git a/src/bin/media.c b/src/bin/media.c
index dc38458..6b811ae 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -18,6 +18,7 @@ struct _Media
 
Ecore_Con_Url *url;
Ecore_Event_Handler *_prog_hdlr, *_compl_hdlr;
+   Ethumb_Client_Async *et_req;
 
const char *src, *ext, *realf;
 
@@ -43,8 +44,13 @@ struct _Media
 
 static Evas_Smart *_smart = NULL;
 static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_NULL;
+static Ethumb_Client *et_client = NULL;
+static Eina_Bool et_connected = EINA_FALSE;
+static Eina_List *et_queue = NULL;
 
 static void _smart_calculate(Evas_Object *obj);
+static void _thumb_type_init(Evas_Object *obj);
+static void _ethumb_init(void);
 
 static void 
 _media_cb_img_preloaded(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
@@ -187,6 +193,192 @@ _img_type_calc(Media *sd, Evas_Coord x, Evas_Coord y, 
Evas_Coord w, Evas_Coord h
evas_object_resize(sd->o_img, w, h);
 }
 
+static void
+_thumb_type_calc(Media *sd, Evas_Coord x, Evas_Coord y, Evas_Coord w, 
Evas_Coord h)
+{
+   if (!sd) return;
+   if ((w <= 0) || (h <= 0) || (sd->iw <= 0) || (sd->ih <= 0))
+ {
+w = 1;
+h = 1;
+ }
+   else
+ {
+int iw = 1, ih = 1;
+
+iw = w;
+ih = (sd->ih * w) / sd->iw;
+if (ih > h)
+  {
+ ih = h;
+ iw = (sd->iw * h) / sd->ih;
+ if (iw > w) iw = w;
+  }
+if ((iw > sd->iw) || (ih > sd->ih))
+  {
+ iw = sd->iw;
+ ih = sd->ih;
+  }
+
+x += ((w - iw) / 2);
+y += ((h - ih) / 2);
+w = iw;
+h = ih;
+ }
+
+   evas_object_move(sd->o_img, x, y);
+   evas_object_resize(sd->o_img, w, h);
+}
+
+static void
+_thumb_cb_preloaded(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
+{
+   Media *sd;
+   Evas_Coord ox, oy, ow, oh;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   evas_object_geometry_get(data, &ox, &oy, &ow, &oh);
+   _thumb_type_calc(sd, ox, oy, ow, oh);
+   evas_object_show(sd->o_img);
+   evas_object_show(sd->o_clip);
+}
+
+static void
+_ethumb_cb_done(Ethumb_Client *ec EINA_UNUSED, const char *file, const char 
*key, void *data)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   sd->et_req = NULL;
+   evas_object_event_callback_add(sd->o_img, EVAS_CALLBACK_IMAGE_PRELOADED,
+  _thumb_cb_preloaded, data);
+   evas_object_image_file_set(sd->o_img, file, key);
+   evas_object_image_size_get(sd->o_img, &sd->iw, &sd->ih);
+   evas_object_image_preload(sd->o_img, EINA_FALSE);
+}
+
+static void
+_ethumb_cb_error(Ethumb_Client *ec EINA_UNUSED, void *data)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   sd->et_req = NULL;
+}
+
+static void
+_ethumb_disconnect(void *data EINA_UNUSED, Ethumb_Client *ec)
+{
+   if (ec != et_client) return;
+   ethumb_client_disconnect(et_client);
+   et_connected = EINA_FALSE;
+   et_client = NULL;
+   if (et_queue) _ethumb_init();
+}
+
+static void
+_ethumb_connect(void *data EINA_UNUSED, Ethumb_Client *ec, Eina_Bool ok)
+{
+   if (ok)
+ {
+Evas_Object *o;
+
+et_connected = EINA_TRUE;
+
+ethumb_client_on_server_die_callback_set(ec, _ethumb_disconnect,
+ NULL, NULL);
+
+EINA_LIST_FREE(et_queue, o)
+  _thumb_type_init(o);
+ }
+   else
+ et_client = NULL;
+}
+
+static void
+_ethumb_init(void)
+{
+   if (et_client) return;
+   ethumb_client_init();
+   et_client = ethumb_client_connect(_ethumb_connect, NULL, NULL);
+}
+
+static void
+_thumb_type_theme_init(Evas_Object *obj)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(obj))) return;
+
+   if ((sd->realf) && (sd->realf[0] != '/'))
+ {
+static const char *icon_theme = NULL;
+const char *f;
+
+if (!icon_theme)
+  {
+ Efreet_Icon_Theme *theme;
+
+ theme = efreet_icon_theme_find(getenv("E_ICON_THEME"));
+ if (!theme)
+   {
+  const char **itr;
+  static const char *themes[] =
+{
+   "Human", "oxygen", "gnome&q

[EGIT] [apps/express] master 01/01: express: Remove TODO items that have already been done

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=9bfc4b4e9615d5adca0a9574c6b950fe5047c3b3

commit 9bfc4b4e9615d5adca0a9574c6b950fe5047c3b3
Author: Chris Michael 
Date:   Mon Aug 3 13:40:37 2015 -0400

express: Remove TODO items that have already been done

Signed-off-by: Chris Michael 
---
 src/bin/options_font.c | 2 --
 src/bin/window.c   | 1 -
 2 files changed, 3 deletions(-)

diff --git a/src/bin/options_font.c b/src/bin/options_font.c
index 62be019..4608475 100644
--- a/src/bin/options_font.c
+++ b/src/bin/options_font.c
@@ -71,7 +71,6 @@ _cb_font_sel(void *data, Evas_Object *obj EINA_UNUSED, void 
*event EINA_UNUSED)
 
eina_stringshare_replace(&_ex_cfg->font.name, f->name);
_ex_cfg->font.bitmap = f->bitmap;
-   /* TODO: update sizing ? */
_config_save();
 
elm_object_disabled_set(o_small, f->bitmap);
@@ -91,7 +90,6 @@ _cb_size_sel(void *data, Evas_Object *obj, void *event 
EINA_UNUSED)
if (_ex_cfg->font.size == size) return;
 
_ex_cfg->font.size = size;
-   /* TODO: update sizing ? */
elm_genlist_realized_items_update(o_list);
_config_save();
 }
diff --git a/src/bin/window.c b/src/bin/window.c
index 32f47bc..936784a 100644
--- a/src/bin/window.c
+++ b/src/bin/window.c
@@ -237,7 +237,6 @@ _cb_idle(void *data EINA_UNUSED)
 /* cbs.mode = ; */
 /* cbs.user_mode = ; */
 /* cbs.kick = ; */
-/* cbs.notice = ; */
 /* cbs.invite = ; */
 /* cbs.numeric = ; */
 /* cbs.unknown = ; */

-- 




[EGIT] [apps/express] master 01/01: express: Add support for scaleable media (svg, etc)

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=4519bfb63ad98601aa61432c7da921b924b4f5d5

commit 4519bfb63ad98601aa61432c7da921b924b4f5d5
Author: Chris Michael 
Date:   Mon Aug 3 14:21:37 2015 -0400

express: Add support for scaleable media (svg, etc)

Signed-off-by: Chris Michael 
---
 src/bin/media.c | 233 
 1 file changed, 219 insertions(+), 14 deletions(-)

diff --git a/src/bin/media.c b/src/bin/media.c
index 6b811ae..b122081 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -15,6 +15,7 @@ struct _Media
Evas_Object *o_ctrl;
Evas_Object *o_busy;
Evas_Object *o_event;
+   Evas_Object *o_tmp;
 
Ecore_Con_Url *url;
Ecore_Event_Handler *_prog_hdlr, *_compl_hdlr;
@@ -28,7 +29,9 @@ struct _Media
int w, h, iw, ih, sw, sh;
int mode, resizes;
int frame, frame_num, loops;
-   Ecore_Timer *anim;
+
+   Ecore_Timer *anim_tmr;
+   Ecore_Timer *smooth_tmr;
 
Media_Type type;
 
@@ -38,6 +41,7 @@ struct _Media
 Eina_Bool down : 1;
  } down;
 
+   Eina_Bool nosmooth : 1;
Eina_Bool downloading : 1;
Eina_Bool queued : 1;
 };
@@ -53,7 +57,7 @@ static void _thumb_type_init(Evas_Object *obj);
 static void _ethumb_init(void);
 
 static void 
-_media_cb_img_preloaded(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
+_img_cb_preloaded(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
 {
Media *sd;
 
@@ -79,7 +83,7 @@ _img_cb_frame(void *data)
 if (evas_object_image_animated_loop_type_get(sd->o_img) ==
 EVAS_IMAGE_ANIMATED_HINT_NONE)
   {
- sd->anim = NULL;
+ sd->anim_tmr = NULL;
  return EINA_FALSE;
   }
 
@@ -89,7 +93,7 @@ _img_cb_frame(void *data)
   {
  if (loops < sd->loops)
{
-  sd->anim = NULL;
+  sd->anim_tmr = NULL;
   return EINA_FALSE;
}
   }
@@ -97,7 +101,7 @@ _img_cb_frame(void *data)
 
evas_object_image_animated_frame_set(sd->o_img, frame);
t = evas_object_image_animated_frame_duration_get(sd->o_img, frame, 0);
-   ecore_timer_interval_set(sd->anim, t);
+   ecore_timer_interval_set(sd->anim_tmr, t);
 
return EINA_TRUE;
 }
@@ -114,7 +118,7 @@ _img_type_anim_handle(Evas_Object *obj)
sd->frame_num = evas_object_image_animated_frame_count_get(sd->o_img);
if (sd->frame_num < 2) return;
t = evas_object_image_animated_frame_duration_get(sd->o_img, sd->frame, 0);
-   sd->anim = ecore_timer_add(t, _img_cb_frame, obj);
+   sd->anim_tmr = ecore_timer_add(t, _img_cb_frame, obj);
 }
 
 static void 
@@ -129,7 +133,7 @@ _img_type_init(Evas_Object *obj)
evas_object_clip_set(sd->o_img, sd->o_clip);
evas_object_raise(sd->o_event);
evas_object_event_callback_add(sd->o_img, EVAS_CALLBACK_IMAGE_PRELOADED,
-  _media_cb_img_preloaded, obj);
+  _img_cb_preloaded, obj);
evas_object_image_load_orientation_set(sd->o_img, EINA_TRUE);
evas_object_image_file_set(sd->o_img, sd->realf, NULL);
evas_object_image_size_get(sd->o_img, &sd->iw, &sd->ih);
@@ -379,6 +383,203 @@ _thumb_type_init(Evas_Object *obj)
_thumb_type_theme_init(obj);
 }
 
+static void
+_scale_cb_preloaded(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+
+   if (!sd->o_tmp)
+ {
+evas_object_show(sd->o_img);
+evas_object_show(sd->o_clip);
+ }
+   else
+ {
+evas_object_del(sd->o_img);
+sd->o_img = sd->o_tmp;
+sd->o_tmp = NULL;
+evas_object_show(sd->o_img);
+evas_object_show(sd->o_clip);
+ }
+}
+
+static void
+_scale_type_calc(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, 
Evas_Coord h)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(obj))) return;
+
+   if ((w <= 0) || (h <= 0) || (sd->iw <= 0) || (sd->ih <= 0))
+ {
+w = 1;
+h = 1;
+ }
+   else
+ {
+int iw = 1, ih = 1;
+
+if ((sd->mode & MEDIA_SIZE_MASK) == MEDIA_BG)
+  {
+ iw = w;
+ ih = (sd->ih * w) / sd->iw;
+ if (ih < h)
+   {
+  ih = h;
+  iw = (sd->iw * h) / sd->ih;
+  if (iw < w) iw = w;
+   }
+  }
+else if ((sd->mode & MEDIA_SIZE_MASK) == MEDIA_POP)
+  {
+ iw = w;
+ ih = (sd->ih * w) / sd->iw;
+ if (ih > h)
+   {

[EGIT] [apps/express] master 01/03: express: Delete temporary scale object

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=40bd2ad0bf6df39e83ff4aae6a5c75f494931f31

commit 40bd2ad0bf6df39e83ff4aae6a5c75f494931f31
Author: Chris Michael 
Date:   Mon Aug 3 14:25:42 2015 -0400

express: Delete temporary scale object

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

diff --git a/src/bin/media.c b/src/bin/media.c
index b122081..6c011df 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -741,6 +741,7 @@ _smart_del(Evas_Object *obj)
if (sd->o_ctrl) evas_object_del(sd->o_ctrl);
if (sd->o_busy) evas_object_del(sd->o_busy);
if (sd->o_event) evas_object_del(sd->o_event);
+   if (sd->o_tmp) evas_object_del(sd->o_tmp);
 
if (sd->anim_tmr) ecore_timer_del(sd->anim_tmr);
if (sd->smooth_tmr) ecore_timer_del(sd->smooth_tmr);

-- 




[EGIT] [apps/express] master 03/03: express: Actually initialize image object for scaler

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=f08d916f27b6c0d6afa31ba6b226228957888b4c

commit f08d916f27b6c0d6afa31ba6b226228957888b4c
Author: Chris Michael 
Date:   Mon Aug 3 14:29:37 2015 -0400

express: Actually initialize image object for scaler

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

diff --git a/src/bin/media.c b/src/bin/media.c
index 4333463..961aa09 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -950,10 +950,10 @@ _media_add(Evas_Object *parent, const char *src, int 
mode, Media_Type type)
 PACKAGE_NAME);
 
 sd->realf = eina_stringshare_add(path);
-sd->url_prog_hdlr = 
+sd->url_prog_hdlr =
   
ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS,
   _media_cb_prog, obj);
-sd->url_compl_hdlr = 
+sd->url_compl_hdlr =
   
ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE,
   _media_cb_compl, obj);
  }
@@ -994,8 +994,9 @@ _media_add(Evas_Object *parent, const char *src, int mode, 
Media_Type type)
case MEDIA_TYPE_IMG:
  if (!sd->url) _img_type_init(obj);
  break;
-   /* case MEDIA_TYPE_SCALE: */
-   /*   break; */
+   case MEDIA_TYPE_SCALE:
+ if (!sd->url) _scale_type_init(obj);
+ break;
/* case MEDIA_TYPE_EDJE: */
/*   break; */
/* case MEDIA_TYPE_MOV: */

-- 




[EGIT] [apps/express] master 02/03: express: Rename url handlers

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=ca1e9c87c7b9ba400e4b983a97129ed280a9def6

commit ca1e9c87c7b9ba400e4b983a97129ed280a9def6
Author: Chris Michael 
Date:   Mon Aug 3 14:28:33 2015 -0400

express: Rename url handlers

Signed-off-by: Chris Michael 
---
 src/bin/media.c | 26 +-
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/bin/media.c b/src/bin/media.c
index 6c011df..4333463 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -18,7 +18,7 @@ struct _Media
Evas_Object *o_tmp;
 
Ecore_Con_Url *url;
-   Ecore_Event_Handler *_prog_hdlr, *_compl_hdlr;
+   Ecore_Event_Handler *url_prog_hdlr, *url_compl_hdlr;
Ethumb_Client_Async *et_req;
 
const char *src, *ext, *realf;
@@ -659,11 +659,11 @@ _media_cb_compl(void *data, int type EINA_UNUSED, void 
*event)
if (ev->url_con != sd->url) return EINA_TRUE;
 
edje_object_signal_emit(sd->o_busy, "done", PACKAGE_NAME);
-   ecore_event_handler_del(sd->_prog_hdlr);
-   ecore_event_handler_del(sd->_compl_hdlr);
+   ecore_event_handler_del(sd->url_prog_hdlr);
+   ecore_event_handler_del(sd->url_compl_hdlr);
ecore_con_url_free(sd->url);
-   sd->_prog_hdlr = NULL;
-   sd->_compl_hdlr = NULL;
+   sd->url_prog_hdlr = NULL;
+   sd->url_compl_hdlr = NULL;
sd->url = NULL;
 
switch (sd->type)
@@ -718,13 +718,13 @@ _smart_del(Evas_Object *obj)
  emotion_object_last_position_save(sd->o_img);
if (sd->url)
  {
-ecore_event_handler_del(sd->_prog_hdlr);
-ecore_event_handler_del(sd->_compl_hdlr);
+ecore_event_handler_del(sd->url_prog_hdlr);
+ecore_event_handler_del(sd->url_compl_hdlr);
 ecore_con_url_free(sd->url);
  }
 
-   sd->_prog_hdlr = NULL;
-   sd->_compl_hdlr = NULL;
+   sd->url_prog_hdlr = NULL;
+   sd->url_compl_hdlr = NULL;
sd->url = NULL;
 
if (sd->tmpfd >= 0)
@@ -941,7 +941,8 @@ _media_add(Evas_Object *parent, const char *src, int mode, 
Media_Type type)
  }
else
  {
-sd->o_busy = 
edje_object_add(evas_object_evas_get(obj));
+sd->o_busy =
+  edje_object_add(evas_object_evas_get(obj));
 evas_object_smart_member_add(sd->o_busy, obj);
 _theme_apply(sd->o_busy, "express/mediabusy");
 evas_object_show(sd->o_busy);
@@ -949,13 +950,12 @@ _media_add(Evas_Object *parent, const char *src, int 
mode, Media_Type type)
 PACKAGE_NAME);
 
 sd->realf = eina_stringshare_add(path);
-sd->_prog_hdlr = 
+sd->url_prog_hdlr = 
   
ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS,
   _media_cb_prog, obj);
-sd->_compl_hdlr = 
+sd->url_compl_hdlr = 
   
ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE,
   _media_cb_compl, obj);
-
  }
 }
 

-- 




[EGIT] [apps/express] master 01/01: express: Reduce calls to evas_object_smart_data_get

2015-08-03 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=ab692306f54fe71ea06c8419fbcce3d022ba7b90

commit ab692306f54fe71ea06c8419fbcce3d022ba7b90
Author: Chris Michael 
Date:   Mon Aug 3 15:30:30 2015 -0400

express: Reduce calls to evas_object_smart_data_get

Summary: As we have already gotten the smart data from the evas object
previously, lets modify some functions to take the smart data instead
of the object so that we can reduce calls to evas_object_smart_data_get.

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

diff --git a/src/bin/media.c b/src/bin/media.c
index 961aa09..25d7a4d 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -61,7 +61,7 @@ _img_cb_preloaded(void *data, Evas *evas EINA_UNUSED, 
Evas_Object *obj EINA_UNUS
 {
Media *sd;
 
-   if (!(sd = evas_object_smart_data_get(data))) return;
+   if (!(sd = data)) return;
evas_object_show(sd->o_img);
evas_object_show(sd->o_clip);
 }
@@ -73,7 +73,7 @@ _img_cb_frame(void *data)
double t;
int frame;
 
-   if (!(sd = evas_object_smart_data_get(data))) return EINA_FALSE;
+   if (!(sd = data)) return EINA_FALSE;
sd->frame++;
frame = ((sd->frame - 1) % sd->frame_num) + 1;
if ((sd->frame >= sd->frame_num) && (frame == 1))
@@ -118,7 +118,7 @@ _img_type_anim_handle(Evas_Object *obj)
sd->frame_num = evas_object_image_animated_frame_count_get(sd->o_img);
if (sd->frame_num < 2) return;
t = evas_object_image_animated_frame_duration_get(sd->o_img, sd->frame, 0);
-   sd->anim_tmr = ecore_timer_add(t, _img_cb_frame, obj);
+   sd->anim_tmr = ecore_timer_add(t, _img_cb_frame, sd);
 }
 
 static void 
@@ -133,7 +133,7 @@ _img_type_init(Evas_Object *obj)
evas_object_clip_set(sd->o_img, sd->o_clip);
evas_object_raise(sd->o_event);
evas_object_event_callback_add(sd->o_img, EVAS_CALLBACK_IMAGE_PRELOADED,
-  _img_cb_preloaded, obj);
+  _img_cb_preloaded, sd);
evas_object_image_load_orientation_set(sd->o_img, EINA_TRUE);
evas_object_image_file_set(sd->o_img, sd->realf, NULL);
evas_object_image_size_get(sd->o_img, &sd->iw, &sd->ih);

-- 




[EGIT] [core/evas_generic_loaders] master 01/02: evas-generic-loaders: Remove unused variable

2015-08-11 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 5dd48dee56821a13bc6c21f9a6de055271cb84c3
Author: Chris Michael 
Date:   Tue Aug 11 09:43:15 2015 -0400

evas-generic-loaders: Remove unused variable

Summary: This removes an unused variable in the pdf loader

Signed-off-by: Chris Michael 
---
 src/bin/pdf/main.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/pdf/main.cpp b/src/bin/pdf/main.cpp
index d2cf856..8164d5f 100644
--- a/src/bin/pdf/main.cpp
+++ b/src/bin/pdf/main.cpp
@@ -46,7 +46,6 @@ double dpi = -1.0;
 Eina_Bool poppler_init(const char *file, int page_nbr, int size_w, int size_h)
 {
Object obj;
-   SplashColor white;
double w, h, cw, ch;
int rot;
 

-- 




[EGIT] [core/evas_generic_loaders] master 02/02: evas-generic-loaders: Add missing EINA_UNUSED

2015-08-11 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 76432b08a1e785fe3c51e5b83a3d5afada943b1f
Author: Chris Michael 
Date:   Tue Aug 11 09:44:38 2015 -0400

evas-generic-loaders: Add missing EINA_UNUSED

Summary: This adds missing EINA_UNUSED for function paramaters which
are not being used

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

diff --git a/src/bin/pdf/main.cpp b/src/bin/pdf/main.cpp
index 8164d5f..7eaca4e 100644
--- a/src/bin/pdf/main.cpp
+++ b/src/bin/pdf/main.cpp
@@ -145,7 +145,7 @@ void poppler_shutdown()
delete globalParams;
 }
 
-void poppler_load_image(int size_w, int size_h)
+void poppler_load_image(int size_w EINA_UNUSED, int size_h EINA_UNUSED)
 {
SplashOutputDev *output_dev;
SplashColor  white;

-- 




[EGIT] [apps/express] master 04/08: express: Add images for media control to theme

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=b63268e9d019c124965f80bcb8d6a78e0e3a9e37

commit b63268e9d019c124965f80bcb8d6a78e0e3a9e37
Author: Chris Michael 
Date:   Wed Aug 12 12:31:07 2015 -0400

express: Add images for media control to theme

Signed-off-by: Chris Michael 
---
 data/themes/images/Makefile.am|  10 --
 data/themes/images/media_bg.png   | Bin 0 -> 1171 bytes
 data/themes/images/media_knob_pos.png | Bin 0 -> 660 bytes
 data/themes/images/media_knob_vol.png | Bin 0 -> 693 bytes
 data/themes/images/media_line.png | Bin 0 -> 471 bytes
 data/themes/images/media_pause.png| Bin 0 -> 250 bytes
 data/themes/images/media_play.png | Bin 0 -> 293 bytes
 data/themes/images/media_stop.png | Bin 0 -> 243 bytes
 8 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/data/themes/images/Makefile.am b/data/themes/images/Makefile.am
index 84b56da..1b6745b 100644
--- a/data/themes/images/Makefile.am
+++ b/data/themes/images/Makefile.am
@@ -42,5 +42,11 @@ tab_shad_l1.png \
 tab_shad_l2.png \
 tab_shad_r0.png \
 tab_shad_r1.png \
-tab_shad_r2.png
-
+tab_shad_r2.png \
+media_bg.png \
+media_play.png \
+media_stop.png \
+media_pause.png \
+media_line.png \
+media_knob_vol.png \
+media_knob_pos.png
diff --git a/data/themes/images/media_bg.png b/data/themes/images/media_bg.png
new file mode 100644
index 000..00642a2
Binary files /dev/null and b/data/themes/images/media_bg.png differ
diff --git a/data/themes/images/media_knob_pos.png 
b/data/themes/images/media_knob_pos.png
new file mode 100644
index 000..52b333d
Binary files /dev/null and b/data/themes/images/media_knob_pos.png differ
diff --git a/data/themes/images/media_knob_vol.png 
b/data/themes/images/media_knob_vol.png
new file mode 100644
index 000..db8b273
Binary files /dev/null and b/data/themes/images/media_knob_vol.png differ
diff --git a/data/themes/images/media_line.png 
b/data/themes/images/media_line.png
new file mode 100644
index 000..96381ed
Binary files /dev/null and b/data/themes/images/media_line.png differ
diff --git a/data/themes/images/media_pause.png 
b/data/themes/images/media_pause.png
new file mode 100644
index 000..ed5e7ba
Binary files /dev/null and b/data/themes/images/media_pause.png differ
diff --git a/data/themes/images/media_play.png 
b/data/themes/images/media_play.png
new file mode 100644
index 000..5a924b4
Binary files /dev/null and b/data/themes/images/media_play.png differ
diff --git a/data/themes/images/media_stop.png 
b/data/themes/images/media_stop.png
new file mode 100644
index 000..727e0e2
Binary files /dev/null and b/data/themes/images/media_stop.png differ

-- 




[EGIT] [apps/express] master 07/08: express: Re-enable Video options in config toolbar

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=ef0fa3fb134265f8a82166c8bd6b49b63dcad8c8

commit ef0fa3fb134265f8a82166c8bd6b49b63dcad8c8
Author: Chris Michael 
Date:   Wed Aug 12 13:17:39 2015 -0400

express: Re-enable Video options in config toolbar

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

diff --git a/src/bin/options.c b/src/bin/options.c
index 2710234..f2cc944 100644
--- a/src/bin/options.c
+++ b/src/bin/options.c
@@ -173,7 +173,7 @@ _options_toggle(Evas_Object *win, Evas_Object *base, 
Evas_Object *grid, void (*c
 
 TB_APPEND("preferences-desktop-font", "Font", FONT);
 TB_APPEND("preferences-desktop-theme", "Colors", COLORS);
-/* TB_APPEND("video-display", "Video", VIDEO); */
+TB_APPEND("video-display", "Video", VIDEO);
 TB_APPEND("preferences-system-network", "Networks", NETWORKS);
 #undef TB_APPEND
 

-- 




[EGIT] [apps/express] master 08/08: express: Disable Color config options in config toolbar

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=67bd8aa4919656f272494d131a7d91a00d83ab7a

commit 67bd8aa4919656f272494d131a7d91a00d83ab7a
Author: Chris Michael 
Date:   Wed Aug 12 13:18:10 2015 -0400

express: Disable Color config options in config toolbar

Summary: Disabling option to config colors (for now) as it's not
implemented yet anyway

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

diff --git a/src/bin/options.c b/src/bin/options.c
index f2cc944..e19cf3a 100644
--- a/src/bin/options.c
+++ b/src/bin/options.c
@@ -172,7 +172,7 @@ _options_toggle(Evas_Object *win, Evas_Object *base, 
Evas_Object *grid, void (*c
 elm_toolbar_item_selected_set(o_itm, EINA_TRUE);
 
 TB_APPEND("preferences-desktop-font", "Font", FONT);
-TB_APPEND("preferences-desktop-theme", "Colors", COLORS);
+/* TB_APPEND("preferences-desktop-theme", "Colors", COLORS); */
 TB_APPEND("video-display", "Video", VIDEO);
 TB_APPEND("preferences-system-network", "Networks", NETWORKS);
 #undef TB_APPEND

-- 




[EGIT] [apps/express] master 06/08: express: Add config options for video engine used for movie media playback

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=b045e197da7a6c9fb0698b7e31e438ad7b6658df

commit b045e197da7a6c9fb0698b7e31e438ad7b6658df
Author: Chris Michael 
Date:   Wed Aug 12 13:17:20 2015 -0400

express: Add config options for video engine used for movie media playback

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

diff --git a/src/bin/options_video.c b/src/bin/options_video.c
index dbf8833..9d081df 100644
--- a/src/bin/options_video.c
+++ b/src/bin/options_video.c
@@ -1,10 +1,36 @@
 #include "private.h"
 #include "options_video.h"
+#include "config.h"
+
+static void
+_cb_mute_changed(void *data EINA_UNUSED, Evas_Object *obj, void *event 
EINA_UNUSED)
+{
+   _ex_cfg->video.muted = elm_check_state_get(obj);
+   _config_save();
+}
+
+static void
+_cb_visual_changed(void *data EINA_UNUSED, Evas_Object *obj, void *event 
EINA_UNUSED)
+{
+   _ex_cfg->video.visualized = elm_check_state_get(obj);
+   _config_save();
+}
+
+static void
+_cb_module_changed(void *data EINA_UNUSED, Evas_Object *obj, void *event 
EINA_UNUSED)
+{
+   int v;
+
+   v = elm_radio_value_get(obj);
+   if (v == _ex_cfg->video.module) return;
+   _ex_cfg->video.module = v;
+   _config_save();
+}
 
 void 
 _options_video(Evas_Object *box, Evas_Object *grid EINA_UNUSED)
 {
-   Evas_Object *o_frame, *vbox, *o;
+   Evas_Object *o_frame, *vbox, *o, *o_mod;
 
/* video frame */
o_frame = elm_frame_add(box);
@@ -21,12 +47,88 @@ _options_video(Evas_Object *box, Evas_Object *grid 
EINA_UNUSED)
elm_object_content_set(o_frame, vbox);
evas_object_show(vbox);
 
+   o = elm_check_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "Audio Muted");
+   elm_check_state_set(o, _ex_cfg->video.muted);
+   evas_object_smart_callback_add(o, "changed", _cb_mute_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_check_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "Audio Visualized");
+   elm_check_state_set(o, _ex_cfg->video.visualized);
+   evas_object_smart_callback_add(o, "changed", _cb_visual_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_separator_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_separator_horizontal_set(o, EINA_TRUE);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
o = elm_label_add(box);
WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
ALIGN_SET(o, 0.0, EVAS_HINT_FILL);
-   elm_object_text_set(o, "Video Engine");
+   elm_object_text_set(o, "Video Engine:");
elm_box_pack_end(vbox, o);
evas_object_show(o);
 
+   o_mod = o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "Automatic");
+   elm_radio_state_value_set(o, 0);
+   evas_object_smart_callback_add(o, "changed", _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "Gstreamer");
+   elm_radio_state_value_set(o, 1);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, "changed", _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "Xine");
+   elm_radio_state_value_set(o, 2);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, "changed", _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "VLC");
+   elm_radio_state_value_set(o, 3);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, "changed", _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "Gstreamer 1.X");
+   elm_radio_state_value_set(o, 4);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, "changed", _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   elm_radio_value_set(o, _ex_cfg->video.module);
+
elm_box_pack_end(box, o_frame);
 }

-- 




[EGIT] [apps/express] master 03/08: express: Start on media support for movies

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=fd8e9efa2bf049aab9d63243b4e10c30cc677894

commit fd8e9efa2bf049aab9d63243b4e10c30cc677894
Author: Chris Michael 
Date:   Wed Aug 12 12:26:07 2015 -0400

express: Start on media support for movies

Signed-off-by: Chris Michael 
---
 src/bin/media.c | 285 ++--
 1 file changed, 277 insertions(+), 8 deletions(-)

diff --git a/src/bin/media.c b/src/bin/media.c
index 25d7a4d..e020d70 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -33,6 +33,8 @@ struct _Media
Ecore_Timer *anim_tmr;
Ecore_Timer *smooth_tmr;
 
+   Ecore_Job *restart_job;
+
Media_Type type;
 
struct 
@@ -44,6 +46,7 @@ struct _Media
Eina_Bool nosmooth : 1;
Eina_Bool downloading : 1;
Eina_Bool queued : 1;
+   Eina_Bool pos_drag : 1;
 };
 
 static Evas_Smart *_smart = NULL;
@@ -581,6 +584,269 @@ _smooth_handler(Evas_Object *obj)
 }
 
 static void 
+_mov_type_calc(Media *sd, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord 
h)
+{
+   if (!sd) return;
+
+   evas_object_move(sd->o_ctrl, x, y);
+   evas_object_resize(sd->o_ctrl, w, h);
+
+   emotion_object_size_get(sd->o_img, &(sd->iw), &(sd->ih));
+   if ((w <= 0) || (h <= 0) || (sd->iw <= 0) || (sd->ih <= 0))
+ {
+w = 1;
+h = 1;
+ }
+   else
+ {
+int iw = 1, ih = 1;
+double ratio;
+
+ratio = emotion_object_ratio_get(sd->o_img);
+if (ratio > 0.0) sd->iw = (sd->ih * ratio) + 0.5;
+else ratio = (double)sd->iw / (double)sd->ih;
+
+if ((sd->mode & MEDIA_SIZE_MASK) == MEDIA_BG)
+  {
+ iw = w;
+ ih = w / ratio;
+ if (ih < h)
+   {
+  ih = h;
+  iw = h * ratio;
+  if (iw < w) iw = w;
+   }
+  }
+else if ((sd->mode & MEDIA_SIZE_MASK) == MEDIA_POP)
+  {
+ iw = w;
+ ih = w / ratio;
+ if (ih > h)
+   {
+  ih = h;
+  iw = h * ratio;
+  if (iw > w) iw = w;
+   }
+  }
+else if ((sd->mode & MEDIA_SIZE_MASK) == MEDIA_STRETCH)
+  {
+ iw = w;
+ ih = h;
+  }
+x += ((w - iw) / 2);
+y += ((h - ih) / 2);
+w = iw;
+h = ih;
+ }
+
+   evas_object_move(sd->o_img, x, y);
+   evas_object_resize(sd->o_img, w, h);
+}
+
+static void
+_mov_cb_frame_decode(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Media *sd;
+   Evas_Coord x, y, w, h;
+   double len, pos;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+
+   evas_object_geometry_get(data, &x, &y, &w, &h);
+   evas_object_show(sd->o_img);
+   evas_object_show(sd->o_clip);
+
+   _mov_type_calc(sd, x, y, w, h);
+
+   if (sd->pos_drag) return;
+
+   len = emotion_object_play_length_get(sd->o_img);
+   pos = emotion_object_position_get(sd->o_img);
+   pos /= len;
+
+   edje_object_part_drag_value_set(sd->o_ctrl, "express.posdrag", pos, pos);
+}
+
+static void
+_mov_cb_frame_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Media *sd;
+   Evas_Coord x, y, w, h;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   evas_object_geometry_get(data, &x, &y, &w, &h);
+   _mov_type_calc(sd, x, y, w, h);
+}
+
+static void
+_mov_cb_restart(void *data)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   sd->restart_job = NULL;
+   emotion_object_position_set(sd->o_img, 0.0);
+   emotion_object_play_set(sd->o_img, EINA_TRUE);
+}
+
+static void
+_mov_cb_decode_stop(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   if (sd->restart_job) ecore_job_del(sd->restart_job);
+   sd->restart_job = ecore_job_add(_mov_cb_restart, data);
+   evas_object_smart_callback_call(data, "loop", NULL);
+}
+
+/* static void */
+/* _mov_cb_progress(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED) */
+/* { */
+
+/* } */
+
+static void
+_mov_cb_play(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   _media_play_set(data, EINA_TRUE);
+}
+
+static void
+_mov_cb_pause(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   _media_play_set(data, EINA_FALSE);
+}
+
+static void
+_mov_cb_stop(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   _media_stop(data);
+}
+
+static void
+_mov_cb_vol(void *data, Eva

[EGIT] [apps/express] master 05/08: express: Add media control part to express default theme

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=4b45acb50cf59347d5808b5ac1a190b7739460d4

commit 4b45acb50cf59347d5808b5ac1a190b7739460d4
Author: Chris Michael 
Date:   Wed Aug 12 13:02:01 2015 -0400

express: Add media control part to express default theme

Signed-off-by: Chris Michael 
---
 data/themes/default.edc | 326 +++-
 1 file changed, 325 insertions(+), 1 deletion(-)

diff --git a/data/themes/default.edc b/data/themes/default.edc
index c82896e..6fd64ee 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -2007,6 +2007,7 @@ collections
}
 
  /* TODO: bell */
+ /* TODO: popmedia */
   }
 programs
   {
@@ -3656,6 +3657,329 @@ collections
target: "fade";
 }
}
-}
+ }
+
+   group
+ {
+name: "express/mediactrl";
+images
+  {
+ image: "media_bg.png" COMP;
+ image: "media_play.png" COMP;
+ image: "media_stop.png" COMP;
+ image: "media_pause.png" COMP;
+ image: "media_line.png" COMP;
+ image: "media_knob_vol.png" COMP;
+ image: "media_knob_pos.png" COMP;
+  }
+parts
+  {
+ part
+   {
+  name: "clip";
+  type: RECT;
+  mouse_events: 0;
+  description
+{
+   state: "default" 0.0;
+   rel1.to: "background";
+   rel2.to: "background";
+}
+   }
+ part
+   {
+  name: "background";
+  clip_to: "clip";
+  description
+{
+   state: "default" 0.0;
+   image.normal: "media_bg.png";
+   image.border: 11 11 11 11;
+   min: 24 24;
+   max: 24 24;
+   align: 1.0 0.0;
+}
+  description
+{
+   state: "expanded" 0.0;
+   inherit: "default" 0.0;
+   min: 216 24;
+   max: 216 24;
+}
+   }
+ part
+   {
+  name: "play";
+  mouse_events: 1;
+  repeat_events: 1;
+  clip_to: "clip";
+  description
+{
+   state: "default" 0.0;
+   image.normal: "media_pause.png";
+   max: 24 24;
+   align: 1.0 0.0;
+}
+  description
+{
+   state: "paused" 0.0;
+   inherit: "default" 0.0;
+   image.normal: "media_play.png";
+}
+   }
+ part
+   {
+  name: "stop";
+  mouse_events: 1;
+  repeat_events: 1;
+  clip_to: "clip";
+  description
+{
+   state: "default" 0.0;
+   image.normal: "media_stop.png";
+   max: 24 24;
+   rel1.to: "play";
+   rel1.offset: -16 0;
+   rel2.to: "play";
+   rel2.offset: -16 0;
+}
+   }
+ part
+   {
+  name: "posline";
+  mouse_events: 1;
+  repeat_events: 1;
+  clip_to: "clip";
+  description
+{
+   state: "default" 0.0;
+   image.normal: "media_line.png";
+   image.border: 15 15 0 0;
+   min: 90 14;
+   max: 90 14;
+   rel1.to: "stop";
+   rel1.offset: -25 0;
+   rel2.to: "stop";
+   rel2.offset: -90 0;
+}
+   }
+ part
+   {
+  name: "express.posdrag";
+  mouse_events: 0;
+  repeat_events: 1;
+  clip_to: "clip";
+   

[EGIT] [apps/express] master 02/08: express: Add oga as an audio extension

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=70b3a178cb38d5cff64efabe8c87d2e92e99db9a

commit 70b3a178cb38d5cff64efabe8c87d2e92e99db9a
Author: Chris Michael 
Date:   Wed Aug 12 12:14:45 2015 -0400

express: Add oga as an audio extension

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

diff --git a/src/bin/utils.c b/src/bin/utils.c
index 282b6f7..5bd00ce 100644
--- a/src/bin/utils.c
+++ b/src/bin/utils.c
@@ -39,7 +39,7 @@ const char *extn_mov[] =
 
 const char *extn_aud[] =
 {
-   ".mp3", ".aac", ".wav", ".flac", ".m4a", ".opus",
+   ".mp3", ".aac", ".wav", ".flac", ".m4a", ".opus", ".oga",
NULL
 };
 

-- 




[EGIT] [apps/express] master 01/08: express: Add config options for video playback

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=6afc0c1752497f96c91cd99d338cf623fbc22185

commit 6afc0c1752497f96c91cd99d338cf623fbc22185
Author: Chris Michael 
Date:   Wed Aug 12 11:48:49 2015 -0400

express: Add config options for video playback

Signed-off-by: Chris Michael 
---
 src/bin/config.c | 12 +++-
 src/bin/config.h | 17 -
 2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/src/bin/config.c b/src/bin/config.c
index 8c1c601..e77ddbe 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -25,7 +25,7 @@
EET_DATA_DESCRIPTOR_ADD_HASH(edd, type, #member, member, eddtype)
 
 #  define EX_CONFIG_FILE_EPOCH 0x0004
-#  define EX_CONFIG_FILE_GENERATION 0x011d
+#  define EX_CONFIG_FILE_GENERATION 0x012d
 #  define EX_CONFIG_FILE_VERSION \
((EX_CONFIG_FILE_EPOCH << 16) | EX_CONFIG_FILE_GENERATION)
 
@@ -198,6 +198,9 @@ _config_init(void)
EX_CONFIG_VAL(D, T, gui.zoom, EET_T_DOUBLE);
EX_CONFIG_VAL(D, T, gui.scrollback, EET_T_INT);
EX_CONFIG_VAL(D, T, gui.tabs, EET_T_INT);
+   EX_CONFIG_VAL(D, T, video.module, EET_T_INT);
+   EX_CONFIG_VAL(D, T, video.muted, EET_T_UCHAR);
+   EX_CONFIG_VAL(D, T, video.visualized, EET_T_UCHAR);
EX_CONFIG_LIST(D, T, networks, _ex_cfg_net_edd);
 
_config_load();
@@ -280,10 +283,17 @@ _config_load(void)
_ex_cfg->font.use_entry = EINA_TRUE;
IFCFGEND;
 
+   IFCFG(0x012d);
+   _ex_cfg->video.module = 0;
+   _ex_cfg->video.muted = EINA_FALSE;
+   _ex_cfg->video.visualized = EINA_TRUE;
+   IFCFGEND;
+
/* limit config values so they are sane */
EX_CONFIG_LIMIT(_ex_cfg->font.size, 3, 400);
EX_CONFIG_LIMIT(_ex_cfg->gui.zoom, 0.1, 1.0);
EX_CONFIG_LIMIT(_ex_cfg->gui.scrollback, 0, 20);
+   EX_CONFIG_LIMIT(_ex_cfg->video.module, 0, 4);
 
_ex_cfg->version = EX_CONFIG_FILE_VERSION;
 
diff --git a/src/bin/config.h b/src/bin/config.h
index 3bd421a..1c8424c 100644
--- a/src/bin/config.h
+++ b/src/bin/config.h
@@ -14,8 +14,8 @@ struct _Config_Channel
 
 struct _Config_Server
 {
-   const char *name;
int port;
+   const char *name;
 };
 
 struct _Config_Network
@@ -38,22 +38,29 @@ struct _Config
 
struct 
  {
-const char *name;
 int size;
+const char *name;
 Eina_Bool bitmap;
 Eina_Bool use_entry;
  } font;
 
struct 
  {
-Eina_Bool translucent;
-Eina_Bool use_gravatar;
-int opacity;
 double zoom;
+int opacity;
 int scrollback;
 int tabs;
+Eina_Bool translucent;
+Eina_Bool use_gravatar;
  } gui;
 
+   struct 
+ {
+int module;
+Eina_Bool muted;
+Eina_Bool visualized;
+ } video;
+
Eina_List *networks;
 };
 

-- 




[EGIT] [apps/express] master 03/04: express: Add support for popup media in a channel

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=4f746c9c85e39015f8cfe8882e7aad944fe8e02f

commit 4f746c9c85e39015f8cfe8882e7aad944fe8e02f
Author: Chris Michael 
Date:   Wed Aug 12 15:59:42 2015 -0400

express: Add support for popup media in a channel

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

diff --git a/src/bin/channel.c b/src/bin/channel.c
index 6668aa8..7be2383 100644
--- a/src/bin/channel.c
+++ b/src/bin/channel.c
@@ -6,6 +6,8 @@
 #include "grid.h"
 #include "utils.h"
 #include "commands.h"
+#include "dbus.h"
+#include "media.h"
 
 struct _Channel
 {
@@ -23,6 +25,7 @@ struct _Channel
Evas_Object *o_tabregion_base;
Evas_Object *o_img;
Evas_Object *o_entry;
+   Evas_Object *o_popmedia;
 
struct
  {
@@ -59,16 +62,125 @@ struct _Channel
int min_w, min_h;
int req_w, req_h;
 
+   Eina_List *popmedia_queue;
+
Eina_Bool active : 1;
Eina_Bool size_done : 1;
Eina_Bool translucent : 1;
Eina_Bool focused : 1;
Eina_Bool unswallowed : 1;
Eina_Bool missed : 1;
+   Eina_Bool popmedia_deleted : 1;
 
Express_Network *net;
 };
 
+static void _channel_popmedia(Channel *chl, const char *src);
+
+static void
+_cb_popmedia_loop(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Channel *chl;
+
+   chl = data;
+   if (chl->popmedia_queue)
+ {
+if (chl->o_popmedia) _media_play_set(chl->o_popmedia, EINA_FALSE);
+edje_object_signal_emit(chl->o_bg, "popmedia,off", PACKAGE_NAME);
+ }
+}
+
+static void
+_cb_popmedia_del(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
+{
+   Channel *chl;
+
+   chl = data;
+   chl->o_popmedia = NULL;
+   chl->popmedia_deleted = EINA_TRUE;
+   edje_object_signal_emit(chl->o_bg, "popmedia,off", PACKAGE_NAME);
+}
+
+static void
+_channel_popmedia_queue_process(Channel *chl)
+{
+   const char *src;
+
+   if (!chl->popmedia_queue) return;
+   src = chl->popmedia_queue->data;
+   chl->popmedia_queue =
+ eina_list_remove_list(chl->popmedia_queue, chl->popmedia_queue);
+   if (!src) return;
+   _channel_popmedia(chl, src);
+   eina_stringshare_del(src);
+}
+
+static void
+_cb_popmedia_done(void *data, Evas_Object *obj EINA_UNUSED, const char 
*emission EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   Channel *chl;
+
+   chl = data;
+   if ((chl->o_popmedia) || (chl->popmedia_deleted))
+ {
+if (chl->o_popmedia)
+  {
+ evas_object_event_callback_del(chl->o_popmedia, EVAS_CALLBACK_DEL,
+_cb_popmedia_del);
+ evas_object_del(chl->o_popmedia);
+ chl->o_popmedia = NULL;
+  }
+chl->popmedia_deleted = EINA_FALSE;
+_channel_popmedia_queue_process(chl);
+ }
+}
+
+static void
+_channel_popmedia_show(Channel *chl, const char *src, Media_Type type)
+{
+   _dbus_link_hide();
+
+   if (chl->o_popmedia)
+ {
+const char *s;
+
+EINA_LIST_FREE(chl->popmedia_queue, s)
+  eina_stringshare_del(s);
+
+chl->popmedia_queue =
+  eina_list_append(chl->popmedia_queue, eina_stringshare_add(src));
+
+edje_object_signal_emit(chl->o_bg, "popmedia,off", PACKAGE_NAME);
+
+return;
+ }
+
+   chl->o_popmedia = _media_add(chl->o_win, src, MEDIA_POP, type);
+   chl->popmedia_deleted = EINA_FALSE;
+   evas_object_smart_callback_add(chl->o_popmedia, "loop",
+  _cb_popmedia_loop, chl);
+   evas_object_event_callback_add(chl->o_popmedia, EVAS_CALLBACK_DEL,
+  _cb_popmedia_del, chl);
+   edje_object_part_swallow(chl->o_bg, "express.popmedia", chl->o_popmedia);
+   evas_object_show(chl->o_popmedia);
+
+   edje_object_signal_emit(chl->o_bg, "popmedia,on", PACKAGE_NAME);
+}
+
+static void
+_channel_popmedia(Channel *chl, const char *src)
+{
+   Media_Type type;
+
+   type = _media_src_type_get(src);
+   if (type == MEDIA_TYPE_UNKNOWN)
+ {
+
+ }
+   else
+ _channel_popmedia_show(chl, src, type);
+}
+
 static void 
 _cb_theme_reload(Channel *chl)
 {
@@ -138,6 +250,19 @@ _cb_next(void *data, Evas_Object *obj EINA_UNUSED, void 
*event EINA_UNUSED)
  }
 }
 
+static void
+_cb_popup(void *data, Evas_Object *obj EINA_UNUSED, void *event)
+{
+   Channel *chl;
+   const char *src;
+
+   chl = data;
+   src = event;
+   if (!src) src = _grid_link_get(chl->o_grid);
+   if (!src) return;
+   _channel_popmedia(chl, src);
+}
+
 static void 
 _cb_count_go(void *data, Evas_Object *obj EINA_UNUSED, const char *sig 
EINA_UNUSED, const char *source EINA_UNUSED)
 {

[EGIT] [apps/express] master 01/04: express: Add function for returning the active url link in a grid

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=92c57067c4dc31496811642a2270028904af10db

commit 92c57067c4dc31496811642a2270028904af10db
Author: Chris Michael 
Date:   Wed Aug 12 15:58:50 2015 -0400

express: Add function for returning the active url link in a grid

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

diff --git a/src/bin/grid.h b/src/bin/grid.h
index 2023005..f189a3c 100644
--- a/src/bin/grid.h
+++ b/src/bin/grid.h
@@ -182,6 +182,7 @@ void _grid_theme_set(Evas_Object *obj, Evas_Object *theme);
 void _grid_resize(Evas_Object *obj, int nw, int nh);
 void _grid_text_append(Evas_Object *obj, const char *txt, int len, Row_Color 
*color);
 void _grid_nicklen_set(Evas_Object *obj, int len);
+const char *_grid_link_get(Evas_Object *obj);
 
 #define GRID_CELLS(SD, X, Y) \
   SD->cells[X + (((Y + SD->circular_offset) % SD->h) * SD->w)]

-- 




[EGIT] [apps/express] master 04/04: express: Add popmedia controls to default theme

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=13ca55f4b4a64db9cb22f30594bb81cd04930177

commit 13ca55f4b4a64db9cb22f30594bb81cd04930177
Author: Chris Michael 
Date:   Wed Aug 12 16:00:48 2015 -0400

express: Add popmedia controls to default theme

Signed-off-by: Chris Michael 
---
 data/themes/default.edc | 284 +++-
 1 file changed, 282 insertions(+), 2 deletions(-)

diff --git a/data/themes/default.edc b/data/themes/default.edc
index 6fd64ee..4c43cb6 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -2007,7 +2007,229 @@ collections
}
 
  /* TODO: bell */
- /* TODO: popmedia */
+
+ part
+   {
+  name: "popmedia_clip";
+  type: RECT;
+  mouse_events: 1;
+  description
+{
+   state: "default" 0.0;
+   fixed: 1 1;
+   visible: 0;
+   color: 255 255 255 0;
+}
+  description
+{
+   state: "visible" 0.0;
+   inherit: "default" 0.0;
+   visible: 1;
+   color: 255 255 255 255;
+}
+   }
+ part
+   {
+  name: "popmedia_shadow";
+  mouse_events: 0;
+  description
+{
+   state: "default" 0.0;
+   fixed: 1 1;
+   rel1.to: "express.popmedia";
+   rel2.to: "express.popmedia";
+   image
+ {
+normal: "pm_shadow.png";
+border: 64 64 64 64;
+border_scale_by: 0.1;
+ }
+   fill.smooth: 0;
+   visible: 0;
+}
+  description
+{
+   state: "visible" 0.0;
+   inherit: "default" 0.0;
+   visible: 1;
+   rel1.offset: -32 -32;
+   rel2.offset: 31 31;
+   image.border_scale_by: 1.0;
+}
+   }
+ part
+   {
+  name: "popmedia_fill";
+  mouse_events: 0;
+  description
+{
+   state: "default" 0.0;
+   fixed: 1 1;
+   rel1.to: "express.popmedia";
+   rel2.to: "express.popmedia";
+   image.normal: "pm_fill.png";
+   fill
+ {
+size.relative: 0.0 0.0;
+size.offset: 64 64;
+ }
+}
+   }
+ part
+   {
+  name: "express.popmedia";
+  type: SWALLOW;
+  clip_to: "popmedia_clip";
+  description
+{
+   state: "default" 0.0;
+   fixed: 1 1;
+   rel1.relative: 0.5 0.5;
+   rel2.relative: 0.5 0.5;
+   visible: 0;
+}
+  description
+{
+   state: "visible" 0.0;
+   inherit: "default" 0.0;
+   rel1.relative: 0.1 0.1;
+   rel2.relative: 0.9 0.9;
+   visible: 1;
+}
+   }
+ part
+   {
+  name: "popmedia_overlay";
+  mouse_events: 0;
+  description
+{
+   state: "default" 0.0;
+   fixed: 1 1;
+   rel1.to: "express.popmedia";
+   rel2.to: "express.popmedia";
+   image.normal: "pm_overlay.png";
+   fill.smooth: 0;
+   visible: 0;
+}
+  description
+{
+   state: "visible" 0.0;
+   inherit: "default" 0.0;
+   visible: 1;
+}
+   }
+ part
+   {
+  name: "popmedi

[EGIT] [apps/express] master 02/04: express: Add support for activating links into a popup

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=5e09435d3944d0708bc114eb9e5eb483b4868b78

commit 5e09435d3944d0708bc114eb9e5eb483b4868b78
Author: Chris Michael 
Date:   Wed Aug 12 15:59:17 2015 -0400

express: Add support for activating links into a popup

Signed-off-by: Chris Michael 
---
 src/bin/grid.c | 96 +-
 1 file changed, 61 insertions(+), 35 deletions(-)

diff --git a/src/bin/grid.c b/src/bin/grid.c
index 399e8b6..92ee337 100644
--- a/src/bin/grid.c
+++ b/src/bin/grid.c
@@ -7,6 +7,7 @@
 #include "theme.h"
 #include "dbus.h"
 #include "gravatar.h"
+#include "media.h"
 
 /* local function prototypes */
 static void _smart_size(Evas_Object *obj, int w, int h, Eina_Bool force);
@@ -18,6 +19,20 @@ static Evas_Smart *_smart = NULL;
 static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_NULL;
 
 /* local functions */
+static Eina_Bool
+_should_inline(const Evas_Object *obj)
+{
+   const Evas *evas;
+   const Evas_Modifier *mods;
+
+   evas = evas_object_evas_get(obj);
+   mods = evas_key_modifier_get(evas);
+
+   if (evas_key_modifier_is_set(mods, "Control")) return EINA_FALSE;
+
+   return EINA_TRUE;
+}
+
 static void 
 _coord_to_cursor(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *cx, int 
*cy)
 {
@@ -228,7 +243,7 @@ _cb_link_down(void *data, Evas *evas EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
 }
 
 static void 
-_link_activate(Evas_Object *obj, Eina_Bool may_inline EINA_UNUSED)
+_link_activate(Evas_Object *obj, Eina_Bool may_inline)
 {
Grid *sd;
char buff[PATH_MAX], *s, *esc;
@@ -283,23 +298,24 @@ _link_activate(Evas_Object *obj, Eina_Bool may_inline 
EINA_UNUSED)
 esc = ecore_file_escape_name(s);
 if (esc)
   {
- /* int type; */
- /* type = media_src_type_get(sd->link.string); */
- /* if (may_inline && _should_inline(obj)) */
- /*   { */
- /*  if ((type == MEDIA_TYPE_IMG) || */
- /*  (type == MEDIA_TYPE_SCALE) || */
- /*  (type == MEDIA_TYPE_EDJE)) */
- /*{ */
- /*   evas_object_smart_callback_call(obj, "popup", NULL); 
*/
- /*   handled = EINA_TRUE; */
- /*} */
- /*  else if (type == MEDIA_TYPE_MOV) */
- /*{ */
- /*   evas_object_smart_callback_call(obj, "popup", NULL); 
*/
- /*   handled = EINA_TRUE; */
- /*} */
- /*   } */
+ int type;
+
+ type = _media_src_type_get(sd->link.str);
+ if (may_inline && _should_inline(obj))
+   {
+  if ((type == MEDIA_TYPE_IMG) ||
+  (type == MEDIA_TYPE_SCALE) ||
+  (type == MEDIA_TYPE_EDJE))
+{
+   evas_object_smart_callback_call(obj, "popup", NULL);
+   handled = EINA_TRUE;
+}
+  else if (type == MEDIA_TYPE_MOV)
+{
+   evas_object_smart_callback_call(obj, "popup", NULL);
+   handled = EINA_TRUE;
+}
+   }
  if (!handled)
{
   /* if ((type == MEDIA_TYPE_IMG) || */
@@ -335,24 +351,24 @@ _link_activate(Evas_Object *obj, Eina_Bool may_inline 
EINA_UNUSED)
 esc = ecore_file_escape_name(s);
 if (esc)
   {
- /* int type; */
+ int type;
 
- /* type = media_src_type_get(sd->link.string); */
- /* if (may_inline && _should_inline(obj)) */
- /*   { */
- /*  if ((type == MEDIA_TYPE_IMG) || */
- /*  (type == MEDIA_TYPE_SCALE) || */
- /*  (type == MEDIA_TYPE_EDJE)) */
- /*{ */
- /*   evas_object_smart_callback_call(obj, "popup", NULL); 
*/
- /*   handled = EINA_TRUE; */
- /*} */
- /*  else if (type == MEDIA_TYPE_MOV) */
- /*{ */
- /*   evas_object_smart_callback_call(obj, "popup", NULL); 
*/
- /*   handled = EINA_TRUE; */
- /*} */
- /*   } */
+ type = _media_src_type_get(sd->link.str);
+ if (may_inline && _should_inline(obj))
+   {
+  if ((type == MEDIA_TYPE_IMG) ||
+  (type == MEDIA_TYPE_SCALE) ||
+  (type == MEDIA_TYPE_EDJE))
+{
+   evas_object_smart

[EGIT] [apps/express] master 02/02: express: Adjust default size of window

2015-08-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=7042ecaa751d995b7070182b048444a22b4c6d9e

commit 7042ecaa751d995b7070182b048444a22b4c6d9e
Author: Chris Michael 
Date:   Thu Aug 13 11:40:00 2015 -0400

express: Adjust default size of window

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

diff --git a/src/bin/window.c b/src/bin/window.c
index 936784a..856f381 100644
--- a/src/bin/window.c
+++ b/src/bin/window.c
@@ -57,8 +57,8 @@ _cb_size_job(void *data EINA_UNUSED)
 
_size_job = NULL;
 
-   defw = 400 * elm_config_scale_get();
-   defh = 245 * elm_config_scale_get();
+   defw = 480 * elm_config_scale_get();
+   defh = 310 * elm_config_scale_get();
 
/* try to get the active channel */
EINA_LIST_FOREACH(_win->channels, l, chl)

-- 




[EGIT] [apps/express] master 01/02: express: Adjust transition speed for dismissing popup media box

2015-08-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=2a7efea18cd5cba587a220ed4bc782a180b19479

commit 2a7efea18cd5cba587a220ed4bc782a180b19479
Author: Chris Michael 
Date:   Thu Aug 13 11:39:36 2015 -0400

express: Adjust transition speed for dismissing popup media box

Signed-off-by: Chris Michael 
---
 data/themes/default.edc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/themes/default.edc b/data/themes/default.edc
index 4c43cb6..0b150ea 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -2452,7 +2452,7 @@ collections
   signal: "mouse,clicked,*";
   source: "popmedia_dismiss";
   action: STATE_SET "default" 0.0;
-  transition: DECELERATE 0.5;
+  transition: DECELERATE 0.2;
   target: "express.popmedia";
   target: "popmedia_clip";
   target: "popmedia_dismiss";

-- 




[EGIT] [apps/express] master 01/01: express: Allow download progress for movies played in popup window

2015-08-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=98551bf3d7f82bee62809a6693f65d65bf7217e7

commit 98551bf3d7f82bee62809a6693f65d65bf7217e7
Author: Chris Michael 
Date:   Thu Aug 13 12:08:44 2015 -0400

express: Allow download progress for movies played in popup window

Signed-off-by: Chris Michael 
---
 src/bin/media.c | 32 +++-
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/src/bin/media.c b/src/bin/media.c
index e020d70..e7791c6 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -700,11 +700,27 @@ _mov_cb_decode_stop(void *data, Evas_Object *obj 
EINA_UNUSED, void *event EINA_U
evas_object_smart_callback_call(data, "loop", NULL);
 }
 
-/* static void */
-/* _mov_cb_progress(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED) */
-/* { */
+static void
+_mov_cb_progress(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   DBG("Movie Progress: '%s' '%3.3f",
+   emotion_object_progress_info_get(sd->o_img),
+   emotion_object_progress_status_get(sd->o_img));
+}
 
-/* } */
+static void
+_mov_cb_ref(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   DBG("Movie Ref: '%s' num '%i'",
+   emotion_object_ref_file_get(sd->o_img),
+   emotion_object_ref_num_get(sd->o_img));
+}
 
 static void
 _mov_cb_play(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
@@ -809,6 +825,10 @@ _mov_type_init(Evas_Object *obj)
   _mov_cb_frame_resize, obj);
evas_object_smart_callback_add(sd->o_img, "decode_stop",
   _mov_cb_decode_stop, obj);
+   evas_object_smart_callback_add(sd->o_img, "progress_change",
+  _mov_cb_progress, obj);
+   evas_object_smart_callback_add(sd->o_img, "ref_change",
+  _mov_cb_ref, obj);
 
emotion_object_file_set(sd->o_img, sd->realf);
if (((sd->mode & MEDIA_OPTIONS_MASK) & MEDIA_RECOVER)
@@ -1137,7 +1157,7 @@ _media_add(Evas_Object *parent, const char *src, int 
mode, Media_Type type)
sd->tmpfd = -1;
 
 #if HAVE_MKSTEMPS
-   if (_util_link_is_url(sd->src) && (type != MEDIA_TYPE_MOV))
+   if (_util_link_is_url(sd->src))// && (type != MEDIA_TYPE_MOV))
  {
 const char *ext = NULL;
 char *buff;
@@ -1196,6 +1216,7 @@ _media_add(Evas_Object *parent, const char *src, int 
mode, Media_Type type)
{
   if (!(sd->url = ecore_con_url_new(buff)))
 {
+   ERR("Failed to connect to url: %s", buff);
unlink(tmp);
close(sd->tmpfd);
 }
@@ -1206,6 +1227,7 @@ _media_add(Evas_Object *parent, const char *src, int 
mode, Media_Type type)
  {
 unlink(tmp);
 close(sd->tmpfd);
+sd->url = NULL;
  }
else
  {

-- 




[EGIT] [apps/express] master 01/01: express: Use getcwd instead of getting current working directory based on process id

2015-08-14 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=0e044cd9cb2aa63c017590a9f8bf92589c43ddfe

commit 0e044cd9cb2aa63c017590a9f8bf92589c43ddfe
Author: Chris Michael 
Date:   Fri Aug 14 10:16:14 2015 -0400

express: Use getcwd instead of getting current working directory based on 
process id

Signed-off-by: Chris Michael 
---
 src/bin/utils.c | 47 +--
 1 file changed, 5 insertions(+), 42 deletions(-)

diff --git a/src/bin/utils.c b/src/bin/utils.c
index 18c5640..d767849 100644
--- a/src/bin/utils.c
+++ b/src/bin/utils.c
@@ -573,44 +573,6 @@ _homedir_get(char *buf, size_t size)
return eina_strlcpy(buf, home, size) < size;
 }
 
-Eina_Bool
-_cwd_get(const Evas_Object *obj EINA_UNUSED, char *buf, size_t size)
-{
-   pid_t pid;
-
-   pid = getpid();
-
-#if defined (__MacOSX__) || (defined (__MACH__) && defined (__APPLE__))
-
-   struct proc_vnodepathinfo vpi;
-
-   if (proc_pidinfo(pid, PROC_PIDVNODEPATHINFO, 0, &vpi, sizeof(vpi)) <= 0)
- {
-ERR(_("Could not get working directory of pid %i: %s"),
-pid, strerror(errno));
-return EINA_FALSE;
- }
-   memcpy(buf, vpi.pvi_cdir.vip_path, size);
-
-#else
-
-   char procpath[PATH_MAX];
-   ssize_t siz;
-
-   snprintf(procpath, sizeof(procpath), "/proc/%d/cwd", pid);
-   if ((siz = readlink(procpath, buf, size)) < 1)
- {
-ERR("Could not load working directory %s: %s",
-procpath, strerror(errno));
-return EINA_FALSE;
- }
-   buf[siz] = 0;
-
-#endif
-
-   return EINA_TRUE;
-}
-
 static char *
 _home_path_get(const Evas_Object *obj EINA_UNUSED, const char *relpath)
 {
@@ -624,12 +586,13 @@ _home_path_get(const Evas_Object *obj EINA_UNUSED, const 
char *relpath)
 }
 
 static char *
-_cwd_path_get(const Evas_Object *obj, const char *relpath)
+_cwd_path_get(const char *relpath)
 {
char cwdpath[PATH_MAX], tmppath[PATH_MAX];
+   char *tmp = NULL;
 
-   if (!_cwd_get(obj, cwdpath, sizeof(cwdpath)))
- return NULL;
+   tmp = getcwd(cwdpath, PATH_MAX);
+   if (!tmp) return NULL;
 
eina_str_join(tmppath, sizeof(tmppath), '/', cwdpath, relpath);
return strdup(tmppath);
@@ -648,7 +611,7 @@ _util_local_path_get(const Evas_Object *obj, const char 
*relpath)
else if (eina_str_has_prefix(relpath, "~/"))
  return _home_path_get(obj, relpath + 2);
else
- return _cwd_path_get(obj, relpath);
+ return _cwd_path_get(relpath);
 }
 
 Eina_Bool

-- 




[EGIT] [admin/devs] master 01/01: Drop existing keys and switch to EdDSA

2015-08-17 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 117629d1907f3f181f6269fd7bc5729d3052bb55
Author: Chris Michael 
Date:   Mon Aug 17 09:09:52 2015 -0400

Drop existing keys and switch to EdDSA
---
 developers/devilhorns/id_ed25519.pub | 1 +
 developers/devilhorns/id_rsa.pub | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/developers/devilhorns/id_ed25519.pub 
b/developers/devilhorns/id_ed25519.pub
new file mode 100644
index 000..ef1df51
--- /dev/null
+++ b/developers/devilhorns/id_ed25519.pub
@@ -0,0 +1 @@
+ssh-ed25519 
C3NzaC1lZDI1NTE5IM2fZENOAs7QSomL25tP6lLzC3ZpPHmBoqapkGnX3Sqe 
devilhorns@paradox
diff --git a/developers/devilhorns/id_rsa.pub b/developers/devilhorns/id_rsa.pub
deleted file mode 100644
index f1ded2d..000
--- a/developers/devilhorns/id_rsa.pub
+++ /dev/null
@@ -1 +0,0 @@
-ssh-rsa 
B3NzaC1yc2EBIwAAAQEApyTPkrwLZNLgozPoOQQhKoDpXCCduFCC2MiWjeazzl1/0jgENRdjAl462kNUR2K9KV0HEAaDHP96YK7+9NYvAVUrKHA091P+FpSdAquSCNTVt9pFEAQhrIxsBPWife3yTEDlNJFgcRw/M1j1RCE6qaIzlhnOmIKl0ROkAhUUJLO61HhYENWlaX8hQf04zMtHA20rBxBaxDvL7VOUDPWzOwnvl5iYCssP2OHD7ibJyA+T714cRis/lmALaZo0GSdJxl1B5h1EPGAQFp4xmwgF5q+xGVeoefjEEEdMZSbBGM+yHYWklLfbUTrpADcsy/nnQWE2ECvhS/i5G81BF9sPEw==
 devilhorns@revolution

-- 




[EGIT] [enlightenment/modules/wallpaper2] master 01/01: wallpaper2: Include string.h for strdupa usage

2015-10-02 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/wallpaper2.git/commit/?id=26366a479d132787ef16b6dfdb5e17662d4a83f1

commit 26366a479d132787ef16b6dfdb5e17662d4a83f1
Author: Chris Michael 
Date:   Fri Oct 2 14:13:43 2015 -0400

wallpaper2: Include string.h for strdupa usage

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

diff --git a/src/e_mod_main.h b/src/e_mod_main.h
index 4bf1976..a3bcd01 100644
--- a/src/e_mod_main.h
+++ b/src/e_mod_main.h
@@ -1,6 +1,8 @@
 #ifndef E_MOD_MAIN_H
 #define E_MOD_MAIN_H
 
+#include 
+
 #ifdef ENABLE_NLS
 # include 
 # define D_(str) dgettext(PACKAGE, str)

-- 




[EGIT] [enlightenment/modules/wallpaper2] master 01/01: wallpaper2: Make wallpaper2 function again with EFL/E from git

2015-05-07 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/wallpaper2.git/commit/?id=c55d5f31d60d798b9edd672c530632ef515d250e

commit c55d5f31d60d798b9edd672c530632ef515d250e
Author: Chris Michael 
Date:   Thu May 7 15:32:54 2015 -0400

wallpaper2: Make wallpaper2 function again with EFL/E from git

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

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index 006ce93..ee8493f 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -10,13 +10,13 @@ static E_Int_Menu_Augmentation *maug = NULL;
 //static E_Fm2_Mime_Handler *import_hdl = NULL;
 
 /* module setup */
-EAPI E_Module_Api e_modapi =
+E_API E_Module_Api e_modapi =
 {
E_MODULE_API_VERSION,
  "Settings - Wallpaper 2"
 };
 
-EAPI void *
+E_API void *
 e_modapi_init(E_Module *m)
 {
bindtextdomain(PACKAGE, LOCALEDIR);
@@ -43,7 +43,7 @@ e_modapi_init(E_Module *m)
return m;
 }
 
-EAPI int
+E_API int
 e_modapi_shutdown(E_Module *m EINA_UNUSED)
 {
 //   E_Config_Dialog *cfd;
@@ -71,7 +71,7 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
return 1;
 }
 
-EAPI int
+E_API int
 e_modapi_save(E_Module *m EINA_UNUSED)
 {
return 1;

-- 




[EGIT] [enlightenment/modules/wallpaper2] master 01/01: wallpaper2: Fix implicit declaration of strdupa warning

2015-06-05 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/wallpaper2.git/commit/?id=c3133ac6b71e38e033eacc5818a3dc1310421d5b

commit c3133ac6b71e38e033eacc5818a3dc1310421d5b
Author: Chris Michael 
Date:   Fri Jun 5 09:57:37 2015 -0400

wallpaper2: Fix implicit declaration of strdupa warning

Signed-off-by: Chris Michael 
---
 configure.ac | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure.ac b/configure.ac
index 222f2ad..8b8f979 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,6 +14,7 @@ AC_ISC_POSIX
 AM_INIT_AUTOMAKE([1.8 dist-bzip2])
 AM_CONFIG_HEADER(config.h)
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AC_USE_SYSTEM_EXTENSIONS
 
 AC_PROG_CC
 AM_PROG_CC_STDC

-- 




[EGIT] [admin/devs] master 01/01: Promote xavi to developers

2018-09-25 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit ce3b5caf4f6187857e5d347bdaf539a1d375226e
Author: Chris Michael 
Date:   Tue Sep 25 13:29:38 2018 -0400

Promote xavi to developers
---
 {probies => developers}/xartigas/id_ed25519.pub | 0
 {probies => developers}/xartigas/info.txt   | 0
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/probies/xartigas/id_ed25519.pub 
b/developers/xartigas/id_ed25519.pub
similarity index 100%
rename from probies/xartigas/id_ed25519.pub
rename to developers/xartigas/id_ed25519.pub
diff --git a/probies/xartigas/info.txt b/developers/xartigas/info.txt
similarity index 100%
rename from probies/xartigas/info.txt
rename to developers/xartigas/info.txt

-- 




[EGIT] [core/elementary] master 01/01: elementary: Fix elementary not compiling

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

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

commit a8d3df85a28de104597d909544ef1f19b3f06d91
Author: Chris Michael 
Date:   Tue Jan 5 08:55:54 2016 -0500

elementary: Fix elementary not compiling

With the push of 1056b6ed01475817da2439012057d11865d2c5d8, elementary
compile broke due to undeclared variables. This patch fixes elm to
compile again by declaring the missing vars.

@fix

@raster, Please double check this change as I am unsure if it is what
you Really intended here.

Signed-off-by: Chris Michael 
---
 src/lib/elm_config.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
index c2a02a7..02091dd 100644
--- a/src/lib/elm_config.c
+++ b/src/lib/elm_config.c
@@ -1898,8 +1898,9 @@ _elm_config_eet_close_error_get(Eet_File *ef,
 }
 
 static Eina_Bool
-_elm_config_profile_save(void)
+_elm_config_profile_save(const char *profile)
 {
+   Elm_Config_Derived *derived;
char buf[4096], buf2[4096];
int ok = 0, ret;
const char *err;
@@ -1943,7 +1944,7 @@ _elm_config_profile_save(void)
derived = _elm_config_derived_load(profile ? profile : _elm_profile);
if (derived)
  {
-_elm_config_derived_save(cfg, derived);
+_elm_config_derived_save(_elm_config, derived);
 _elm_config_derived_free(derived);
  }
return EINA_TRUE;
@@ -1956,7 +1957,6 @@ err:
 Eina_Bool
 _elm_config_save(Elm_Config *cfg, const char *profile)
 {
-   Elm_Config_Derived *derived;
char buf[4096], buf2[4096];
int ok = 0, ret;
const char *err;
@@ -1990,7 +1990,7 @@ _elm_config_save(Elm_Config *cfg, const char *profile)
 
if (!profile)
  {
-if (!_elm_config_profile_save())
+if (!_elm_config_profile_save(NULL))
   return EINA_FALSE;
  }
 
@@ -3608,7 +3608,7 @@ elm_config_all_flush(void)
 return;
  }
 
-   if (!_elm_config_profile_save())
+   if (!_elm_config_profile_save(NULL))
  {
 ERR("Failed to save profile");
 return;

-- 




[EGIT] [core/enlightenment] master 02/02: Reenable building wl_wl module

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

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

commit 1a35c7e8a27fc3073b04de0235bbac7cb7cf2beb
Author: Chris Michael 
Date:   Tue Jan 5 13:16:38 2016 -0500

Reenable building wl_wl module

Signed-off-by: Chris Michael 
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 6098d47..2d00ea4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -793,7 +793,7 @@ WL_WL=false
 define([CHECK_MODULE_WL_WL],
 [
   if test "x${have_wayland}" = "xyes"; then
-WL_WL=false
+WL_WL=true
   else
 WL_WL=false
   fi

-- 




[EGIT] [core/enlightenment] master 01/02: Fix issue of nested compositors not working with Ecore_Wl2 library

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

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

commit acb1875af0cb0e4d97572e9f2a9b0d1856c6bf93
Author: Chris Michael 
Date:   Tue Jan 5 13:15:56 2016 -0500

Fix issue of nested compositors not working with Ecore_Wl2 library

Signed-off-by: Chris Michael 
---
 src/modules/Makefile_wl_wl.mk  |   3 +-
 src/modules/wl_wl/e_mod_main.c |  35 
 src/modules/wl_wl/wl.c | 119 -
 3 files changed, 27 insertions(+), 130 deletions(-)

diff --git a/src/modules/Makefile_wl_wl.mk b/src/modules/Makefile_wl_wl.mk
index 1721a3f..5a7e71c 100644
--- a/src/modules/Makefile_wl_wl.mk
+++ b/src/modules/Makefile_wl_wl.mk
@@ -9,8 +9,7 @@ src_modules_wl_wl_module_la_CPPFLAGS  = $(MOD_CPPFLAGS) 
@WAYLAND_CFLAGS@
 src_modules_wl_wl_module_la_LIBADD   = $(LIBS) @WAYLAND_LIBS@
 src_modules_wl_wl_module_la_LDFLAGS = $(MOD_LDFLAGS)
 src_modules_wl_wl_module_la_SOURCES = \
-src/modules/wl_wl/e_mod_main.c \
-src/modules/wl_wl/wl.c
+src/modules/wl_wl/e_mod_main.c
 
 PHONIES += wl_wl install-wl_wl
 wl_wl: $(wl_wlpkg_LTLIBRARIES) $(wl_wl_DATA)
diff --git a/src/modules/wl_wl/e_mod_main.c b/src/modules/wl_wl/e_mod_main.c
index 35bac19..d3decfa 100644
--- a/src/modules/wl_wl/e_mod_main.c
+++ b/src/modules/wl_wl/e_mod_main.c
@@ -1,7 +1,5 @@
 #include "e.h"
 
-EINTERN void wl_wl_init(void);
-
 E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Wl_Wl" };
 
 static void
@@ -10,11 +8,27 @@ _cb_delete_request(Ecore_Evas *ee EINA_UNUSED)
ecore_main_loop_quit();
 }
 
-E_API void *
-e_modapi_init(E_Module *m)
+static Eina_Bool
+_cb_sync_done(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
+   Ecore_Wl2_Event_Sync_Done *ev;
int w = 0, h = 0;
 
+   ev = event;
+   if (ev->display != e_comp_wl->wl.client_disp)
+ return ECORE_CALLBACK_PASS_ON;
+
+   ecore_evas_screen_geometry_get(e_comp->ee, NULL, NULL, &w, &h);
+   if ((w < 1) || (h < 1)) return ECORE_CALLBACK_PASS_ON;
+
+   e_comp_canvas_resize(w / 4, h / 4);
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
+E_API void *
+e_modapi_init(E_Module *m)
+{
printf("LOAD WL_WL MODULE\n");
 
if (e_comp_config_get()->engine == E_COMP_ENGINE_GL)
@@ -38,17 +52,17 @@ e_modapi_init(E_Module *m)
  return NULL;
   }
  }
+
+   ecore_evas_data_set(e_comp->ee, "comp", e_comp);
ecore_evas_callback_delete_request_set(e_comp->ee, _cb_delete_request);
ecore_evas_title_set(e_comp->ee, "Enlightenment: WL-WL");
ecore_evas_name_class_set(e_comp->ee, "E", "compositor");
 
-   ecore_evas_screen_geometry_get(e_comp->ee, NULL, NULL, &w, &h);
+   ecore_event_handler_add(ECORE_WL2_EVENT_SYNC_DONE, _cb_sync_done, NULL);
 
if (!e_comp_wl_init()) return NULL;
-   if (!e_comp_canvas_init(w * 3 / 4, h * 3 / 4)) return NULL;
+   if (!e_comp_canvas_init(1024, 768)) return NULL;
 
-   ecore_evas_pointer_xy_get(e_comp->ee, &e_comp_wl->ptr.x,
- &e_comp_wl->ptr.y);
e_comp_wl_input_pointer_enabled_set(EINA_TRUE);
e_comp_wl_input_keyboard_enabled_set(EINA_TRUE);
e_comp_wl_input_touch_enabled_set(EINA_TRUE);
@@ -59,7 +73,10 @@ e_modapi_init(E_Module *m)
e_comp->pointer->color = EINA_TRUE;
 
e_comp_wl_input_keymap_set(NULL, NULL, NULL, NULL, NULL);
-   wl_wl_init();
+
+   ecore_evas_pointer_xy_get(e_comp->ee, &e_comp_wl->ptr.x,
+ &e_comp_wl->ptr.y);
+   evas_event_feed_mouse_in(e_comp->evas, 0, NULL);
 
return m;
 }
diff --git a/src/modules/wl_wl/wl.c b/src/modules/wl_wl/wl.c
deleted file mode 100644
index 3242770..000
--- a/src/modules/wl_wl/wl.c
+++ /dev/null
@@ -1,119 +0,0 @@
-#include "e.h"
-
-static struct wl_display *disp;
-static Ecore_Fd_Handler *wl_fdh;
-
-static void
-_wl_handle_global(void *data EINA_UNUSED, struct wl_registry *registry 
EINA_UNUSED, unsigned int id, const char *interface, unsigned int version)
-{
-   Ecore_Wl_Global *global;
-
-   if (!(global = calloc(1, sizeof(Ecore_Wl_Global return;
-
-   global->id = id;
-   global->interface = strdup(interface);
-   global->version = version;
-   e_comp_wl->wl.globals = eina_inlist_append(e_comp_wl->wl.globals, 
EINA_INLIST_GET(global));
-
-   if (!strcmp(interface, "wl_shm"))
- e_comp_wl->wl.shm = wl_registry_bind(registry, id, &wl_shm_interface, 1);
-   ecore_event_add(E_EVENT_WAYLAND_GLOBAL_ADD, NULL, NULL, NULL);
-}
-
-static void
-_wl_handle_global_remove(void *data EINA_UNUSED, struct wl_registry *registry 
EINA_UNUSED, unsigned int id)
-{
-   Ecore_Wl_Global *global;
-   Eina_Inlist *tmp;
-
-   EINA_INLIST_FOREACH_SAFE(e_comp_wl->wl.globals, tmp, global)
- {
-if (global->id != id) continue;
-e_comp_wl->wl.globals =
-  

[EGIT] [core/efl] master 02/02: ecore-wl2: Fix support for nested compositors

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

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

commit 6967aa14573b68166838af71904f87e7d4791462
Author: Chris Michael 
Date:   Tue Jan 5 13:10:40 2016 -0500

ecore-wl2: Fix support for nested compositors

When trying to create nested compositors, we were failing here due to
trying to read the WAYLAND_DISPLAY env variable and find an existing
server display to match. In order for nested compositors to function,
we cannot reuse that environment variable for server display hash.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_display.c | 17 +
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index 0313322..3f9f647 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -401,22 +401,7 @@ ecore_wl2_display_create(const char *name)
if (!_server_displays)
  _server_displays = eina_hash_string_superfast_new(NULL);
 
-   if (!name)
- {
-const char *n;
-
-/* someone wants to create a new server */
-n = getenv("WAYLAND_DISPLAY");
-if (n)
-  {
- /* we have a default wayland display */
-
- /* check hash of cached server displays for this name */
- ewd = eina_hash_find(_server_displays, n);
- if (ewd) goto found;
-  }
- }
-   else
+   if (name)
  {
 /* someone wants to create a server with a specific display */
 

-- 




[EGIT] [core/efl] master 01/02: ecore-wl2: Remove blank line

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

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

commit 6afbd272bd04ef27cff16d17d2f8345c35d7716d
Author: Chris Michael 
Date:   Tue Jan 5 09:26:17 2016 -0500

ecore-wl2: Remove blank line

NB: No functional changes

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_display.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index e02d729..0313322 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -415,7 +415,6 @@ ecore_wl2_display_create(const char *name)
  ewd = eina_hash_find(_server_displays, n);
  if (ewd) goto found;
   }
-
  }
else
  {

-- 




[EGIT] [core/efl] master 02/02: ecore-wl2: Mark API as Beta before 1.17 gets released

2016-01-06 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 67044ae214b6647293b393a884bf233d5bcd2743
Author: Chris Michael 
Date:   Wed Jan 6 12:16:33 2016 -0500

ecore-wl2: Mark API as Beta before 1.17 gets released

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/Ecore_Wl2.h | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index f77ede3..18960b0 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -28,11 +28,13 @@
 /* extern "C" { */
 /* # endif */
 
+# ifdef EFL_BETA_API_SUPPORT
+
 typedef struct _Ecore_Wl2_Subsurface Ecore_Wl2_Subsurface;
 
-# ifndef _ECORE_WL2_WINDOW_PREDEF
+#  ifndef _ECORE_WL2_WINDOW_PREDEF
 typedef struct _Ecore_Wl2_Window Ecore_Wl2_Window;
-# endif
+#  endif
 
 typedef struct _Ecore_Wl2_Display Ecore_Wl2_Display;
 typedef struct _Ecore_Wl2_Output Ecore_Wl2_Output;
@@ -1047,6 +1049,8 @@ EAPI Ecore_Wl2_Display 
*ecore_wl2_window_display_get(const Ecore_Wl2_Window *win
 /* } */
 /* # endif */
 
+# endif
+
 # undef EAPI
 # define EAPI
 

-- 




[EGIT] [core/efl] master 01/02: evas-wayland-egl: Remove unused variables and unused function

2016-01-06 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit a957f5a57f57b02eb2fe7a40fe9a91232a1c59ce
Author: Chris Michael 
Date:   Wed Jan 6 12:11:53 2016 -0500

evas-wayland-egl: Remove unused variables and unused function

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/wayland_egl/evas_engine.c | 17 ++---
 1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c 
b/src/modules/evas/engines/wayland_egl/evas_engine.c
index 0d6ad0d..44968b7 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
@@ -964,12 +964,11 @@ _native_cb_free(void *data, void *image)
 }
 
 static int
-_native_cb_yinvert(void *data, void *image)
+_native_cb_yinvert(void *data EINA_UNUSED, void *image)
 {
-   Render_Engine *re = data;
Evas_GL_Image *im = image;
Native *n = im->native.data;
-   int yinvert = 0, val;
+   int yinvert = 0;
 
// Yinvert callback should only be used for EVAS_NATIVE_SURFACE_EVASGL type 
now,
// as yinvert value is not changed for other types.
@@ -1325,18 +1324,6 @@ eng_image_native_set(void *data, void *image, void 
*native)
return img;
 }
 
-static void *
-eng_image_native_get(void *data EINA_UNUSED, void *image)
-{
-   Evas_GL_Image *im = image;
-   Evas_Native_Surface *n;
-
-   if (!im) return NULL;
-   n = im->native.data;
-   if (!n) return NULL;
-   return n;
-}
-
 Eina_Bool
 eng_preload_make_current(void *data, void *doit)
 {

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Fix formatting

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

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

commit f836aba678b4ed251875a4d43db27b2a3fce8494
Author: Chris Michael 
Date:   Thu Jan 7 08:55:49 2016 -0500

ecore-drm: Fix formatting

NB: No functional changes

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_device.c  | 4 +---
 src/lib/ecore_drm/ecore_drm_private.h | 5 ++---
 src/lib/ecore_drm/ecore_drm_tty.c | 9 ++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index d3eb91f..5376dbd 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -117,9 +117,7 @@ _ecore_drm_device_cached_context_get(enum xkb_context_flags 
flags)
 }
 
 struct xkb_keymap *
-_ecore_drm_device_cached_keymap_get(struct xkb_context *ctx,
-   const struct xkb_rule_names *names,
-   enum xkb_keymap_compile_flags flags)
+_ecore_drm_device_cached_keymap_get(struct xkb_context *ctx, const struct 
xkb_rule_names *names, enum xkb_keymap_compile_flags flags)
 {
EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, NULL);
 
diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index c3ba84c..bb959e9 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -297,7 +297,6 @@ void _ecore_drm_inputs_init(void);
 void _ecore_drm_inputs_shutdown(void);
 
 struct xkb_context *_ecore_drm_device_cached_context_get(enum 
xkb_context_flags flags);
-struct xkb_keymap *_ecore_drm_device_cached_keymap_get(struct xkb_context *ctx,
-   const struct xkb_rule_names *names,
-   enum xkb_keymap_compile_flags flags);
+struct xkb_keymap *_ecore_drm_device_cached_keymap_get(struct xkb_context 
*ctx, const struct xkb_rule_names *names, enum xkb_keymap_compile_flags flags);
+
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_tty.c 
b/src/lib/ecore_drm/ecore_drm_tty.c
index bf05786..fdc2bcd 100644
--- a/src/lib/ecore_drm/ecore_drm_tty.c
+++ b/src/lib/ecore_drm/ecore_drm_tty.c
@@ -242,7 +242,8 @@ EAPI Eina_Bool
 ecore_drm_tty_release(Ecore_Drm_Device *dev)
 {
/* check for valid device */
-   EINA_SAFETY_ON_TRUE_RETURN_VAL((!dev) || (!dev->drm.name) || (dev->tty.fd < 
0), EINA_FALSE);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL((!dev) || (!dev->drm.name) ||
+  (dev->tty.fd < 0), EINA_FALSE);
 
/* send ioctl for vt release */
if (ioctl(dev->tty.fd, VT_RELDISP, 1) < 0) 
@@ -258,7 +259,8 @@ EAPI Eina_Bool
 ecore_drm_tty_acquire(Ecore_Drm_Device *dev)
 {
/* check for valid device */
-   EINA_SAFETY_ON_TRUE_RETURN_VAL((!dev) || (!dev->drm.name) || (dev->tty.fd < 
0), EINA_FALSE);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL((!dev) || (!dev->drm.name) ||
+  (dev->tty.fd < 0), EINA_FALSE);
 
/* send ioctl for vt acquire */
if (ioctl(dev->tty.fd, VT_RELDISP, VT_ACKACQ) < 0) 
@@ -274,7 +276,8 @@ EAPI int
 ecore_drm_tty_get(Ecore_Drm_Device *dev)
 {
/* check for valid device */
-   EINA_SAFETY_ON_TRUE_RETURN_VAL((!dev) || (!dev->drm.name) || (dev->tty.fd < 
0), -1);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL((!dev) || (!dev->drm.name) ||
+  (dev->tty.fd < 0), -1);
 
return dev->tty.fd;
 }

-- 




[EGIT] [core/efl] master 01/01: ecore-wl2: API expose ecore_wl2_input_grab function

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

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

commit 5499a53c7568a2c889f5b7db82161583fff24bf7
Author: Chris Michael 
Date:   Thu Jan 7 11:55:52 2016 -0500

ecore-wl2: API expose ecore_wl2_input_grab function

This input_grab function should have been exposed via EAPI for use in
enlightenment, but was missed before the push

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/Ecore_Wl2.h   | 4 
 src/lib/ecore_wl2/ecore_wl2_input.c | 8 
 2 files changed, 12 insertions(+)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index 18960b0..a31fee7 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -782,6 +782,10 @@ EAPI Ecore_Wl2_Input 
*ecore_wl2_window_input_get(Ecore_Wl2_Window *window);
 
 /* TODO: doxy */
 /** @since 1.17 */
+EAPI void ecore_wl2_input_grab(Ecore_Wl2_Input *input, Ecore_Wl2_Window 
*window, unsigned int button);
+
+/* TODO: doxy */
+/** @since 1.17 */
 EAPI void ecore_wl2_input_ungrab(Ecore_Wl2_Input *input);
 
 /* TODO: doxy */
diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c 
b/src/lib/ecore_wl2/ecore_wl2_input.c
index df7847c..1b1174d 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -1366,6 +1366,14 @@ _ecore_wl2_input_cursor_update_stop(Ecore_Wl2_Input 
*input)
 }
 
 EAPI void
+ecore_wl2_input_grab(Ecore_Wl2_Input *input, Ecore_Wl2_Window *window, 
unsigned int button)
+{
+   EINA_SAFETY_ON_NULL_RETURN(input);
+
+   _ecore_wl2_input_grab(input, window, button);
+}
+
+EAPI void
 ecore_wl2_input_ungrab(Ecore_Wl2_Input *input)
 {
EINA_SAFETY_ON_NULL_RETURN(input);

-- 




[EGIT] [core/elementary] master 02/02: elementary: Fix warnings of uninitialized variable usage

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

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

commit 2f718de3b95b715fd965dedb93f0bc58bf9c8c00
Author: Chris Michael 
Date:   Thu Jan 7 14:58:23 2016 -0500

elementary: Fix warnings of uninitialized variable usage

This patch just fixes a compiler warning about using fw/fh
uninitialized if the conditional is false

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

diff --git a/src/lib/els_box.c b/src/lib/els_box.c
index 54e3d58..eec3f95 100644
--- a/src/lib/els_box.c
+++ b/src/lib/els_box.c
@@ -169,7 +169,7 @@ _smart_extents_non_homogeneous_calc(Evas_Object_Box_Data 
*priv, int w, int h, in
 
 if (do_aspect && aspect)
   {
- int ww, hh, fw, fh;
+ int ww, hh, fw = 0, fh = 0;
  double wx, wy, ax, ay;
 
  evas_object_size_hint_weight_get(opt->obj, &wx, &wy);

-- 




[EGIT] [core/efl] master 01/01: ecore-evas: Rename ecore_evas_wayland_window_get2 function

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

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

commit 99ac0763ab89af93c38b69e87547815c0eb2c46a
Author: Chris Michael 
Date:   Thu Jan 7 15:02:13 2016 -0500

ecore-evas: Rename ecore_evas_wayland_window_get2 function

This renames the ecore_evas_wayland_window_get2 function to be
ecore_evas_wayland2_window_get before the 1.17 roll out.

Signed-off-by: Chris Michael 
---
 src/lib/ecore_evas/Ecore_Evas.h| 2 +-
 src/lib/ecore_evas/ecore_evas.c| 4 ++--
 src/lib/ecore_evas/ecore_evas_wayland.h| 2 +-
 src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index 3514d6b..30e45b1 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -1316,7 +1316,7 @@ EAPI voidecore_evas_wayland_move(Ecore_Evas 
*ee, int x, int y);
 EAPI voidecore_evas_wayland_pointer_set(Ecore_Evas *ee, int hot_x, 
int hot_y);
 EAPI voidecore_evas_wayland_type_set(Ecore_Evas *ee, int type);
 EAPI Ecore_Wl_Window *ecore_evas_wayland_window_get(const Ecore_Evas *ee);
-EAPI Ecore_Wl2_Window *ecore_evas_wayland_window_get2(const Ecore_Evas *ee); 
/** @since 1.17 */
+EAPI Ecore_Wl2_Window *ecore_evas_wayland2_window_get(const Ecore_Evas *ee); 
/** @since 1.17 */
 
 EAPI Ecore_Cocoa_Window *ecore_evas_cocoa_window_get(const Ecore_Evas *ee); 
/** @since 1.17 */
 
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 076b3f5..d3e3f28 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -3998,13 +3998,13 @@ ecore_evas_cocoa_window_get(const Ecore_Evas *ee)
 }
 
 EAPI Ecore_Wl2_Window *
-ecore_evas_wayland_window_get2(const Ecore_Evas *ee)
+ecore_evas_wayland2_window_get(const Ecore_Evas *ee)
 {
Ecore_Evas_Interface_Wayland *iface;
iface = (Ecore_Evas_Interface_Wayland *)_ecore_evas_interface_get(ee, 
"wayland");
EINA_SAFETY_ON_NULL_RETURN_VAL(iface, NULL);
 
-   return iface->window_get2(ee);
+   return iface->window2_get(ee);
 }
 
 EAPI Ecore_Evas *
diff --git a/src/lib/ecore_evas/ecore_evas_wayland.h 
b/src/lib/ecore_evas/ecore_evas_wayland.h
index ab3894e..b75f779 100644
--- a/src/lib/ecore_evas/ecore_evas_wayland.h
+++ b/src/lib/ecore_evas/ecore_evas_wayland.h
@@ -12,7 +12,7 @@ struct _Ecore_Evas_Interface_Wayland
void (*pointer_set)(Ecore_Evas *ee, int hot_x, int hot_y);
void (*type_set)(Ecore_Evas *ee, int type);
Ecore_Wl_Window* (*window_get)(const Ecore_Evas *ee);
-   Ecore_Wl2_Window *(*window_get2)(const Ecore_Evas *ee);
+   Ecore_Wl2_Window *(*window2_get)(const Ecore_Evas *ee);
void (*pre_post_swap_callback_set)(const Ecore_Evas *ee, void *data, void 
(*pre_cb) (void *data, Evas *e), void (*post_cb) (void *data, Evas *e));
 };
 
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index f10f4d0..40db840 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -1561,7 +1561,7 @@ _ecore_evas_wl_interface_new(void)
iface->move = _ecore_evas_wayland_move;
/* iface->pointer_set = _ecore_evas_wayland_pointer_set; */
iface->type_set = _ecore_evas_wayland_type_set;
-   iface->window_get2 = _ecore_evas_wayland_window_get;
+   iface->window2_get = _ecore_evas_wayland_window_get;
 
 #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
iface->pre_post_swap_callback_set = 

-- 




[EGIT] [core/elementary] master 01/01: elementary: Fix potential sizeof mismatch

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

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

commit a6fb564f38278f83fb14291357c1902a80970ca0
Author: Chris Michael 
Date:   Thu Jan 7 15:23:45 2016 -0500

elementary: Fix potential sizeof mismatch

Coverity CID1347398 reports that this could potentially be a
non-portable assumption resulting in a sizeof mismatch. Fix this by
using the actual structure type in the call to calloc.

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

diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
index 2f86c1c..bd1b9ff 100644
--- a/src/lib/elm_config.c
+++ b/src/lib/elm_config.c
@@ -900,7 +900,7 @@ elm_config_profile_derived_add(const char *profile, const 
char *derive_options)
Elm_Config_Derived *derived;
 
derived = _elm_config_derived_load(_elm_profile);
-   if (!derived) derived = calloc(1, sizeof(derived));
+   if (!derived) derived = calloc(1, sizeof(Elm_Config_Derived));
if (derived)
  {
 Elm_Config_Derived_Profile *dp = calloc(1, 
sizeof(Elm_Config_Derived_Profile));

-- 




[EGIT] [core/enlightenment] master 01/01: Update wl_weekeyboard for ecore_evas_wayland_window_get2 function rename

2016-01-08 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 370b6a03e33c650acd4375eaa40ee7f5d03b9260
Author: Chris Michael 
Date:   Fri Jan 8 10:37:42 2016 -0500

Update wl_weekeyboard for ecore_evas_wayland_window_get2 function rename

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

diff --git a/src/modules/wl_weekeyboard/e_mod_main.c 
b/src/modules/wl_weekeyboard/e_mod_main.c
index 5a45aea..b3dfc24 100644
--- a/src/modules/wl_weekeyboard/e_mod_main.c
+++ b/src/modules/wl_weekeyboard/e_mod_main.c
@@ -546,7 +546,7 @@ _wkb_setup(struct weekeyboard *wkb)
/* Set input panel surface */
DBG("Setting up input panel");
 
-   wkb->win = ecore_evas_wayland_window_get2(wkb->ee);
+   wkb->win = ecore_evas_wayland2_window_get(wkb->ee);
ecore_wl2_window_type_set(wkb->win, ECORE_WL2_WINDOW_TYPE_NONE);
 
wkb->surface = ecore_wl2_window_surface_get(wkb->win);

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Call inputs shutdown before eina_shutdown

2016-01-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit d50784a086d9e4b6357963bf542ccd872b5a953b
Author: Chris Michael 
Date:   Mon Jan 11 13:57:23 2016 -0500

ecore-drm: Call inputs shutdown before eina_shutdown

As we end up freeing the input hash inside the
_ecore_drm_inputs_shutdown function, it should be called before we
shutdown eina

@fix

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

diff --git a/src/lib/ecore_drm/ecore_drm.c b/src/lib/ecore_drm/ecore_drm.c
index 02dd76e..07b6a4f 100644
--- a/src/lib/ecore_drm/ecore_drm.c
+++ b/src/lib/ecore_drm/ecore_drm.c
@@ -127,6 +127,8 @@ ecore_drm_shutdown(void)
/* if we are still in use, decrement init count and get out */
if (--_ecore_drm_init_count != 0) return _ecore_drm_init_count;
 
+   _ecore_drm_inputs_shutdown();
+
/* close eeze */
eeze_shutdown();
 
@@ -143,8 +145,6 @@ ecore_drm_shutdown(void)
/* shutdown eina */
eina_shutdown();
 
-   _ecore_drm_inputs_shutdown();
-
/* return init count */
return _ecore_drm_init_count;
 }

-- 




[EGIT] [core/enlightenment] master 01/02: Update dependencies for enlightenment_alert binary

2016-01-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit eec66f4fc52d24210a3300ab7c05e799bd427dee
Author: Chris Michael 
Date:   Fri Jan 8 11:30:10 2016 -0500

Update dependencies for enlightenment_alert binary

Signed-off-by: Chris Michael 
---
 configure.ac | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure.ac b/configure.ac
index 0eddd53..dcecd58 100644
--- a/configure.ac
+++ b/configure.ac
@@ -942,6 +942,9 @@ if test "x${have_wayland_only}" != "xyes"; then
 eina >= ${efl_version}
 ecore >= ${efl_version}
 ecore-ipc >= ${efl_version}
+ecore-input >= ${efl_version}
+ecore-drm >= ${efl_version}
+evas >= ${efl_version}
   ])
 fi
 

-- 




[EGIT] [core/enlightenment] master 02/02: Port e_alert to implement WBOD for drm/wayland

2016-01-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 3911b504cc38711bd848ebc12ae1d10d617b4be8
Author: Chris Michael 
Date:   Wed Jan 13 14:15:11 2016 -0500

Port e_alert to implement WBOD for drm/wayland

This patch makes e_alert_main (the enlightenment_alert binary) work
for crashes when running with wayland (via the drm backend).

ref T2926

Signed-off-by: Chris Michael 
---
 src/bin/e_alert_main.c | 494 +
 1 file changed, 463 insertions(+), 31 deletions(-)

diff --git a/src/bin/e_alert_main.c b/src/bin/e_alert_main.c
index e2b7abb..dbe599c 100644
--- a/src/bin/e_alert_main.c
+++ b/src/bin/e_alert_main.c
@@ -16,6 +16,15 @@
 #include 
 #include 
 
+#ifdef HAVE_WAYLAND
+# ifdef HAVE_WL_DRM
+#  include 
+#  include 
+#  include 
+#  include 
+# endif
+#endif
+
 #define WINDOW_WIDTH   320
 #define WINDOW_HEIGHT  240
 
@@ -24,6 +33,7 @@
 #endif
 
 /* local function prototypes */
+#ifndef HAVE_WAYLAND
 static int   _e_alert_connect(void);
 static void  _e_alert_create(void);
 static void  _e_alert_display(void);
@@ -51,8 +61,11 @@ static xcb_window_t btn1 = 0;
 static xcb_window_t btn2 = 0;
 static xcb_font_t font = 0;
 static xcb_gcontext_t gc = 0;
+static int fa = 0, fw = 0;
+#endif
+
 static int sw = 0, sh = 0;
-static int fa = 0, fh = 0, fw = 0;
+static int fh = 0;
 static const char *title = NULL, *str1 = NULL, *str2 = NULL;
 static int ret = 0, sig = 0;
 static pid_t pid;
@@ -60,6 +73,422 @@ static Eina_Bool tainted = EINA_TRUE;
 static const char *backtrace_str = NULL;
 static int exit_gdb = 0;
 
+struct
+{
+   int signal;
+   const char *name;
+} signal_name[5] = {
+   { SIGSEGV, "SEGV" },
+   { SIGILL, "SIGILL" },
+   { SIGFPE, "SIGFPE" },
+   { SIGBUS, "SIGBUS" },
+   { SIGABRT, "SIGABRT" }
+};
+
+#ifdef HAVE_WAYLAND
+# ifdef HAVE_WL_DRM
+static Ecore_Drm_Device *dev = NULL;
+static Ecore_Drm_Fb *buffer;
+static Evas *canvas = NULL;
+
+static Eina_Bool
+_e_alert_drm_cb_key_down(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*event)
+{
+   Ecore_Event_Key *ev;
+
+   ev = event;
+   if (!strcmp(ev->key, "F12"))
+ {
+ret = 2;
+ecore_main_loop_quit();
+ }
+   else if (!strcmp(ev->key, "F1"))
+ {
+ret = 1;
+ecore_main_loop_quit();
+ }
+
+   return ECORE_CALLBACK_RENEW;
+}
+
+static int
+_e_alert_drm_connect(void)
+{
+   fprintf(stderr, "E_Alert Drm Connect\n");
+
+   if (!evas_init())
+ {
+printf("\tCannot init evas\n");
+return 0;
+ }
+
+   if (!ecore_drm_init())
+ {
+printf("\tCannot init ecore_drm\n");
+return 0;
+ }
+
+   dev = ecore_drm_device_find(NULL, NULL);
+   if (!dev)
+ {
+printf("\tCannot find drm device\n");
+return 0;
+ }
+
+   if (!ecore_drm_launcher_connect(dev))
+ {
+printf("\tCannot connect to drm device\n");
+return 0;
+ }
+
+   if (!ecore_drm_device_open(dev))
+ {
+printf("\tCannot open drm device\n");
+return 0;
+ }
+
+   if (!ecore_drm_outputs_create(dev))
+ {
+printf("\tCannot create drm outputs\n");
+return 0;
+ }
+
+   if (!ecore_drm_inputs_create(dev))
+ {
+printf("\tCannot create drm inputs\n");
+return 0;
+ }
+
+   ecore_drm_outputs_geometry_get(dev, NULL, NULL, &sw, &sh);
+   fprintf(stderr, "\tOutput Size: %d %d\n", sw, sh);
+
+   ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
+   _e_alert_drm_cb_key_down, NULL);
+
+   return 1;
+}
+
+static void
+_e_alert_drm_draw_outline(void)
+{
+   Evas_Object *o;
+   int wx = 0, wy = 0;
+
+   wx = ((sw - WINDOW_WIDTH) / 2);
+   wy = ((sh - WINDOW_HEIGHT) / 2);
+
+   /* create background */
+   o = evas_object_rectangle_add(canvas);
+   evas_object_move(o, wx, wy);
+   evas_object_resize(o, WINDOW_WIDTH, WINDOW_HEIGHT);
+   evas_object_show(o);
+
+   /* create outline */
+   o = evas_object_rectangle_add(canvas);
+   evas_object_color_set(o, 0, 0, 0, 255);
+   evas_object_move(o, wx, wy);
+   evas_object_resize(o, WINDOW_WIDTH, WINDOW_HEIGHT);
+   evas_object_show(o);
+
+   /* create white inside */
+   o = evas_object_rectangle_add(canvas);
+   evas_object_move(o, wx + 1, wy + 1);
+   evas_object_resize(o, WINDOW_WIDTH - 2, WINDOW_HEIGHT - 2);
+   evas_object_show(o);
+}
+
+static void
+_e_alert_drm_draw_title_outline(void)
+{
+   Evas_Object *o;
+   int wx = 0, wy = 0;
+
+   wx = ((sw - WINDOW_WIDTH) / 2);
+   wy = ((sh - WINDOW_HEIGHT) / 2);
+
+   /* create title outline */
+   o = evas_object_rectangle_add(canvas);
+   evas_object_color_set(o, 0, 0, 0, 255);
+   evas_object_move(o, wx + 2, wy + 2);
+   evas_

[EGIT] [core/enlightenment] master 01/01: Fix build break for non-wayland builds

2016-01-14 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 542e44a4457087c8ef65afc1ac3b18cc8dffbbf0
Author: Chris Michael 
Date:   Thu Jan 14 08:56:50 2016 -0500

Fix build break for non-wayland builds

This patch fixes an issue where implementing WBOD for wayland would
always (previously) require ecore-drm to build. We fix this by
adjusting the enlightenment_alert requirements based on if we are
building with wayland support or not.

Signed-off-by: Chris Michael 
---
 configure.ac | 30 +++---
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index dcecd58..f5a4960 100644
--- a/configure.ac
+++ b/configure.ac
@@ -934,18 +934,26 @@ fi
 
 AM_CONDITIONAL([HAVE_WAYLAND_ONLY], [test "x${have_wayland_only}" = "xyes"])
 
+e_alert_requires="\
+  evas >= $efl_version \
+  ecore >= $efl_version \
+  xcb \
+  xcb-shape \
+  xcb-keysyms \
+  eina >= ${efl_version} \
+  ecore >= ${efl_version} \
+  ecore-ipc >= ${efl_version}"
+
+if test "x${have_wayland}" = "xyes"; then
+  e_alert_requires="\
+$e_alert_requires \
+ecore-input >= ${efl_version} \
+ecore-drm >= ${efl_version} \
+evas >= ${efl_version}"
+fi
+
 if test "x${have_wayland_only}" != "xyes"; then
-  PKG_CHECK_MODULES(E_ALERT, [
-xcb
-xcb-shape
-xcb-keysyms
-eina >= ${efl_version}
-ecore >= ${efl_version}
-ecore-ipc >= ${efl_version}
-ecore-input >= ${efl_version}
-ecore-drm >= ${efl_version}
-evas >= ${efl_version}
-  ])
+  PKG_CHECK_MODULES(E_ALERT, [$e_alert_requires])
 fi
 
 if test "x${have_wayland_only}" != "xyes"; then

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 01/34: Fix xbl_avail variable being used when it could be undefined

2016-01-18 Thread Chris Michael
discomfitor pushed a commit to branch enlightenment-0.20.

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

commit 7c7920277160e4ce22c9cdbd681a4692470bd430
Author: Chris Michael 
Date:   Mon Dec 28 14:30:56 2015 -0500

Fix xbl_avail variable being used when it could be undefined

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

diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c
index c90e2ef..95d03be 100644
--- a/src/bin/e_backlight.c
+++ b/src/bin/e_backlight.c
@@ -254,7 +254,9 @@ _e_backlight_update(void)
if (bl_sysval)
  {
 sysmode = MODE_SYS;
+#ifndef HAVE_WAYLAND_ONLY
 xbl_avail = EINA_FALSE;
+#endif
 _bl_sys_level_get();
 return;
  }

-- 




[EGIT] [core/elementary] master 01/01: elementary: Fix elm_win_window_id_get function

2016-01-19 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=1029f53f99d748c3d515a3b74a74c529b289c80e

commit 1029f53f99d748c3d515a3b74a74c529b289c80e
Author: Chris Michael 
Date:   Tue Jan 19 10:43:28 2016 -0500

elementary: Fix elm_win_window_id_get function

When using this function with wayland windows, we should be returning
the matching Ecore_Wl2_Window id, not the surface_id

ref T3058

@fix

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

diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index 050e82b..5f0234c 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -5613,14 +5613,14 @@ _elm_win_window_id_get(Eo *obj EINA_UNUSED, 
Elm_Win_Data *sd)
  {
 #if HAVE_ELEMENTARY_WL2
 if (sd->wl.win)
-  return (Ecore_Window)ecore_wl2_window_surface_id_get(sd->wl.win);
+  return (Ecore_Window)ecore_wl2_window_id_get(sd->wl.win);
 if (sd->parent)
   {
  Ecore_Wl2_Window *parent;
 
  parent = elm_win_wl_window_get(sd->parent);
  if (parent)
-   return (Ecore_Window)ecore_wl2_window_surface_id_get(parent);
+   return (Ecore_Window)ecore_wl2_window_id_get(parent);
  return 0;
   }
 #endif

-- 




[EGIT] [core/enlightenment] master 02/02: Fix issue of using the wrong id when finding pixmap client

2016-01-19 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 1b36f93956ea80173c5fef2fa8fbb0d9a886efb1
Author: Chris Michael 
Date:   Tue Jan 19 10:46:03 2016 -0500

Fix issue of using the wrong id when finding pixmap client

Previously, we were passing in the wl window id into the
pixmap_find_client function. This is improper as the e_pixmap_new
functions take the surface resource id. To solve this, we will get the
Ecore_Wl2_window from the Evas_Object, fetch the surface id from that,
then pass those into e_pixmap_find_client.

This resolves an issue where the everything module was not working
properly.

ref T3058

Signed-off-by: Chris Michael 
---
 src/bin/e_win.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_win.c b/src/bin/e_win.c
index 266d43f..51c21a4 100644
--- a/src/bin/e_win.c
+++ b/src/bin/e_win.c
@@ -79,11 +79,13 @@ _e_elm_win_trap_show(void *data, Evas_Object *o)
 #ifdef HAVE_WAYLAND
 if (!strncmp(ecore_evas_engine_name_get(ee), "wayland", 7))
   {
+ Ecore_Wl2_Window *ewin = elm_win_wl_window_get(o);
+
  type = E_PIXMAP_TYPE_WL;
  ecore_evas_object_cursor_set(ee, NULL, 0, 0, 0);
  ctx->pointer = e_comp->pointer;
  elm_win_borderless_set(o, 1);
- wl_win_id = win;
+ wl_win_id = ecore_wl2_window_surface_id_get(ewin);
   }
 else
 #endif

-- 




[EGIT] [core/enlightenment] master 01/02: Fix issue of compositor surface create passing wrong parameter to e_pixmap_new function

2016-01-19 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 67170f40a1a901101591c8102631dbec8e49794b
Author: Chris Michael 
Date:   Tue Jan 19 10:44:37 2016 -0500

Fix issue of compositor surface create passing wrong parameter to
e_pixmap_new function

e_pixmap_new (when creating wayland windows) is expecting to get a
uintptr_t type passed into it (surface id). Previously we were passing
the entire wl_resource.

ref T3058

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

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 0833db1..ba62070 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1502,7 +1502,7 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client 
*client, struct wl_reso
 E_Pixmap *ep;
 
 /* try to create new pixmap */
-if (!(ep = e_pixmap_new(E_PIXMAP_TYPE_WL, res)))
+if (!(ep = e_pixmap_new(E_PIXMAP_TYPE_WL, (uintptr_t)id)))
   {
  ERR("Could not create new pixmap");
  wl_resource_destroy(res);

-- 




[EGIT] [core/enlightenment] master 01/01: fix compiler warning about comparison between signed and unsigned ints

2016-01-20 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 01ae2a6287fa3f0ca12291fa9c36d45df8a8f111
Author: Chris Michael 
Date:   Wed Jan 20 15:10:36 2016 -0500

fix compiler warning about comparison between signed and unsigned ints

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

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 5e6f3d2..0878593 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -35,7 +35,8 @@ _xkb_changed_state(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event)
 {
Ecore_X_Event_Xkb *ev = (Ecore_X_Event_Xkb *)event;
 
-   if (ev->group < 0 || ev->group >= 
eina_list_count(e_config->xkb.used_layouts))
+   if (ev->group < 0 ||
+   ev->group >= (int)eina_list_count(e_config->xkb.used_layouts))
  return ECORE_CALLBACK_PASS_ON;
 
e_config->xkb.cur_group = ev->group;

-- 




[EGIT] [core/efl] master 01/02: ecore-drm: Cleanup ecore-drm shutdown routine

2016-01-21 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 17fa5dee65059f6019ace06433765e639d2cd812
Author: Chris Michael 
Date:   Thu Jan 21 09:22:37 2016 -0500

ecore-drm: Cleanup ecore-drm shutdown routine

This patch addresses an issue where when closing Enlightenment, the
shutdown procedure would previously end up calling the same functions
twice. These functions should be called from the ecore_evas drm
shutdown routine as the sprites, inputs, outputs, etc are all called
from the ecore_evas drm init routine.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_device.c   | 13 -
 src/lib/ecore_drm/ecore_drm_launcher.c |  1 +
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 80cabf3..a406d5e 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -266,7 +266,6 @@ out:
 EAPI void 
 ecore_drm_device_free(Ecore_Drm_Device *dev)
 {
-   Ecore_Drm_Output *output;
unsigned int i = 0;
 
/* check for valid device */
@@ -277,18 +276,6 @@ ecore_drm_device_free(Ecore_Drm_Device *dev)
 if (dev->dumb[i]) ecore_drm_fb_destroy(dev->dumb[i]);
 dev->dumb[i] = NULL;
  }
-   /* destroy all sprites*/
-   ecore_drm_sprites_destroy(dev);
-   /* clear inputs */
-   ecore_drm_inputs_destroy(dev);
-   /* free outputs */
-   EINA_LIST_FREE(dev->outputs, output)
- ecore_drm_output_free(output);
-   /* disconnect launcher */
-   ecore_drm_launcher_disconnect(dev);
-   /* close myself */
-   ecore_drm_device_close(dev);
-
 
/* free crtcs */
if (dev->crtcs) free(dev->crtcs);
diff --git a/src/lib/ecore_drm/ecore_drm_launcher.c 
b/src/lib/ecore_drm/ecore_drm_launcher.c
index c9e1ce2..72dd140 100644
--- a/src/lib/ecore_drm/ecore_drm_launcher.c
+++ b/src/lib/ecore_drm/ecore_drm_launcher.c
@@ -88,6 +88,7 @@ EAPI void
 ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev)
 {
EINA_SAFETY_ON_NULL_RETURN(dev);
+
if (dev->tty.switch_hdlr) ecore_event_handler_del(dev->tty.switch_hdlr);
dev->tty.switch_hdlr = NULL;
 

-- 




[EGIT] [core/efl] master 02/02: ecore-evas-drm: Cleanup drm outputs during shutdown

2016-01-21 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 479bf37aecd60d519aa323eb3f2a93e1b0f3faa6
Author: Chris Michael 
Date:   Thu Jan 21 09:24:06 2016 -0500

ecore-evas-drm: Cleanup drm outputs during shutdown

As we no longer cleanup outputs inside the ecore_drm_device_free
function (see previous commit), we should be cleaning up outputs here
as they are created during the _ecore_evas_drm_init function.

@fix

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

diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 
b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index 7f18eca..f25c52c 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -604,16 +604,21 @@ dev_err:
 static int
 _ecore_evas_drm_shutdown(void)
 {
+   Ecore_Drm_Output *output;
+
if (--_ecore_evas_init_count != 0) return _ecore_evas_init_count;
 
ecore_drm_inputs_destroy(dev);
-   /* NB: No need to free outputs here. Is done in device free */
+
+   EINA_LIST_FREE(dev->outputs, output)
+ ecore_drm_output_free(output);
+
ecore_drm_sprites_destroy(dev);
ecore_drm_device_close(dev);
ecore_drm_launcher_disconnect(dev);
ecore_drm_device_free(dev);
-   dev = NULL;
ecore_drm_shutdown();
+   dev = NULL;
 
ecore_event_evas_shutdown();
 

-- 




[EGIT] [core/enlightenment] master 01/01: check siginfo si_code to verify that SIGUSR2 comes from user

2016-01-21 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit d09b1030b814124a0ffb23e7901bb754eec8e5e6
Author: Chris Michael 
Date:   Thu Jan 21 11:28:31 2016 -0500

check siginfo si_code to verify that SIGUSR2 comes from user

When VT switching away and back, the kernel uses SIGUSR1 and SIGUSR2
to notify us of a vt switch event. That same signal was being trapped
here to toggle display of the 'fps' window. If we check the signal's
si_code, we can tell if this signal came from the kernel (as in vt
switch) or from the user (as is sent in 'kill'). This fixes the issue
of VT-switching back and forth under DRM would cause the compositor
'fps' display to appear.
    
Signed-off-by: Chris Michael 
---
 src/bin/e_comp.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 9facdd0..4bce85d 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -817,6 +817,12 @@ _e_comp_key_down(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_Event_Key *
 static Eina_Bool
 _e_comp_signal_user(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Event_Signal_User *ev)
 {
+   siginfo_t sig;
+
+   sig = ev->data;
+   /* anything sent via 'kill' will set this code to SI_USER */
+   if (sig.si_code != SI_USER) return ECORE_CALLBACK_PASS_ON;
+
if (ev->number == 1)
  {
 // e uses this to pop up config panel

-- 




[EGIT] [core/efl] master 03/04: ecore-drm: Don't unset logind variable when disconnecting a device

2016-01-21 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit e0c36d27f56ae207b5a969d53bf7eba2d67e38a7
Author: Chris Michael 
Date:   Thu Jan 21 11:35:45 2016 -0500

ecore-drm: Don't unset logind variable when disconnecting a device

For a case where we have more than one device open, if we set the
'logind' variable to false, then the second device would never close
properly.

@fix

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

diff --git a/src/lib/ecore_drm/ecore_drm_launcher.c 
b/src/lib/ecore_drm/ecore_drm_launcher.c
index 72dd140..ff24c90 100644
--- a/src/lib/ecore_drm/ecore_drm_launcher.c
+++ b/src/lib/ecore_drm/ecore_drm_launcher.c
@@ -57,6 +57,7 @@ EAPI Eina_Bool
 ecore_drm_launcher_connect(Ecore_Drm_Device *dev)
 {
EINA_SAFETY_ON_NULL_RETURN_VAL(dev, EINA_FALSE);
+
/* try to connect to logind */
if (!(logind = _ecore_drm_logind_connect(dev)))
  {
@@ -100,7 +101,6 @@ ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev)
else
  {
 _ecore_drm_logind_disconnect(dev);
-logind = EINA_FALSE;
  }
 }
 

-- 




[EGIT] [core/efl] master 04/04: ecore-drm: Unify and cleanup tty code

2016-01-21 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit cb983f747b72c369499f7b738973c422c7996fee
Author: Chris Michael 
Date:   Thu Jan 21 11:38:07 2016 -0500

ecore-drm: Unify and cleanup tty code

This patch brings the tty code more inline with what the logind code
Was doing. It also fixes the return value from the vt_signal handler,
and opens the tty in non-blocking mode now.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h |  1 +
 src/lib/ecore_drm/ecore_drm_tty.c | 50 +--
 2 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index bb959e9..1f51d3b 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -263,6 +263,7 @@ void _ecore_drm_launcher_device_close(const char *device, 
int fd);
 int _ecore_drm_launcher_device_flags_set(int fd, int flags);
 
 Eina_Bool _ecore_drm_tty_switch(Ecore_Drm_Device *dev, int activate_vt);
+void _ecore_drm_tty_restore(Ecore_Drm_Device *dev);
 
 Ecore_Drm_Evdev *_ecore_drm_evdev_device_create(Ecore_Drm_Seat *seat, struct 
libinput_device *device);
 void _ecore_drm_evdev_device_destroy(Ecore_Drm_Evdev *evdev);
diff --git a/src/lib/ecore_drm/ecore_drm_tty.c 
b/src/lib/ecore_drm/ecore_drm_tty.c
index f88cb4b..cd41bb6 100644
--- a/src/lib/ecore_drm/ecore_drm_tty.c
+++ b/src/lib/ecore_drm/ecore_drm_tty.c
@@ -17,8 +17,10 @@ _ecore_drm_tty_cb_vt_signal(void *data, int type 
EINA_UNUSED, void *event)
 
ev = event;
sig = ev->data;
-   if (sig.si_code != SI_KERNEL) return ECORE_CALLBACK_RENEW;
-   if (!(dev = data)) return ECORE_CALLBACK_RENEW;
+   if (sig.si_code != SI_KERNEL) return ECORE_CALLBACK_PASS_ON;
+   if (!(dev = data)) return ECORE_CALLBACK_PASS_ON;
+
+   DBG("TTY SWITCH SIGNAL");
 
switch (ev->number)
  {
@@ -38,7 +40,7 @@ _ecore_drm_tty_cb_vt_signal(void *data, int type EINA_UNUSED, 
void *event)
 break;
  }
 
-   return ECORE_CALLBACK_RENEW;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 Eina_Bool
@@ -55,7 +57,8 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev)
struct vt_mode vtmode = { 0, 0, SIGUSR1, SIGUSR2, 0 };
 
if ((fstat(dev->tty.fd, &st) == -1) || 
-   (major(st.st_rdev) != TTY_MAJOR) || (minor(st.st_rdev) == 0))
+   (major(st.st_rdev) != TTY_MAJOR) || (minor(st.st_rdev) <= 0) ||
+   (minor(st.st_rdev) >= 64))
  {
 ERR("Failed to get stats for tty");
 return EINA_FALSE;
@@ -70,23 +73,25 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev)
if (kmode != KD_TEXT)
  WRN("Virtual Terminal already in KD_GRAPHICS mode");
 
-   if (ioctl(dev->tty.fd, VT_ACTIVATE, minor(st.st_rdev)) < 0)
- {
-ERR("Failed to activate vt: %m");
-return EINA_FALSE;
- }
+   /* if (ioctl(dev->tty.fd, VT_ACTIVATE, minor(st.st_rdev)) < 0) */
+   /*   { */
+   /*  ERR("Failed to activate vt: %m"); */
+   /*  return EINA_FALSE; */
+   /*   } */
 
-   if (ioctl(dev->tty.fd, VT_WAITACTIVE, minor(st.st_rdev)) < 0)
- {
-ERR("Failed to wait active: %m");
-return EINA_FALSE;
- }
+   /* if (ioctl(dev->tty.fd, VT_WAITACTIVE, minor(st.st_rdev)) < 0) */
+   /*   { */
+   /*  ERR("Failed to wait active: %m"); */
+   /*  return EINA_FALSE; */
+   /*   } */
 
if (ioctl(dev->tty.fd, KDGKBMODE, &kbd_mode))
  {
-ERR("Could not get curent kbd mode: %m");
-return EINA_FALSE;
+WRN("Could not get current kbd mode: %m");
+dev->tty.kbd_mode = K_UNICODE;
  }
+   else if (dev->tty.kbd_mode == K_OFF)
+ dev->tty.kbd_mode = K_UNICODE;
 
if (ioctl(dev->tty.fd, KDSKBMUTE, 1) && 
ioctl(dev->tty.fd, KDSKBMODE, K_OFF))
@@ -105,6 +110,7 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev)
vtmode.waitv = 0;
vtmode.relsig = SIGUSR1;
vtmode.acqsig = SIGUSR2;
+
if (ioctl(dev->tty.fd, VT_SETMODE, &vtmode) < 0)
  {
 ERR("Could not set Terminal Mode: %m");
@@ -115,6 +121,8 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev)
 err_setmode:
ioctl(dev->tty.fd, KDSETMODE, KD_TEXT);
 err_kmode:
+   ioctl(dev->tty.fd, KDSKBMUTE, 0);
+   ioctl(dev->tty.fd, KDSKBMODE, dev->tty.kbd_mode);
return EINA_FALSE;
 }
 
@@ -158,10 +166,10 @@ ecore_drm_tty_open(Ecore_Drm_Device *dev, const char 
*name)
  {
 DBG("Trying to Open Tty: %s", tty);
 
-dev->tty.fd = open(tty, (O_RDWR | O_CLOEXEC)); //O_RDWR | O_NOCTTY);
+dev->tty.fd = open(tty, (O_RDWR | O_CLOEXEC | O_NONBLOCK));
 if (dev->tty.fd < 0)
   {
- DBG("Failed to Open Tty: %m");
+

[EGIT] [core/efl] master 01/04: ecore-drm: Refactor logind code to use tty functions

2016-01-21 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit cddc7ba445035040ee31685c1920327ca26f47d7
Author: Chris Michael 
Date:   Thu Jan 21 11:20:29 2016 -0500

ecore-drm: Refactor logind code to use tty functions

This patch cleans up some of the logind code to make use of the
existing tty functions as they both did the same thing

@fix

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

diff --git a/src/lib/ecore_drm/ecore_drm_logind.c 
b/src/lib/ecore_drm/ecore_drm_logind.c
index 47cb92f..0797d02 100644
--- a/src/lib/ecore_drm/ecore_drm_logind.c
+++ b/src/lib/ecore_drm/ecore_drm_logind.c
@@ -27,77 +27,15 @@ _ecore_drm_logind_vt_get(Ecore_Drm_Device *dev)
 static Eina_Bool 
 _ecore_drm_logind_vt_setup(Ecore_Drm_Device *dev)
 {
-   struct stat st;
char buff[64];
-   struct vt_mode vtmode = { 0, 0, SIGUSR1, SIGUSR2, 0 };
 
snprintf(buff, sizeof(buff), "/dev/tty%d", dev->vt);
buff[sizeof(buff) - 1] = 0;
 
-   dev->tty.fd = open(buff, (O_RDWR | O_CLOEXEC | O_NONBLOCK));
-   if (dev->tty.fd < 0)
- {
-ERR("Could not open VT %s %m", buff);
-return EINA_FALSE;
- }
-
-   if ((fstat(dev->tty.fd, &st) == -1) || 
-   (major(st.st_rdev) != TTY_MAJOR) || 
-   (minor(st.st_rdev) <= 0) || (minor(st.st_rdev) >= 64))
- {
-ERR("TTY %s is not a virtual terminal", buff);
-goto stat_err;
- }
-
-   if (ioctl(dev->tty.fd, KDGKBMODE, &dev->tty.kbd_mode) < 0)
- {
-ERR("Could not read keyboard mode of %s: %m", buff);
-dev->tty.kbd_mode = K_UNICODE;
- }
-   else if (dev->tty.kbd_mode == K_OFF)
- dev->tty.kbd_mode = K_UNICODE;
-
-   if ((ioctl(dev->tty.fd, KDSKBMUTE, 1) < 0) && 
-   (ioctl(dev->tty.fd, KDSKBMODE, K_OFF) < 0))
- {
-ERR("Could not set K_OFF keyboard mode on %s: %m", buff);
-goto stat_err;
- }
-
-   if (ioctl(dev->tty.fd, KDSETMODE, KD_GRAPHICS) < 0)
- {
-ERR("Could not set KD_GRAPHICS mode on %s: %m", buff);
-goto kbdmode_err;
- }
-
-   vtmode.mode = VT_PROCESS;
-   vtmode.waitv = 0;
-   vtmode.relsig = SIGUSR1;
-   vtmode.acqsig = SIGUSR2;
-
-   if (ioctl(dev->tty.fd, VT_SETMODE, &vtmode) < 0)
- {
-ERR("Could not take over virtual terminal: %m");
-goto mode_err;
- }
+   if (!ecore_drm_tty_open(dev, buff))
+ return EINA_FALSE;
 
return EINA_TRUE;
-
-mode_err:
-   ioctl(dev->tty.fd, KDSETMODE, KD_TEXT);
-kbdmode_err:
-   ioctl(dev->tty.fd, KDSKBMUTE, 0);
-   ioctl(dev->tty.fd, KDSKBMODE, dev->tty.kbd_mode);
-stat_err:
-   close(dev->tty.fd);
-   return EINA_FALSE;
-}
-
-static void 
-_ecore_drm_logind_vt_destroy(Ecore_Drm_Device *dev)
-{
-   _ecore_drm_logind_restore(dev);
-   close(dev->tty.fd);
 }
 
 static Eina_Bool 
@@ -252,7 +190,7 @@ _ecore_drm_logind_disconnect(Ecore_Drm_Device *dev)
if (active_hdlr) ecore_event_handler_del(active_hdlr);
active_hdlr = NULL;
 
-   _ecore_drm_logind_vt_destroy(dev);
+   ecore_drm_tty_close(dev);
_ecore_drm_dbus_session_release();
_ecore_drm_dbus_shutdown();
 }
@@ -260,15 +198,7 @@ _ecore_drm_logind_disconnect(Ecore_Drm_Device *dev)
 void 
 _ecore_drm_logind_restore(Ecore_Drm_Device *dev)
 {
-   struct vt_mode vtmode = { 0, 0, SIGUSR1, SIGUSR2, 0 };
-
-   if ((!dev) || (dev->tty.fd < 0)) return;
-
-   ioctl(dev->tty.fd, KDSETMODE, KD_TEXT);
-   ioctl(dev->tty.fd, KDSKBMUTE, 0);
-   ioctl(dev->tty.fd, KDSKBMODE, dev->tty.kbd_mode);
-   vtmode.mode = VT_AUTO;
-   ioctl(dev->tty.fd, VT_SETMODE, &vtmode);
+   _ecore_drm_tty_restore(dev);
 }
 
 Eina_Bool

-- 




[EGIT] [core/efl] master 02/04: ecore-drm: Destroy any existing eeze watch when we free the device

2016-01-21 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 4ba349be4f6706d6049d54e1f60f2716c41edec5
Author: Chris Michael 
Date:   Thu Jan 21 11:32:53 2016 -0500

ecore-drm: Destroy any existing eeze watch when we free the device

If a user frees a device without closing it we could end up with a
dangling eeze watch. This small patch just makes sure to delete the
watch if it exists

@fix

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

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index a406d5e..cca3332 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -277,6 +277,8 @@ ecore_drm_device_free(Ecore_Drm_Device *dev)
 dev->dumb[i] = NULL;
  }
 
+   if (dev->watch) eeze_udev_watch_del(dev->watch);
+
/* free crtcs */
if (dev->crtcs) free(dev->crtcs);
 
@@ -394,9 +396,11 @@ ecore_drm_device_close(Ecore_Drm_Device *dev)
 
/* delete udev watch */
if (dev->watch) eeze_udev_watch_del(dev->watch);
+   dev->watch = NULL;
 
/* close xkb context */
if (dev->xkb_ctx) xkb_context_unref(dev->xkb_ctx);
+   dev->xkb_ctx = NULL;
 
_ecore_drm_launcher_device_close(dev->drm.name, dev->drm.fd);
 

-- 




[EGIT] [core/elementary] master 01/01: elementary: Add missing EINA_UNUSED in combobox function

2016-01-25 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 3f0bf22d6218e7bbd50dbcdb62cc64ec850581dc
Author: Chris Michael 
Date:   Mon Jan 25 07:43:03 2016 -0500

elementary: Add missing EINA_UNUSED in combobox function

_elm_combobox_elm_genlist_filter_set function does not use the Eo *obj
parameter so mark it as EINA_UNUSED to remove compiler warning

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

diff --git a/src/lib/elc_combobox.c b/src/lib/elc_combobox.c
index bac259d..c00c772 100644
--- a/src/lib/elc_combobox.c
+++ b/src/lib/elc_combobox.c
@@ -502,7 +502,7 @@ 
_elm_combobox_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNU
 }
 
 EOLIAN void
-_elm_combobox_elm_genlist_filter_set(Eo *obj, Elm_Combobox_Data *pd, void *key)
+_elm_combobox_elm_genlist_filter_set(Eo *obj EINA_UNUSED, Elm_Combobox_Data 
*pd, void *key)
 {
pd->first_filter = EINA_FALSE;
 

-- 




[EGIT] [core/efl] master 01/01: edje: Fix potential NULL pointer dereference

2016-01-25 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 3d9a6e238af3837e273248c71da4d96daef10352
Author: Chris Michael 
Date:   Mon Jan 25 07:47:03 2016 -0500

edje: Fix potential NULL pointer dereference

It is possible that evas_object_data_get here does not return an Edje,
so check the return value. This fixes a coverity reported issue.

@fix
CID1349866

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

diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 221bd1d..4bb0e9c 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -3505,8 +3505,11 @@ _edje_object_part_swallow(Eo *obj EINA_UNUSED, Edje *ed, 
const char *part, Evas_
 /* the object is already swallowed in the requested part */
 if (rpcur == rp) return EINA_TRUE;
 sed = evas_object_data_get(obj_swallow, ".edje");
-/* The object is already swallowed somewhere, unswallow it first */
-edje_object_part_unswallow(sed->obj, obj_swallow);
+if (sed)
+  {
+ /* The object is already swallowed somewhere, unswallow it first 
*/
+ edje_object_part_unswallow(sed->obj, obj_swallow);
+  }
  }
 
if (!rp)

-- 




[EGIT] [core/enlightenment] master 01/01: add missing EINA_UNUSED for _xkb_changed_state function

2016-01-25 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit c692381f2e5f3294af8e771439f0fb7596c45a6a
Author: Chris Michael 
Date:   Mon Jan 25 14:02:48 2016 -0500

add missing EINA_UNUSED for _xkb_changed_state function

This function does not use the event parameter, so mark it as unused

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

diff --git a/src/modules/xkbswitch/e_mod_main.c 
b/src/modules/xkbswitch/e_mod_main.c
index 8f7f754..14d5747 100644
--- a/src/modules/xkbswitch/e_mod_main.c
+++ b/src/modules/xkbswitch/e_mod_main.c
@@ -279,7 +279,7 @@ _gc_icon(const E_Gadcon_Client_Class *client_class 
EINA_UNUSED, Evas *evas)
 }
 
 static Eina_Bool
-_xkb_changed_state(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+_xkb_changed_state(void *data EINA_UNUSED, int type EINA_UNUSED, void *event 
EINA_UNUSED)
 {
_xkb_update_icon(e_config->xkb.cur_group);
return ECORE_CALLBACK_PASS_ON;

-- 




[EGIT] [core/efl] master 01/01: evas: Fix segfault when trying to determine overlay usage

2016-01-25 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 64aff0a7f02de2d249e3cf908fc572f008576c99
Author: Chris Michael 
Date:   Mon Jan 25 16:10:25 2016 -0500

evas: Fix segfault when trying to determine overlay usage

Previously, _evas_render_can_use_overlay would segfault here when
trying to make use of an Evas_Video_Surface. This is because eo_tmp
variable was never reassigned to be the smart parent before we tried
to get eo data from it.

@fix

NB: Thanks Frenchie !! ;)

Signed-off-by: Chris Michael 
---
 src/lib/evas/canvas/evas_render.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 1952d60..b3497ee 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -964,8 +964,8 @@ _evas_render_can_use_overlay(Evas_Public_Data *e, 
Evas_Object *eo_obj)
tmp = eo_data_scope_get(eo_tmp, EVAS_OBJECT_CLASS);
while (tmp && !(_evas_render_has_map(tmp) && !_evas_render_can_map(tmp)))
  {
-tmp = eo_data_scope_get(eo_tmp, EVAS_OBJECT_CLASS);
 eo_tmp = tmp->smart.parent;
+tmp = eo_data_scope_get(eo_tmp, EVAS_OBJECT_CLASS);
  }
 
if (tmp && _evas_render_has_map(tmp) && !_evas_render_can_map(tmp))

-- 




[EGIT] [core/efl] master 01/01: evas: Fix explicit NULL dereference

2016-01-27 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit cbf2aa2bf99d54cdcc3cf68966b6630c9094a547
Author: Chris Michael 
Date:   Wed Jan 27 12:05:59 2016 -0500

evas: Fix explicit NULL dereference

This patch fixes an Coverity issue that if 'dst' gets set to NULL (as can
happen above) then this eo_do call may segfault as it is directly
accessing 'dst->buffer'.

@fix
CID1347415
    
    Signed-off-by: Chris Michael 
---
 src/lib/evas/filters/evas_filter_utils.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/filters/evas_filter_utils.c 
b/src/lib/evas/filters/evas_filter_utils.c
index 802f09a..ec84301 100644
--- a/src/lib/evas/filters/evas_filter_utils.c
+++ b/src/lib/evas/filters/evas_filter_utils.c
@@ -63,7 +63,8 @@ evas_filter_buffer_scaled_get(Evas_Filter_Context *ctx,
 
 end:
if (src_map) eo_do(src->buffer, ector_buffer_unmap(src_map, src_len));
-   if (dst_map) eo_do(dst->buffer, ector_buffer_unmap(dst_map, dst_len));
+   if ((dst) && (dst_map))
+ eo_do(dst->buffer, ector_buffer_unmap(dst_map, dst_len));
DEBUG_TIME_END();
return dst;
 }

-- 




[EGIT] [core/efl] master 01/01: eeze: Fix eeze_udev_find_by_subsystem_sysname function

2016-01-29 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 684d5180c3bcd6054fc9a3bb9dae24f389fbac76
Author: Chris Michael 
Date:   Fri Jan 29 13:46:30 2016 -0500

eeze: Fix eeze_udev_find_by_subsystem_sysname function

This function was severly broken when used for finding devices of a
particular subsystem. Previously, this function would return every
device in the system, regardless if subsystem or sysname was passed in.
This patch fixes the issue by adding udev_enumerate matches before we
scan for devices. This way, when we enumerate the scan results, we now
get only devices that match the subsystem (if supplied).

@fix

Signed-off-by: Chris Michael 
---
 src/lib/eeze/eeze_udev_find.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/lib/eeze/eeze_udev_find.c b/src/lib/eeze/eeze_udev_find.c
index 06bbb4c..3df74cd 100644
--- a/src/lib/eeze/eeze_udev_find.c
+++ b/src/lib/eeze/eeze_udev_find.c
@@ -392,18 +392,19 @@ eeze_udev_find_by_subsystem_sysname(const char 
*subsystem, const char *sysname)
const char *devname;
Eina_List *ret = NULL;
 
-   if (!sysname) return NULL;
-
en = udev_enumerate_new(udev);
if (!en) return NULL;
 
+   if (subsystem) udev_enumerate_add_match_subsystem(en, subsystem);
+   if (sysname) udev_enumerate_add_match_sysname(en, sysname);
+
udev_enumerate_scan_devices(en);
devs = udev_enumerate_get_list_entry(en);
udev_list_entry_foreach(cur, devs)
  {
 devname = udev_list_entry_get_name(cur);
-device = 
-  udev_device_new_from_subsystem_sysname(udev, subsystem, sysname);
+device = udev_device_new_from_syspath(udev, devname);
+if (!device) continue;
 ret = eina_list_append(ret, eina_stringshare_add(devname));
 udev_device_unref(device);
  }

-- 




[EGIT] [core/enlightenment] master 01/01: update mailmap addresses

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

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

commit 0aa683b97ce29f154e6657223cb90f0f2553978b
Author: Chris Michael 
Date:   Tue Feb 2 14:03:07 2016 -0500

update mailmap addresses

Signed-off-by: Chris Michael 
---
 .mailmap | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/.mailmap b/.mailmap
index d9d6852..d055df3 100644
--- a/.mailmap
+++ b/.mailmap
@@ -17,10 +17,11 @@ Vincent Torri  Vincent Torri 

 Tom Hacohen  Tom 'TAsn' Hacohen 
 Tom Hacohen  Tom 
 Gustavo Sverzut Barbieri  Gustavo Sverzut Barbieri 

-Christopher Michael  Christopher Michael 

+Christopher Michael  Christopher Michael 

 Christopher Michael  Christopher Michael 

-Christopher Michael  Chris Michael 

-Christopher Michael  Chris Michael 

+Christopher Michael  Christopher Michael 

+Christopher Michael  Christopher Michael 

+Christopher Michael  Christopher Michael 

 Sebastian Dransfeld  Sebastian Dransfeld 

 Sebastian Dransfeld  sebastid 
 Mike Blumenkrantz  Mike Blumenkrantz 


-- 




[EGIT] [core/enlightenment] enlightenment-0.20 08/59: Don't leak eina_iterator in shot module

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

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

commit 58c7122aafbf77736da2ec8c30477f10785bb99d
Author: Chris Michael 
Date:   Mon Oct 26 10:03:33 2015 -0400

Don't leak eina_iterator in shot module

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

diff --git a/src/modules/shot/e_mod_main.c b/src/modules/shot/e_mod_main.c
index 60919b0..85d61f7 100644
--- a/src/modules/shot/e_mod_main.c
+++ b/src/modules/shot/e_mod_main.c
@@ -1300,6 +1300,7 @@ _wl_init()
}
   }
  }
+   eina_iterator_free(itr);
 
return ECORE_CALLBACK_RENEW;
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 13/59: Try to init (and error check the init) of ecore_wl2 library before we create a compositor

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

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

commit be2221ed9542ac54bc27bee90a3d0ed051c2aca7
Author: Chris Michael 
Date:   Mon Dec 7 09:25:49 2015 -0500

Try to init (and error check the init) of ecore_wl2 library before we
create a compositor

ref T2919

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

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index de5eb6e..4fee9dc 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2735,6 +2735,13 @@ _e_comp_wl_gl_init(void *d EINA_UNUSED)
 E_API Eina_Bool
 e_comp_wl_init(void)
 {
+   /* try to init ecore_wayland */
+   if (!ecore_wl2_init())
+ {
+e_error_message_show(_("Enlightenment cannot initialize 
Ecore_Wl2!\n"));
+return EINA_FALSE;
+ }
+
/* set gl available if we have ecore_evas support */
if (ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_WAYLAND_EGL) ||
ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_OPENGL_DRM))
@@ -2747,13 +2754,6 @@ e_comp_wl_init(void)
 return EINA_FALSE;
  }
 
-   /* try to init ecore_wayland */
-   if (!ecore_wl2_init())
- {
-e_error_message_show(_("Enlightenment cannot initialize 
Ecore_Wl2!\n"));
-return EINA_FALSE;
- }
-
/* create hash to store clients */
/* clients_win_hash = eina_hash_int64_new(NULL); */
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 03/59: remove unused event loop and add external Ecore_Wl2_Display variable

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

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

commit 5ff896f4bd025fdb73b39b58d06249ad23a42d26
Author: Chris Michael 
Date:   Thu Oct 22 11:54:59 2015 -0400

remove unused event loop and add external Ecore_Wl2_Display variable

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

diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index fd43b18..1493d14 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -103,7 +103,7 @@ struct _E_Comp_Wl_Data
  {
 struct wl_display *disp;
 struct wl_registry *registry; // only used for nested wl compositors
-struct wl_event_loop *loop;
+/* struct wl_event_loop *loop; */
 Eina_Inlist *globals;  // only used for nested wl compositors
 struct wl_shm *shm;  // only used for nested wl compositors
 Evas_GL *gl;
@@ -341,6 +341,8 @@ E_API Eina_Bool e_comp_wl_evas_handle_mouse_button(E_Client 
*ec, uint32_t timest
 
 E_API extern int E_EVENT_WAYLAND_GLOBAL_ADD;
 
+E_API extern Ecore_Wl2_Display *ewd;
+
 # ifndef HAVE_WAYLAND_ONLY
 EINTERN void e_comp_wl_xwayland_client_queue(E_Client *ec);
 static inline E_Comp_X_Client_Data *

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 11/59: Fix formatting

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

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

commit c648775b9571d327b082c7f80b83084ee8e1f35a
Author: Chris Michael 
Date:   Mon Oct 26 10:24:28 2015 -0400

Fix formatting

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

diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index 7e8f2e9..ec9d2e1 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -20,7 +20,7 @@ _e_comp_wl_input_update_seat_caps(void)
  caps |= WL_SEAT_CAPABILITY_TOUCH;
 
EINA_LIST_FOREACH(e_comp_wl->seat.resources, l, res)
-wl_seat_send_capabilities(res, caps);
+ wl_seat_send_capabilities(res, caps);
 }
 
 static void
@@ -126,9 +126,13 @@ _e_comp_wl_input_cb_keyboard_unbind(struct wl_resource 
*resource)
e_comp_wl->kbd.resources =
  eina_list_remove(e_comp_wl->kbd.resources, resource);
EINA_LIST_FOREACH_SAFE(e_comp_wl->kbd.focused, l, ll, res)
- if (res == resource)
-   e_comp_wl->kbd.focused =
- eina_list_remove_list(e_comp_wl->kbd.focused, l);
+ {
+if (res == resource)
+  {
+ e_comp_wl->kbd.focused =
+   eina_list_remove_list(e_comp_wl->kbd.focused, l);
+  }
+ }
 }
 
 void
@@ -169,8 +173,7 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, 
struct wl_resource *r
 wl_resource_get_version(resource), id);
if (!res)
  {
-ERR("Could not create keyboard on seat %s: %m",
-e_comp_wl->seat.name);
+ERR("Could not create keyboard on seat %s: %m", e_comp_wl->seat.name);
 wl_client_post_no_memory(client);
 return;
  }
@@ -187,8 +190,7 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, 
struct wl_resource *r
 
/* send current keymap */
wl_keyboard_send_keymap(res, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
-   e_comp_wl->xkb.fd,
-   e_comp_wl->xkb.size);
+   e_comp_wl->xkb.fd, e_comp_wl->xkb.size);
 
/* if the client owns the focused surface, we need to send an enter */
focused = e_client_focused_get();
@@ -210,23 +212,23 @@ _e_comp_wl_input_cb_touch_unbind(struct wl_resource 
*resource)
 static void
 _e_comp_wl_input_cb_touch_get(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, uint32_t id EINA_UNUSED)
 {
-struct wl_resource *res;
+   struct wl_resource *res;
 
 /* try to create pointer resource */
-res = wl_resource_create(client, &wl_touch_interface,
- wl_resource_get_version(resource), id);
-if (!res)
-  {
- ERR("Could not create touch on seat %s: %m",
- e_comp_wl->seat.name);
- wl_client_post_no_memory(client);
- return;
-  }
-
-e_comp_wl->touch.resources =
+   res = wl_resource_create(client, &wl_touch_interface,
+wl_resource_get_version(resource), id);
+   if (!res)
+ {
+ERR("Could not create touch on seat %s: %m",
+e_comp_wl->seat.name);
+wl_client_post_no_memory(client);
+return;
+ }
+
+   e_comp_wl->touch.resources =
  eina_list_append(e_comp_wl->touch.resources, res);
-wl_resource_set_implementation(res, &_e_touch_interface,
-   e_comp->wl_comp_data,
+   wl_resource_set_implementation(res, &_e_touch_interface,
+  e_comp->wl_comp_data,
   _e_comp_wl_input_cb_touch_unbind);
 }
 
@@ -403,8 +405,7 @@ _e_comp_wl_input_keymap_update(struct xkb_keymap *keymap)
/* send updated keymap */
EINA_LIST_FOREACH(e_comp_wl->kbd.resources, l, res)
  wl_keyboard_send_keymap(res, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
- e_comp_wl->xkb.fd,
- e_comp_wl->xkb.size);
+ e_comp_wl->xkb.fd, e_comp_wl->xkb.size);
 
/* update modifiers */
e_comp_wl_input_keyboard_modifiers_update();
@@ -501,23 +502,20 @@ e_comp_wl_input_keyboard_modifiers_serialize(void)
xkb_mod_mask_t mod;
xkb_layout_index_t grp;
 
-   mod = xkb_state_serialize_mods(e_comp_wl->xkb.state,
-  XKB_STATE_DEPRESSED);
+   mod = xkb_state_serialize_mods(e_comp_wl->xkb.state, XKB_STATE_DEPRESSED);
changed |= mod != e_comp_wl->kbd.mod_depressed;
e_comp_wl->kbd.mod_depressed = mod;
 
-   mod = xkb_state_serialize_mods(e_comp_wl->xkb.state,
-  XKB_STATE_MODS_LATCHED);
+   mod = xkb_state_serialize_mods(e_comp_wl->xkb.state, 
XKB_STATE_MODS_LAT

[EGIT] [core/enlightenment] enlightenment-0.20 38/59: check siginfo si_code to verify that SIGUSR2 comes from user

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

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

commit 18d59156cc9dd4d8b469190e0162e533bdfb44c5
Author: Chris Michael 
Date:   Thu Jan 21 11:28:31 2016 -0500

check siginfo si_code to verify that SIGUSR2 comes from user

When VT switching away and back, the kernel uses SIGUSR1 and SIGUSR2
to notify us of a vt switch event. That same signal was being trapped
here to toggle display of the 'fps' window. If we check the signal's
si_code, we can tell if this signal came from the kernel (as in vt
switch) or from the user (as is sent in 'kill'). This fixes the issue
of VT-switching back and forth under DRM would cause the compositor
'fps' display to appear.
    
Signed-off-by: Chris Michael 
---
 src/bin/e_comp.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 9facdd0..4bce85d 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -817,6 +817,12 @@ _e_comp_key_down(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_Event_Key *
 static Eina_Bool
 _e_comp_signal_user(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Event_Signal_User *ev)
 {
+   siginfo_t sig;
+
+   sig = ev->data;
+   /* anything sent via 'kill' will set this code to SI_USER */
+   if (sig.si_code != SI_USER) return ECORE_CALLBACK_PASS_ON;
+
if (ev->number == 1)
  {
 // e uses this to pop up config panel

-- 




  1   2   3   >