[EGIT] [core/elementary] master 01/02: test: correct argument order for calloc()

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

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

commit 37536054042df43b1756a98231ca5253c799f057
Author: Stefan Schmidt 
Date:   Mon Nov 30 21:57:58 2015 +0100

test: correct argument order for calloc()

calloc() expects count first and the actual size to allocate as second
argument. Say Thank You to smatch for finding this issues for us.
---
 src/bin/test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/test.c b/src/bin/test.c
index c1539d5..cb602f7 100644
--- a/src/bin/test.c
+++ b/src/bin/test.c
@@ -388,7 +388,7 @@ _space_removed_string_get(const char *name)
char *ret;
 
len = strlen(name);
-   ret = calloc(sizeof(char), len + 1);
+   ret = calloc(len + 1, sizeof(char));
 
while (name[i])
  {

-- 




[EGIT] [core/elementary] master 02/02: elm_font: correct argument order for calloc()

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

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

commit 63677ba6849debc02613f205d8033d72e88cd120
Author: Stefan Schmidt 
Date:   Mon Nov 30 21:58:39 2015 +0100

elm_font: correct argument order for calloc()

calloc() expects count first and the actual size to allocate as second
argument. Say Thank You to smatch for finding this issues for us.
---
 src/lib/elm_font.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/elm_font.c b/src/lib/elm_font.c
index 1f34681..797ecad 100644
--- a/src/lib/elm_font.c
+++ b/src/lib/elm_font.c
@@ -24,7 +24,7 @@ _elm_font_properties_get(Eina_Hash **font_hash,
 
 /* get font name */
 len = token - font;
-name = calloc(sizeof(char), len + 1);
+name = calloc(len + 1, sizeof(char));
 if (!name) return NULL;
 strncpy(name, font, len);
 
@@ -68,7 +68,7 @@ _elm_font_properties_get(Eina_Hash **font_hash,
  char *style_old = style;
 
  len = substyle - style;
- style = calloc(sizeof(char), len + 1);
+ style = calloc(len + 1, sizeof(char));
  if (style)
{
   strncpy(style, style_old, len);

-- 




[EGIT] [core/enlightenment] master 01/01: add config option for allowing sticky windows to receive focus reverts

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

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

commit a08ac02e820ba7fc6064f74414cfe810e775d5ed
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 16:27:04 2015 -0500

add config option for allowing sticky windows to receive focus reverts

since forever, sticky windows have not been allowed to receive focus after
various events, eg. desk flip or window close. in some workflows, however,
this may actually be desired behavior

disabled by default

fix T2837
---
 src/bin/e_client.c| 2 +-
 src/bin/e_config.c| 2 ++
 src/bin/e_config.h| 1 +
 src/bin/e_desk.c  | 2 +-
 src/modules/conf_window_manipulation/e_int_config_focus.c | 9 +
 5 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 28191e9..d6eb0c4 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -3579,7 +3579,7 @@ e_client_activate(E_Client *ec, Eina_Bool just_do_it)
  if (!ec->lock_user_iconify)
e_client_uniconify(ec);
   }
-if ((!ec->iconic) && (!ec->sticky))
+if ((!ec->iconic) && ((!ec->sticky) || 
e_config->focus_revert_allow_sticky))
   {
  int val = e_config->focus_last_focused_per_desktop;
 
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index 80501aa..00d4207 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -525,6 +525,7 @@ _e_config_edd_init(Eina_Bool old)
E_CONFIG_VAL(D, T, resize_info_visible, INT); /**/
E_CONFIG_VAL(D, T, focus_last_focused_per_desktop, INT); /**/
E_CONFIG_VAL(D, T, focus_revert_on_hide_or_close, INT); /**/
+   E_CONFIG_VAL(D, T, focus_revert_allow_sticky, INT); /**/
E_CONFIG_VAL(D, T, pointer_slide, INT); /**/
E_CONFIG_VAL(D, T, disable_all_pointer_warps, INT); /**/
E_CONFIG_VAL(D, T, pointer_warp_speed, DOUBLE); /**/
@@ -1410,6 +1411,7 @@ e_config_load(void)
E_CONFIG_LIMIT(e_config->resize_info_visible, 0, 1);
E_CONFIG_LIMIT(e_config->focus_last_focused_per_desktop, 0, 1);
E_CONFIG_LIMIT(e_config->focus_revert_on_hide_or_close, 0, 1);
+   E_CONFIG_LIMIT(e_config->focus_revert_allow_sticky, 0, 1);
E_CONFIG_LIMIT(e_config->pointer_slide, 0, 1);
E_CONFIG_LIMIT(e_config->disable_all_pointer_warps, 0, 1);
E_CONFIG_LIMIT(e_config->pointer_warp_speed, 0.0, 1.0);
diff --git a/src/bin/e_config.h b/src/bin/e_config.h
index 2874ac7..a2f9a7a 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -161,6 +161,7 @@ struct _E_Config
int resize_info_visible; // GUI
int focus_last_focused_per_desktop; // GUI
int focus_revert_on_hide_or_close; // GUI
+   int focus_revert_allow_sticky; // GUI
int disable_all_pointer_warps; // GUI
int pointer_slide; // GUI
double  pointer_warp_speed; // GUI
diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c
index 77f157a..c7b3d5f 100644
--- a/src/bin/e_desk.c
+++ b/src/bin/e_desk.c
@@ -377,7 +377,7 @@ e_desk_last_focused_focus(E_Desk *desk)
  /* this was the window last focused in this desktop */
  if (!ec->lock_focus_out)
{
-  if (ec->sticky)
+  if (ec->sticky && (!e_config->focus_revert_allow_sticky))
 {
ecs = ec;
continue;
diff --git a/src/modules/conf_window_manipulation/e_int_config_focus.c 
b/src/modules/conf_window_manipulation/e_int_config_focus.c
index ceb84f3..f5c6f00 100644
--- a/src/modules/conf_window_manipulation/e_int_config_focus.c
+++ b/src/modules/conf_window_manipulation/e_int_config_focus.c
@@ -26,6 +26,7 @@ struct _E_Config_Dialog_Data
intalways_click_to_focus;
intfocus_last_focused_per_desktop;
intfocus_revert_on_hide_or_close;
+   intfocus_revert_allow_sticky;
intpointer_slide;
intdisable_all_pointer_warps;
double pointer_warp_speed;
@@ -75,6 +76,8 @@ _fill_data(E_Config_Dialog_Data *cfdata)
  e_config->focus_last_focused_per_desktop;
cfdata->focus_revert_on_hide_or_close =
  e_config->focus_revert_on_hide_or_close;
+   cfdata->focus_revert_allow_sticky =
+ e_config->focus_revert_allow_sticky;
cfdata->pointer_slide = e_config->pointer_slide;
cfdata->disable_all_pointer_warps = e_config->disable_all_pointer_warps;
cfdata->pointer_warp_speed = e_config->pointer_warp_speed;
@@ -181,6 +184,8 @@ _advanced_apply(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfdata)
  cfdata->focus_last_focused_per_desktop;
e_config->focus_revert_on_hide_or_close =
  cfdata->focus_revert_on_hide_or_close;
+   e_config->focus_revert_allow_sticky =
+ 

[EGIT] [core/efl] master 01/02: Evil: add support for LC_MESSAGES for setlocale()

2015-11-30 Thread Vincent Torri
tasn pushed a commit to branch master.

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

commit cbb6e9b20f3d85b41b0c3c525fd3ae68864118b1
Author: Vincent Torri 
Date:   Fri Nov 27 18:43:54 2015 +0100

Evil: add support for LC_MESSAGES for setlocale()

LC_MESSAGES is an extension to C ANSI and does not exist on Windows.
So add LC_MESSAGES API and overload setlocale() to support it

@feature
---
 src/Makefile_Evil.am   |  2 ++
 src/lib/evil/Evil.h|  3 +++
 src/lib/evil/evil_locale.c | 55 +++
 src/lib/evil/evil_locale.h | 65 ++
 4 files changed, 125 insertions(+)

diff --git a/src/Makefile_Evil.am b/src/Makefile_Evil.am
index 4f9ae3f..5c27eca 100644
--- a/src/Makefile_Evil.am
+++ b/src/Makefile_Evil.am
@@ -10,6 +10,7 @@ lib/evil/Evil.h \
 lib/evil/evil_fcntl.h \
 lib/evil/evil_inet.h \
 lib/evil/evil_langinfo.h \
+lib/evil/evil_locale.h \
 lib/evil/evil_macro.h \
 lib/evil/evil_macro_pop.h \
 lib/evil/evil_main.h \
@@ -35,6 +36,7 @@ lib/evil/evil_fnmatch.c \
 lib/evil/evil_fnmatch_list_of_states.c \
 lib/evil/evil_inet.c \
 lib/evil/evil_langinfo.c \
+lib/evil/evil_locale.c \
 lib/evil/evil_link_xp.cpp \
 lib/evil/evil_main.c \
 lib/evil/evil_mman.c \
diff --git a/src/lib/evil/Evil.h b/src/lib/evil/Evil.h
index 780b8b0..6a69f7b 100644
--- a/src/lib/evil/Evil.h
+++ b/src/lib/evil/Evil.h
@@ -73,6 +73,8 @@
  * @li @ref Evil_Mman
  * @li @ref Evil_Unistd_Group
  * @li @ref Evil_Dlfcn
+ * @li @ref Evil_Langinfo_Group
+ * @li @ref Evil_Locale_Group
  * @li @ref Evil_Pwd_Group
  * @li @ref Evil_Stdio_Group
  * @li @ref Evil_Main_Group
@@ -115,6 +117,7 @@ typedef unsigned long  gid_t;
 #include "evil_fcntl.h"
 #include "evil_inet.h"
 #include "evil_langinfo.h"
+#include "evil_locale.h"
 #include "evil_main.h"
 #include "evil_stdlib.h"
 #include "evil_stdio.h"
diff --git a/src/lib/evil/evil_locale.c b/src/lib/evil/evil_locale.c
new file mode 100644
index 000..d243ad8
--- /dev/null
+++ b/src/lib/evil/evil_locale.c
@@ -0,0 +1,55 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include 
+#include 
+#include 
+
+#ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN
+#endif
+#include 
+#undef WIN32_LEAN_AND_MEAN
+
+#include "evil_macro.h"
+#include "evil_locale.h"
+#include "evil_private.h"
+
+/*
+ * LOCALE_SISO639LANGNAME and LOCALE_SISO3166CTRYNAME need at least a buffer
+ * of 9 char each (including NULL char). So we need 2*8 + the trailing NULL
+ * char + '_', so 18 char.
+ */
+static char _evil_locale_buf[18];
+
+char *evil_setlocale(int category, const char *locale)
+{
+   char buf[9];
+   int l1;
+   int l2;
+
+   if (category != LC_MESSAGES)
+ return setlocale(category, locale);
+
+   if (locale != NULL)
+ {
+errno = EINVAL;
+return NULL;
+ }
+
+   l1 = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SISO639LANGNAME,
+  buf, sizeof(buf));
+   if (!l1) return NULL;
+
+   memcpy(_evil_locale_buf, buf, l1 - 1);
+   _evil_locale_buf[l1 - 1] = '_';
+
+   l2 = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SISO3166CTRYNAME,
+  buf, sizeof(buf));
+   if (!l2) return NULL;
+
+   memcpy(_evil_locale_buf + l1, buf, l2);
+
+   return _evil_locale_buf;
+}
diff --git a/src/lib/evil/evil_locale.h b/src/lib/evil/evil_locale.h
new file mode 100644
index 000..6196800
--- /dev/null
+++ b/src/lib/evil/evil_locale.h
@@ -0,0 +1,65 @@
+#ifndef __EVIL_LOCALE_H__
+#define __EVIL_LOCALE_H__
+
+
+/**
+ * @file evil_locale.h
+ * @brief The file that provides functions ported from Unix in locale.h.
+ * @defgroup Evil_Locale_Group locale.h functions.
+ * @ingroup Evil
+ *
+ * This header provides functions ported from Unix in locale.h.
+ *
+ * @{
+ */
+
+
+/**
+ * @def LC_MESSAGES
+ *
+ * New locale value, based on the one in libintl.h
+ */
+#ifdef LC_MESSAGES
+# undef LC_MESSAGES
+#endif
+#define LC_MESSAGES 1729
+
+/**
+ * @brief Return the string associated to the given locale and category.
+ *
+ * @param category The category affected by locale.
+ * @param locale The locale specifier.
+ * @return The string associated to the specified locale and category.
+ *
+ * This function returns the string associated to @p locale and
+ * @p category. If @p category is LC_ALL, LC_COLLATE, LC_CTYPE,
+ * LC_MONETARY, LC_NUMERIC or LC_TIME, it just returns the standard
+ * setlocale() function. If @p category is #LC_MESSAGES, then if @p locale
+ * is not @c NULL, errno is set to EINVAL and @c NULL is returned, otherwise
+ * the string _ is returned. This string is a static buffer
+ * and must not be freed. It will also be rewritten each time @category is
+ * #LC_MESSAGES and @p locale is @c NULL.
+ *
+ * Conformity: Non applicable.
+ *
+ * Supported OS: Windows XP.
+ */
+EAPI char *evil_setlocale(int category, const char *locale);
+
+/**
+ * @def setlocale(cat, loc)
+ *
+ * Wrapper around evil_setlocale().
+ */

[EGIT] [core/efl] master 01/02: evas_font_dir: do not passed free'd memory to eina_list_remove()

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

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

commit 54abe37c44cae3500b514a6ab3563ff93e330725
Author: Stefan Schmidt 
Date:   Mon Nov 30 17:16:28 2015 +0100

evas_font_dir: do not passed free'd memory to eina_list_remove()

Free the actual memory after we removed it from the list.
---
 src/lib/evas/canvas/evas_font_dir.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_font_dir.c 
b/src/lib/evas/canvas/evas_font_dir.c
index df0f5ef..dc9ac20 100644
--- a/src/lib/evas/canvas/evas_font_dir.c
+++ b/src/lib/evas/canvas/evas_font_dir.c
@@ -1209,8 +1209,8 @@ object_text_font_cache_dir_add(char *dir)
   }
 free(tmp);
  }
-   free(fdir->data);
fdir = eina_list_remove(fdir, fdir->data);
+   free(fdir->data);
  }
 
/* fonts.alias */

-- 




[EGIT] [core/efl] master 02/02: evas_3d_utils: do not bitwise AND against 0 in condition

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

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

commit 3a11868201344c3c79719269a4cebd375b3c3872
Author: Stefan Schmidt 
Date:   Mon Nov 30 17:22:42 2015 +0100

evas_3d_utils: do not bitwise AND against 0 in condition

We need to check against the state here and if the compilers assignes 0 to 
the
first item in an enum we are screwed here as the bitwise AND will always
evaluate to false.

This is a re-incarnation from a486671bce76e405a8d7261f19b0f67ca678f0c4
---
 src/lib/evas/include/evas_3d_utils.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/include/evas_3d_utils.h 
b/src/lib/evas/include/evas_3d_utils.h
index 10192cc..52a9511 100644
--- a/src/lib/evas/include/evas_3d_utils.h
+++ b/src/lib/evas/include/evas_3d_utils.h
@@ -349,7 +349,7 @@ evas_vec3_transform(Evas_Vec3 *out, const Evas_Vec3 *v,  
const Eina_Matrix3 *m)
 {
Evas_Vec3 tmp;
 
-   if (eina_matrix3_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix3_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
  {
 evas_vec3_copy(out, v);
 return;
@@ -367,7 +367,7 @@ evas_vec3_homogeneous_position_transform(Evas_Vec3 *out, 
const Evas_Vec3 *v, con
 {
Evas_Vec3 tmp;
 
-   if (eina_matrix4_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix4_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
  {
 evas_vec3_copy(out, v);
 return;
@@ -386,7 +386,7 @@ evas_vec3_homogeneous_direction_transform(Evas_Vec3 *out, 
const Evas_Vec3 *v, co
 {
Evas_Vec3 tmp;
 
-   if (eina_matrix4_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix4_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
  {
 evas_vec3_copy(out, v);
 return;
@@ -564,7 +564,7 @@ evas_vec4_transform(Evas_Vec4 *out, const Evas_Vec4 *v, 
const Eina_Matrix4 *m)
 {
Evas_Vec4 tmp;
 
-   if (eina_matrix4_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix4_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
  {
 evas_vec4_copy(out, v);
 return;

-- 




[EGIT] [core/efl] master 02/02: Evas: use LC_MESSAGES on Windows to fix compilation

2015-11-30 Thread Vincent Torri
tasn pushed a commit to branch master.

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

commit db8d1883d75343bc58657e61b88314feed0393b0
Author: Vincent Torri 
Date:   Fri Nov 27 18:47:12 2015 +0100

Evas: use LC_MESSAGES on Windows to fix compilation

Compilation is broken on Windows because LC_MESSAGES does not exist on this 
platform
Include Evil.h to provide support of LC_MESSAGES

@fix
---
 src/lib/evas/common/language/evas_language_utils.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/lib/evas/common/language/evas_language_utils.c 
b/src/lib/evas/common/language/evas_language_utils.c
index 737b510..19638d5 100644
--- a/src/lib/evas/common/language/evas_language_utils.c
+++ b/src/lib/evas/common/language/evas_language_utils.c
@@ -23,6 +23,10 @@
 #include 
 #include 
 
+#ifdef HAVE_EVIL
+# include 
+#endif
+
 #include 
 
 #include "evas_language_utils.h"

-- 




[EGIT] [core/elementary] master 01/03: test_access: correct argument order for calloc()

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

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

commit 23dc11debca551b35aabcb475420cd3e29df38e5
Author: Stefan Schmidt 
Date:   Mon Nov 30 15:11:06 2015 +0100

test_access: correct argument order for calloc()

calloc() expects count first and the actual size to allocate as second
argument. Say Thank You to smatch for finding this issues for us.
---
 src/bin/test_access.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/test_access.c b/src/bin/test_access.c
index ae567ca..80b8ea3 100644
--- a/src/bin/test_access.c
+++ b/src/bin/test_access.c
@@ -100,7 +100,7 @@ Evas_Object *gl_access_content_full_get(void *data 
EINA_UNUSED, Evas_Object *obj
 
for (i = 0; i < 4; i++)
  {
-Item_Data *id = calloc(sizeof(Item_Data), 1);
+Item_Data *id = calloc(1, sizeof(Item_Data));
 id->index = i;
 
 elm_gengrid_item_append(grid, gic, id, NULL, NULL);
@@ -188,7 +188,7 @@ test_access(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
 
for (i = 1; i < 10; i++)
  {
-Item_Data *id = calloc(sizeof(Item_Data), 1);
+Item_Data *id = calloc(1, sizeof(Item_Data));
 id->index = i;
 
 if (i % 4)

-- 




[EGIT] [core/elementary] master 01/01: Entry: add markup cnp handlers

2015-11-30 Thread Daniel Hirt
herdsman pushed a commit to branch master.

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

commit e03e50b4c6b8bcc5d772fb1e5610a3808ba37151
Author: Daniel Hirt 
Date:   Mon Nov 30 15:29:06 2015 +0200

Entry: add markup cnp handlers

In Elm_Cnp, a markup data preparer was missing, which resulted
in _x11_notify_handler_targets not requesting
"application/x-elementary-markup" (requested "UTF8_STRING" instead) when
trying to paste markup text from one entry to another (or itself).

Also, there was a missing handling in the selection data callback for
ELM_SEL_FORMAT_MARKUP data format.

This fixes issues like not being able to paste "item" formats to the
entry widget.

@fix
---
 src/lib/elm_cnp.c   | 13 +
 src/lib/elm_entry.c |  4 
 2 files changed, 17 insertions(+)

diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c
index fb3f2ae..0701057 100644
--- a/src/lib/elm_cnp.c
+++ b/src/lib/elm_cnp.c
@@ -218,6 +218,7 @@ static Eina_Bool  _x11_vcard_send   (char 
*target, void *data, i
 static Eina_Bool  _x11_is_uri_type_data (X11_Cnp_Selection *sel 
EINA_UNUSED, Ecore_X_Event_Selection_Notify *notify);
 static Eina_Bool  _x11_notify_handler_targets   (X11_Cnp_Selection *sel, 
Ecore_X_Event_Selection_Notify *notify);
 static Eina_Bool  _x11_data_preparer_text   
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
+static Eina_Bool  _x11_data_preparer_markup 
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
 static Eina_Bool  _x11_data_preparer_image  
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
 static Eina_Bool  _x11_data_preparer_uri
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
 //static int_x11_notify_handler_html  (X11_Cnp_Selection *sel, 
Ecore_X_Event_Selection_Notify *notify);
@@ -451,6 +452,7 @@ static Cnp_Atom _atoms[CNP_N_ATOMS] = {
 .formats = ELM_SEL_FORMAT_MARKUP,
 #ifdef HAVE_ELEMENTARY_X
 .x_converter = _x11_general_converter,
+.x_data_preparer = _x11_data_preparer_markup,
 #endif
},
ARRAYINIT(CNP_ATOM_text_urilist) {
@@ -956,6 +958,17 @@ _x11_data_preparer_text(Ecore_X_Event_Selection_Notify 
*notify,
return EINA_TRUE;
 }
 
+static Eina_Bool
+_x11_data_preparer_markup(Ecore_X_Event_Selection_Notify *notify,
+  Elm_Selection_Data *ddata, Tmp_Info **tmp_info EINA_UNUSED)
+{
+   Ecore_X_Selection_Data *data = notify->data;
+   ddata->format = ELM_SEL_FORMAT_MARKUP;
+   ddata->data = eina_memdup(data->data, data->length, EINA_TRUE);
+   ddata->len = data->length;
+   return EINA_TRUE;
+}
+
 /**
  * So someone is pasting an image into my entry or widget...
  */
diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c
index 147a809..b20ed77 100644
--- a/src/lib/elm_entry.c
+++ b/src/lib/elm_entry.c
@@ -673,6 +673,10 @@ _selection_data_cb(void *data EINA_UNUSED,
 snprintf(entry_tag, len + 1, tag_string, buf);
 _edje_entry_user_insert(obj, entry_tag);
  }
+   else if (sel_data->format & ELM_SEL_FORMAT_MARKUP)
+ {
+_edje_entry_user_insert(obj, buf);
+ }
else
  {
 char *txt = _elm_util_text_to_mkup(buf);

-- 




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

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

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

commit 110aa7768289d7a9cc4ddd7be0298c98451d3663
Author: Chris Michael 
Date:   Mon Nov 30 09:45:12 2015 -0500

elementary: Fix test_colorclass function

The test_colorclass function (and prototype) were incorrect in that
they did not have the proper function parameters defined. This lead to
a warning when building elementary tests.

@fix

Signed-off-by: Chris Michael 
---
 src/bin/test.c| 2 +-
 src/bin/test_colorclass.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/test.c b/src/bin/test.c
index ddd1c4e..c1539d5 100644
--- a/src/bin/test.c
+++ b/src/bin/test.c
@@ -268,7 +268,7 @@ void test_win_dialog(void *data, Evas_Object *obj, void 
*event_info);
 void test_box_disable(void *data, Evas_Object *obj, void *event_info);
 void test_layout_disable(void *data, Evas_Object *obj, void *event_info);
 
-void test_colorclass(void);
+void test_colorclass(void *data, Evas_Object *obj, void *event_info);
 
 Evas_Object *win, *tbx; // TODO: refactoring
 void *tt;
diff --git a/src/bin/test_colorclass.c b/src/bin/test_colorclass.c
index d110d23..8764065 100644
--- a/src/bin/test_colorclass.c
+++ b/src/bin/test_colorclass.c
@@ -5,7 +5,7 @@
 
 
 void
-test_colorclass()
+test_colorclass(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
Evas_Object *win, *cc;
 

-- 




[EGIT] [core/elementary] master 02/03: atspi: correct argument order for calloc()

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

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

commit 0c02f97facf1aba977f197964ac95c6b55e7f417
Author: Stefan Schmidt 
Date:   Mon Nov 30 15:15:52 2015 +0100

atspi: correct argument order for calloc()

calloc() expects count first and the actual size to allocate as second
argument. Say Thank You to smatch for finding this issues for us.
---
 src/lib/elm_atspi_bridge.c   | 4 ++--
 src/lib/elm_interface_atspi_accessible.c | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index 6b08728..f0eec7d 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -2476,7 +2476,7 @@ _collection_iter_match_rule_get(Eldbus_Message_Iter 
*iter, struct collection_mat
 const char *key, *value;
 if (eldbus_message_iter_arguments_get(iter_arg, "ss", , ))
   {
- Elm_Atspi_Attribute *attrib = calloc(sizeof(Elm_Atspi_Attribute), 
1);
+ Elm_Atspi_Attribute *attrib = calloc(1, 
sizeof(Elm_Atspi_Attribute));
  attrib->key = eina_stringshare_add(key);
  attrib->value = eina_stringshare_add(value);
  rule->attributes = eina_list_append(rule->attributes, attrib);
@@ -4471,7 +4471,7 @@ _key_event_info_new(int event_type, const Ecore_Event_Key 
*data, Eo *bridge)
Key_Event_Info *ret;
EINA_SAFETY_ON_NULL_RETURN_VAL(data, NULL);
 
-   ret = calloc(sizeof(Key_Event_Info), 1);
+   ret = calloc(1, sizeof(Key_Event_Info));
 
ret->type = event_type;
ret->event = *data;
diff --git a/src/lib/elm_interface_atspi_accessible.c 
b/src/lib/elm_interface_atspi_accessible.c
index 3e3d8c1..2a38380 100644
--- a/src/lib/elm_interface_atspi_accessible.c
+++ b/src/lib/elm_interface_atspi_accessible.c
@@ -331,7 +331,7 @@ _elm_interface_atspi_accessible_event_emit(Eo *class 
EINA_UNUSED, void *pd EINA_
 EOLIAN Elm_Atspi_Event_Handler *
 _elm_interface_atspi_accessible_event_handler_add(Eo *class EINA_UNUSED, void 
*pd EINA_UNUSED, Eo_Event_Cb cb, void *data)
 {
-   Elm_Atspi_Event_Handler *ret = calloc(sizeof(Elm_Atspi_Event_Handler), 1);
+   Elm_Atspi_Event_Handler *ret = calloc(1, sizeof(Elm_Atspi_Event_Handler));
 
ret->cb = cb;
ret->data = data;
@@ -380,7 +380,7 @@ elm_atspi_relation_free(Elm_Atspi_Relation *relation)
 EAPI Elm_Atspi_Relation *
 elm_atspi_relation_clone(const Elm_Atspi_Relation *relation)
 {
-   Elm_Atspi_Relation *ret = calloc(sizeof(Elm_Atspi_Relation), 1);
+   Elm_Atspi_Relation *ret = calloc(1, sizeof(Elm_Atspi_Relation));
if (!ret) return NULL;
 
ret->type = relation->type;
@@ -434,7 +434,7 @@ 
elm_atspi_relation_set_relation_append(Elm_Atspi_Relation_Set *set, Elm_Atspi_Re
   }
  }
 
-   rel = calloc(sizeof(Elm_Atspi_Relation), 1);
+   rel = calloc(1, sizeof(Elm_Atspi_Relation));
if (!rel) return EINA_FALSE;
 
rel->type = type;

-- 




[EGIT] [core/efl] master 02/02: emotion: correct argument order for calloc()

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

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

commit 527ac119f1de21034e761b24923b0cb06d946649
Author: Stefan Schmidt 
Date:   Mon Nov 30 16:23:00 2015 +0100

emotion: correct argument order for calloc()

calloc() expects count first and the actual size to allocate as second
argument. Say Thank You to smatch for finding this issues for us.
---
 src/modules/ethumb/emotion/emotion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/ethumb/emotion/emotion.c 
b/src/modules/ethumb/emotion/emotion.c
index 6134406..2247318 100644
--- a/src/modules/ethumb/emotion/emotion.c
+++ b/src/modules/ethumb/emotion/emotion.c
@@ -367,7 +367,7 @@ _thumb_generate(Ethumb *e)
const char *file;
Ethumb_Thumb_Format f;
double dv;
-   struct _emotion_plugin *_plugin = calloc(sizeof(struct _emotion_plugin), 1);
+   struct _emotion_plugin *_plugin = calloc(1, sizeof(struct _emotion_plugin));
 
o = emotion_object_add(ethumb_evas_get(e));
r = emotion_object_init(o, NULL);

-- 




[EGIT] [core/elementary] elementary-1.16 01/01: Entry: add markup cnp handlers

2015-11-30 Thread Daniel Hirt
herdsman pushed a commit to branch elementary-1.16.

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

commit 90cc853ae6ff82e36422ba4240357a06a7bbce38
Author: Daniel Hirt 
Date:   Mon Nov 30 15:29:06 2015 +0200

Entry: add markup cnp handlers

In Elm_Cnp, a markup data preparer was missing, which resulted
in _x11_notify_handler_targets not requesting
"application/x-elementary-markup" (requested "UTF8_STRING" instead) when
trying to paste markup text from one entry to another (or itself).

Also, there was a missing handling in the selection data callback for
ELM_SEL_FORMAT_MARKUP data format.

This fixes issues like not being able to paste "item" formats to the
entry widget.

@fix
---
 src/lib/elm_cnp.c   | 13 +
 src/lib/elm_entry.c |  4 
 2 files changed, 17 insertions(+)

diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c
index fb3f2ae..0701057 100644
--- a/src/lib/elm_cnp.c
+++ b/src/lib/elm_cnp.c
@@ -218,6 +218,7 @@ static Eina_Bool  _x11_vcard_send   (char 
*target, void *data, i
 static Eina_Bool  _x11_is_uri_type_data (X11_Cnp_Selection *sel 
EINA_UNUSED, Ecore_X_Event_Selection_Notify *notify);
 static Eina_Bool  _x11_notify_handler_targets   (X11_Cnp_Selection *sel, 
Ecore_X_Event_Selection_Notify *notify);
 static Eina_Bool  _x11_data_preparer_text   
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
+static Eina_Bool  _x11_data_preparer_markup 
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
 static Eina_Bool  _x11_data_preparer_image  
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
 static Eina_Bool  _x11_data_preparer_uri
(Ecore_X_Event_Selection_Notify *notify, Elm_Selection_Data *ddata, Tmp_Info 
**tmp_info);
 //static int_x11_notify_handler_html  (X11_Cnp_Selection *sel, 
Ecore_X_Event_Selection_Notify *notify);
@@ -451,6 +452,7 @@ static Cnp_Atom _atoms[CNP_N_ATOMS] = {
 .formats = ELM_SEL_FORMAT_MARKUP,
 #ifdef HAVE_ELEMENTARY_X
 .x_converter = _x11_general_converter,
+.x_data_preparer = _x11_data_preparer_markup,
 #endif
},
ARRAYINIT(CNP_ATOM_text_urilist) {
@@ -956,6 +958,17 @@ _x11_data_preparer_text(Ecore_X_Event_Selection_Notify 
*notify,
return EINA_TRUE;
 }
 
+static Eina_Bool
+_x11_data_preparer_markup(Ecore_X_Event_Selection_Notify *notify,
+  Elm_Selection_Data *ddata, Tmp_Info **tmp_info EINA_UNUSED)
+{
+   Ecore_X_Selection_Data *data = notify->data;
+   ddata->format = ELM_SEL_FORMAT_MARKUP;
+   ddata->data = eina_memdup(data->data, data->length, EINA_TRUE);
+   ddata->len = data->length;
+   return EINA_TRUE;
+}
+
 /**
  * So someone is pasting an image into my entry or widget...
  */
diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c
index 5cf77a5..a8f263d 100644
--- a/src/lib/elm_entry.c
+++ b/src/lib/elm_entry.c
@@ -673,6 +673,10 @@ _selection_data_cb(void *data EINA_UNUSED,
 snprintf(entry_tag, len + 1, tag_string, buf);
 _edje_entry_user_insert(obj, entry_tag);
  }
+   else if (sel_data->format & ELM_SEL_FORMAT_MARKUP)
+ {
+_edje_entry_user_insert(obj, buf);
+ }
else
  {
 char *txt = _elm_util_text_to_mkup(buf);

-- 




[EGIT] [core/efl] master 01/02: examples ecore_buffer: correct argument order for calloc()

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

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

commit 384261978c47441f10f119f03fa78579866f5731
Author: Stefan Schmidt 
Date:   Mon Nov 30 16:22:02 2015 +0100

examples ecore_buffer: correct argument order for calloc()

calloc() expects count first and the actual size to allocate as second
argument. Say Thank You to smatch for finding this issues for us.
---
 src/examples/ecore/ecore_buffer_consumer_example.c | 2 +-
 src/examples/ecore/ecore_buffer_provider_example.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/examples/ecore/ecore_buffer_consumer_example.c 
b/src/examples/ecore/ecore_buffer_consumer_example.c
index 1363aa0..96f18a8 100644
--- a/src/examples/ecore/ecore_buffer_consumer_example.c
+++ b/src/examples/ecore/ecore_buffer_consumer_example.c
@@ -144,7 +144,7 @@ main(void)
 return -1;
  }
 
-   cd = (Consumer_Data *)calloc(sizeof(Consumer_Data), 1);
+   cd = (Consumer_Data *)calloc(1, sizeof(Consumer_Data));
 
if (!cd || !(cd->consumer = ecore_buffer_consumer_new(name, queue_size, 
WIDTH, HEIGHT)))
  {
diff --git a/src/examples/ecore/ecore_buffer_provider_example.c 
b/src/examples/ecore/ecore_buffer_provider_example.c
index 5d1d5b0..7b1d433 100644
--- a/src/examples/ecore/ecore_buffer_provider_example.c
+++ b/src/examples/ecore/ecore_buffer_provider_example.c
@@ -244,7 +244,7 @@ main(void)
 return -1;
  }
 
-   pd = (Provider_Data *)calloc(sizeof(Provider_Data), 1);
+   pd = (Provider_Data *)calloc(1, sizeof(Provider_Data));
 
if (!pd || !(pd->provider = ecore_buffer_provider_new(name)))
  {

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Add logical pointer x, y variable in seat for reflecting multiple pointer's movement

2015-11-30 Thread Duna Oh
devilhorns pushed a commit to branch master.

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

commit 21b1a3f221fb6bd477cfefbb9d0099717c13523d
Author: Duna Oh 
Date:   Mon Nov 30 11:05:07 2015 -0500

ecore-drm: Add logical pointer x, y variable in seat for reflecting 
multiple pointer's movement

Summary: When one pointer moves, we should update the position of other 
devices.

Test Plan:
(1) Two pointer devices are connected.
(2) Move the cursor to (x, y) position using "device 1".
(3) When you move the cursor using "device 2", the cursor doesn't start 
from (x, y) position. This causes discontinuous mouse motion.

Reviewers: raster, zmike, gwanglim, stefan_schmidt, devilhorns, ManMower

Reviewed By: devilhorns, ManMower

Subscribers: cedric, Jeon, input.hacker, jpeg

Differential Revision: https://phab.enlightenment.org/D3384
---
 src/lib/ecore_drm/ecore_drm_device.c  |  6 +--
 src/lib/ecore_drm/ecore_drm_evdev.c   | 86 +++
 src/lib/ecore_drm/ecore_drm_private.h |  5 ++
 3 files changed, 56 insertions(+), 41 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 3e70d24..9d0442c 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -442,12 +442,12 @@ ecore_drm_device_pointer_xy_get(Ecore_Drm_Device *dev, 
int *x, int *y)
  {
 EINA_LIST_FOREACH(seat->devices, ll, edev)
   {
- if (!libinput_device_has_capability(edev->device, 
+ if (!libinput_device_has_capability(edev->device,
  LIBINPUT_DEVICE_CAP_POINTER))
continue;
 
- if (x) *x = edev->mouse.dx;
- if (y) *y = edev->mouse.dy;
+ if (x) *x = seat->ptr.dx;
+ if (y) *y = seat->ptr.dy;
 
  return;
   }
diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index 69b398f..824fb09 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -80,8 +80,10 @@ _device_output_set(Ecore_Drm_Evdev *edev)
if (libinput_device_has_capability(edev->device, 
   LIBINPUT_DEVICE_CAP_POINTER))
  {
-edev->mouse.dx = edev->output->current_mode->width / 2;
-edev->mouse.dy = edev->output->current_mode->height / 2;
+edev->seat->ptr.ix = edev->seat->ptr.dx = 
edev->output->current_mode->width / 2;
+edev->seat->ptr.iy = edev->seat->ptr.dy = 
edev->output->current_mode->height / 2;
+edev->mouse.dx = edev->seat->ptr.dx;
+edev->mouse.dy = edev->seat->ptr.dy;
  }
 }
 
@@ -359,15 +361,18 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct 
libinput_event_pointer *eve
 
if (!(ev = calloc(1, sizeof(Ecore_Event_Mouse_Move return;
 
-   if (edev->mouse.ix < edev->mouse.minx)
- edev->mouse.dx = edev->mouse.ix = edev->mouse.minx;
-   else if (edev->mouse.ix >= (edev->mouse.minx + edev->mouse.maxw))
- edev->mouse.dx = edev->mouse.ix = (edev->mouse.minx + edev->mouse.maxw - 
1);
+   if (edev->seat->ptr.ix < edev->mouse.minx)
+ edev->seat->ptr.dx = edev->seat->ptr.ix = edev->mouse.minx;
+   else if (edev->seat->ptr.ix >= (edev->mouse.minx + edev->mouse.maxw))
+ edev->seat->ptr.dx = edev->seat->ptr.ix = (edev->mouse.minx + 
edev->mouse.maxw - 1);
 
-   if (edev->mouse.iy < edev->mouse.miny)
- edev->mouse.dy = edev->mouse.iy = edev->mouse.miny;
-   else if (edev->mouse.iy >= (edev->mouse.miny + edev->mouse.maxh))
- edev->mouse.dy = edev->mouse.iy = (edev->mouse.miny + edev->mouse.maxh - 
1);
+   if (edev->seat->ptr.iy < edev->mouse.miny)
+ edev->seat->ptr.dy = edev->seat->ptr.iy = edev->mouse.miny;
+   else if (edev->seat->ptr.iy >= (edev->mouse.miny + edev->mouse.maxh))
+ edev->seat->ptr.dy = edev->seat->ptr.iy = (edev->mouse.miny + 
edev->mouse.maxh - 1);
+
+   edev->mouse.dx = edev->seat->ptr.dx;
+   edev->mouse.dy = edev->seat->ptr.dy;
 
ev->window = (Ecore_Window)input->dev->window;
ev->event_window = (Ecore_Window)input->dev->window;
@@ -378,8 +383,8 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct 
libinput_event_pointer *eve
_device_modifiers_update(edev);
ev->modifiers = edev->xkb.modifiers;
 
-   ev->x = edev->mouse.ix;
-   ev->y = edev->mouse.iy;
+   ev->x = edev->seat->ptr.ix;
+   ev->y = edev->seat->ptr.iy;
ev->root.x = ev->x;
ev->root.y = ev->y;
 
@@ -404,14 +409,17 @@ _device_handle_pointer_motion(struct libinput_device 
*device, struct libinput_ev
 
if (!(edev = libinput_device_get_user_data(device))) return;
 
-   edev->mouse.dx += libinput_event_pointer_get_dx(event);
-   edev->mouse.dy += libinput_event_pointer_get_dy(event);
+   edev->seat->ptr.dx += libinput_event_pointer_get_dx(event);
+   edev->seat->ptr.dy 

[EGIT] [core/enlightenment] master 01/02: (1) e_config.c/e_comp_wl.c: add code for making repeat values configurable (2) e.src(s): add keyboard.repeat_delay, keyboard.repeat_rate into e.src files

2015-11-30 Thread Sung-Jin Park
discomfitor pushed a commit to branch master.

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

commit 6826608961a903dd7b117535bd16e8f83cfb26a0
Author: Sung-Jin Park 
Date:   Mon Nov 30 14:05:10 2015 -0500

(1) e_config.c/e_comp_wl.c: add code for making repeat values configurable
(2) e.src(s): add keyboard.repeat_delay, keyboard.repeat_rate into e.src 
files

Summary:
As of now, the default values of repeat delay/rate are being set in 
e_comp_wl.c.
Those values need to be configurable and will be used in e_comp_wl_init().
The limit of each of the values is defined from -1 to 1000. (maximum 1s).
If one of the two is negative, it means default repeat delay/rate are going 
to be used.
(e.g. delay:400, rate:25)

Test Plan:
N/A

Signed-off-by: Sung-Jin Park 

Reviewers: raster, stefan_schmidt, gwanglim, devilhorns, zmike

Subscribers: Jeon, ohduna, cedric

Differential Revision: https://phab.enlightenment.org/D3364
---
 config/default/e.src  |  2 ++
 config/mobile/e.src   |  2 ++
 config/standard/e.src |  2 ++
 config/tiling/e.src   |  2 ++
 src/bin/e_comp_wl.h   |  2 ++
 src/bin/e_comp_wl_input.c | 13 +++--
 src/bin/e_config.c| 14 ++
 src/bin/e_config.h| 10 --
 8 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/config/default/e.src b/config/default/e.src
index db89920..b7cb835 100644
--- a/config/default/e.src
+++ b/config/default/e.src
@@ -215,6 +215,8 @@ group "E_Config" struct {
   value "update.later" uchar: 0;
   value "xkb.only_label" int: 0;
   value "xkb.default_model" string: "default";
+  value "keyboard.repeat_delay" int: 400;
+  value "keyboard.repeat_rate" int: 25;
   value "exe_always_single_instance" uchar: 0;
   value "use_desktop_window_profile" int: 0;
   value "powersave.none" double: 0.25;
diff --git a/config/mobile/e.src b/config/mobile/e.src
index f4e6070..1431dde 100644
--- a/config/mobile/e.src
+++ b/config/mobile/e.src
@@ -865,6 +865,8 @@ group "E_Config" struct {
 }
 value "xkb.only_label" int: 0;
 value "xkb.default_model" string: "default";
+value "keyboard.repeat_delay" int: 400;
+value "keyboard.repeat_rate" int: 25;
 value "exe_always_single_instance" uchar: 1;
 value "use_desktop_window_profile" int: 0;
 }
diff --git a/config/standard/e.src b/config/standard/e.src
index 585d3f0..b41057c 100644
--- a/config/standard/e.src
+++ b/config/standard/e.src
@@ -1106,6 +1106,8 @@ group "E_Config" struct {
 }
 value "xkb.only_label" int: 0;
 value "xkb.default_model" string: "default";
+value "keyboard.repeat_delay" int: 400;
+value "keyboard.repeat_rate" int: 25;
 value "exe_always_single_instance" uchar: 0;
 value "use_desktop_window_profile" int: 0;
 }
diff --git a/config/tiling/e.src b/config/tiling/e.src
index 8bde334..afeac1f 100644
--- a/config/tiling/e.src
+++ b/config/tiling/e.src
@@ -1128,6 +1128,8 @@ group "E_Config" struct {
 }
 value "xkb.only_label" int: 0;
 value "xkb.default_model" string: "default";
+value "keyboard.repeat_delay" int: 400;
+value "keyboard.repeat_rate" int: 25;
 value "exe_always_single_instance" uchar: 0;
 value "use_desktop_window_profile" int: 0;
 }
diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index 7142f4d..dc268dc 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -155,6 +155,8 @@ struct _E_Comp_Wl_Data
 struct wl_array keys;
 struct wl_resource *focus;
 int mod_changed;
+int repeat_delay;
+int repeat_rate;
  } kbd;
 
struct
diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index 2793448..d27d72a 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -181,9 +181,9 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, 
struct wl_resource *r
   e_comp->wl_comp_data,
   _e_comp_wl_input_cb_keyboard_unbind);
 
-   /* FIXME: These values should be configurable */
+   /* send current repeat_info */
if (wl_resource_get_version(res) >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION)
- wl_keyboard_send_repeat_info(res, 25, 400);
+ wl_keyboard_send_repeat_info(res, e_comp_wl->kbd.repeat_rate, 
e_comp_wl->kbd.repeat_delay);
 
/* send current keymap */
wl_keyboard_send_keymap(res, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
@@ -419,6 +419,15 @@ e_comp_wl_input_init(void)
 
e_comp_wl->xkb.fd = -1;
 
+   /* get default keyboard repeat rate/delay from configuration */
+   e_comp_wl->kbd.repeat_delay = e_config->keyboard.repeat_delay;
+   e_comp_wl->kbd.repeat_rate = e_config->keyboard.repeat_rate;
+
+   /* check for valid repeat_delay and repeat_rate value */
+   /* if invalid, set the default value of repeat delay and rate value */
+   if 

[EGIT] [core/enlightenment] master 02/02: remove e_comp_wl struct keyboard repeat members

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

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

commit e5e31a2501c12723bdd5fcf26e46e212a67abdb5
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 14:12:27 2015 -0500

remove e_comp_wl struct keyboard repeat members

duplicating these from e_config serves no purpose

ref D3364
---
 src/bin/e_comp_wl.h   |  2 --
 src/bin/e_comp_wl_input.c | 11 +--
 2 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index dc268dc..7142f4d 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -155,8 +155,6 @@ struct _E_Comp_Wl_Data
 struct wl_array keys;
 struct wl_resource *focus;
 int mod_changed;
-int repeat_delay;
-int repeat_rate;
  } kbd;
 
struct
diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index d27d72a..7e8f2e9 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -183,7 +183,7 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, 
struct wl_resource *r
 
/* send current repeat_info */
if (wl_resource_get_version(res) >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION)
- wl_keyboard_send_repeat_info(res, e_comp_wl->kbd.repeat_rate, 
e_comp_wl->kbd.repeat_delay);
+ wl_keyboard_send_repeat_info(res, e_config->keyboard.repeat_rate, 
e_config->keyboard.repeat_delay);
 
/* send current keymap */
wl_keyboard_send_keymap(res, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
@@ -419,15 +419,6 @@ e_comp_wl_input_init(void)
 
e_comp_wl->xkb.fd = -1;
 
-   /* get default keyboard repeat rate/delay from configuration */
-   e_comp_wl->kbd.repeat_delay = e_config->keyboard.repeat_delay;
-   e_comp_wl->kbd.repeat_rate = e_config->keyboard.repeat_rate;
-
-   /* check for valid repeat_delay and repeat_rate value */
-   /* if invalid, set the default value of repeat delay and rate value */
-   if (e_comp_wl->kbd.repeat_delay < 0) e_comp_wl->kbd.repeat_delay = 400;
-   if (e_comp_wl->kbd.repeat_rate < 0) e_comp_wl->kbd.repeat_rate = 25;
-
/* create the global resource for input seat */
e_comp_wl->seat.global =
  wl_global_create(e_comp_wl->wl.disp, _seat_interface, 4,

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 01/02: 19.14 release

2015-11-30 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 7eb415cc988a397842bdc80fe896c69a4fe16b83
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 14:10:46 2015 -0500

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

diff --git a/configure.ac b/configure.ac
index 1ab2156..c9db47a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,11 +2,11 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [0])
 m4_define([v_min], [19])
-m4_define([v_mic], [13])
+m4_define([v_mic], [14])
 m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 
0) | tr -d '\n']))dnl
 ##--   When released, remove the dnl on the below line
 m4_undefine([v_rev])
-m4_define([relname], [0.19.13])
+m4_define([relname], [0.19.14])
 ##--   When doing snapshots - change soname. remove dnl on below line
 m4_define([relname], [ver-serious-0.19])
 m4_define([v_rel], [-release relname])

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 02/02: 19.14 NEWS updates

2015-11-30 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit d153532b4a5916284e500657078d5eefdaa2aae5
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 14:11:38 2015 -0500

19.14 NEWS updates
---
 NEWS | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/NEWS b/NEWS
index c1f1b0f..fcaa80f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,25 @@
+Release 0.19.14:
+-
+Mike Blumenkrantz (14):
+  improve x11 client focusing with mouse-based focus policies on mouse move
+  do not add new deskmirror clients on desk_set event if client already 
exists
+  do not refill all tasks bars when a sticky window changes desks
+  update E_Client->desk member upon focusing a sticky client
+  further improve csd calculations for x11 clients
+  always create compositor mirror objects, ignore pixmap image state
+  block task gadget refills while a drag is active
+  Revert "e deskmirror - fix loss of mirror object from deskmirror"
+  ensure that a deskmirror object does not orphan child objects
+  avoid setting incorrect geometry during new_client frame calc
+  use CSD geometry during move/resize display
+  do not apply max client geometry restriction if max geometry is not set
+  allow more client hooks to bypass delete check
+  re-swallow bg_object after wallpaper transition has completed
+
+Stafford Horne (1):
+  e/core: Fix minor mem leak when reading module paths
+
+
 Release 0.19.13:
 -
 Carsten Haitzler (4):

-- 




[EGIT] [core/enlightenment] annotated tag v0.19.14 created (now 87e2690)

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

discomfitor pushed a change to annotated tag v0.19.14
in repository core/enlightenment.

at  87e2690   (tag)
   tagging  d153532b4a5916284e500657078d5eefdaa2aae5 (commit)
  replaces  v0.19.12
 tagged by  Mike Blumenkrantz
on  Mon Nov 30 14:28:46 2015 -0500

- Log -
0.19.14 release

Carsten Haitzler (4):
  e - ibar - fix clash when 2 icons of the same path get added somehow
  e exec tracker - fix tracking to update desktop files on efreet change
  ibar - fix shutdown if ibar client menu is up
  e deskmirror - fix loss of mirror object from deskmirror

Mike Blumenkrantz (49):
  when removing VERTICAL maximize state, also remove LEFT and RIGHT states
  don't crash desktop gadget systrays when adjusting image sizing
  make wake-on-urgent apply for all cases of window urgency
  force full damage for first frame of x11 override clients
  subtract x11 client damage region even when forcing full override damage
  fix typo in previous damage rect commit
  do not return when x11 damage event returns no rects
  trap shaped x11 clients and prevent compositor blocking with high rect 
count
  reject deleted clients from x11 sync alarm event callback
  clear x11 client pixmap when returning from iconic
  force a software render in all cases when finalizing x11 client iconify
  update csd using deltas of previous values
  make comp config unresizable...again
  remove dead modules from whitelist
  only apply frame geometry deltas for CSD if the CSD region exists
  reject frame theme changes for clients which have CSD
  simplify client SMART/EXPAND maximize
  add native surface (gl) clients to post render list
  adjust efm multi-icon drag positioning by the current pan coords
  break out x11 client visibility setting into util functions
  move client iconic hint setting into x11 hide function
  emit ibox icon signals to the internal edje object of the e_icon
  add counter and smart callbacks for comp object visible mirrors
  add e_comp_object_mirror_visibility_check()
  toggle x11 client iconic/mapped state based on mirror visibility
  Revert "force a software render in all cases when finalizing x11 client 
iconify"
  disable client menu stacking functions for unstackable windows
  enforce fullscreen client stacking during nocomp end IFF client is 
fullscreen
  check client comp data existence in x11 mirror visibility callbacks
  use unsigned int for client focus tracking freeze state
  null efm icon eio handle in error callback
  19.13 release
  19.13 NEWS updates
  improve x11 client focusing with mouse-based focus policies on mouse move
  do not add new deskmirror clients on desk_set event if client already 
exists
  do not refill all tasks bars when a sticky window changes desks
  update E_Client->desk member upon focusing a sticky client
  further improve csd calculations for x11 clients
  always create compositor mirror objects, ignore pixmap image state
  block task gadget refills while a drag is active
  Revert "e deskmirror - fix loss of mirror object from deskmirror"
  ensure that a deskmirror object does not orphan child objects
  avoid setting incorrect geometry during new_client frame calc
  use CSD geometry during move/resize display
  do not apply max client geometry restriction if max geometry is not set
  allow more client hooks to bypass delete check
  re-swallow bg_object after wallpaper transition has completed
  19.14 release
  19.14 NEWS updates

Stafford Horne (3):
  e/conf_apps: Fix resizing of "Startup Application" dialog
  e/ilist: Fix issue with multiselect returning wrong index
  e/core: Fix minor mem leak when reading module paths

Thierry (1):
  mouse_config: fix accel threshold and numerator limits.

shorne (1):
  e/win_config: allow content of some dialogs to resize with the window

---

No new revisions were added by this update.

-- 




[EGIT] [core/enlightenment] master 04/05: unset release mode

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

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

commit 9c470f7a731a172828cfdfa31197076716a33e16
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 15:42:20 2015 -0500

unset release mode

feature freeze is over, have fun
---
 configure.ac | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index af7586e..6ab4e87 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,11 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [0])
-m4_define([v_min], [20])
-m4_define([v_mic], [0])
+m4_define([v_min], [19])
+m4_define([v_mic], [99])
 m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 
0) | tr -d '\n']))dnl
 ##--   When released, remove the dnl on the below line
-m4_undefine([v_rev])
+dnl m4_undefine([v_rev])
 m4_define([relname], [0.20.0])
 ##--   When doing snapshots - change soname. remove dnl on below line
 m4_define([relname], [ver-autocannoli-0.20])
@@ -54,7 +54,7 @@ AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
-AC_DEFINE_UNQUOTED(E_RELEASE_BUILD, [1], [doin it])
+##AC_DEFINE_UNQUOTED(E_RELEASE_BUILD, [1], [doin it])
 version_info="lt_cur:lt_rev:lt_age"
 release_info="v_rel"
 AC_SUBST([version_info])

-- 




[EGIT] [core/enlightenment] master 03/05: 20.0 NEWS updates

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

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

commit 09954da308036dee619c909876e2708e02a18d8d
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 14:51:55 2015 -0500

20.0 NEWS updates
---
 NEWS | 64 +---
 1 file changed, 57 insertions(+), 7 deletions(-)

diff --git a/NEWS b/NEWS
index 366934d..d2835a7 100644
--- a/NEWS
+++ b/NEWS
@@ -52,7 +52,7 @@ Bryce Harrington (14):
   wayland: whitespace cleanup
   wayland: Free temporary string on error exit
 
-Carsten Haitzler (114):
+Carsten Haitzler (118):
   mixer: Optionally select an external mixer application.
   e backlight - limit min to 0.05 to avoid totally off backlight
   fix README to be more up to date
@@ -167,6 +167,10 @@ Carsten Haitzler (114):
   ibar - fix shutdown if ibar client menu is up
   e deskmirror - fix loss of mirror object from deskmirror
   e screens/zones/randr - store randr2 id in xinerama and zones for lookup
+  e mixer fix - fix default mixer to pulse if there
+  e - fix compositor fade out ghosting
+  e msgbus - move almost all of core dbus methods to msgbus module
+  e - efm - rate limit dbus requests to open dirs or files to avoid dos
 
 Cedric BAIL (3):
   lokker: empty string should not be translated.
@@ -179,7 +183,7 @@ Chidambar Zinnoury (4):
   e menus: Fix invalid comparisons.
   e fm: Use correct string length when copying path.
 
-Christopher Michael (355):
+Christopher Michael (357):
   bugfix: Fix e_msgbus file having missing initializers for Eldbus 
Messages & Signals
   bugfix: Fix e_notification file having missing initializers for Eldbus   
  Messages & Signals
   bugfix: Cleanup appmenu module having missing field initializers for 
Eldbus Messages & Signals
@@ -535,6 +539,8 @@ Christopher Michael (355):
   enlightenment: Use 'fabs' to compute absolute value of floating point
 types
   enlightenment: Make sure we have a zone before calling 
_bgpreview_viewport_update
   Fix e_menu trying to swallow an object from a different canvas
+  Fix formatting and remove extra blank line
+  Fix invalid compositor type check in e_dpms_force_update
 
 Conrad Meyer (4):
   Mixer Pulse: Fix trivial use-after-free.
@@ -569,7 +575,7 @@ Dave Andreoli (3):
   Update gtk bookmarks to work with new gtk3 path
   Improve italian lang
 
-Derek Foreman (31):
+Derek Foreman (32):
   Conditionally ignore wayland cursor set events
   Provide wl_output interface to clients
   Provide wl_output events on hotplug
@@ -601,6 +607,7 @@ Derek Foreman (31):
   wayland: Only send keyboard modifiers to focused resources
   wayland: Always add frame callbacks to current state on commit
   wayland: force wl surface frame callbacks on commit for undamaged 
surfaces
+  Stop using MIN macros when choosing versions for wayland resources
 
 Duna Oh (1):
   fix crash when activating menu that is not in range
@@ -641,7 +648,8 @@ Jean-Philippe ANDRÉ (6):
 Jee-Yong Um (1):
   e_actions: Fix to parse syntax correctly in key binding settings
 
-Kai Huuhko (1):
+Kai Huuhko (2):
+  L10N: Update Finnish translations
   L10N: Update Finnish translations
 
 Leif Middelschulte (2):
@@ -698,7 +706,7 @@ Massimo Maiurana (12):
   Updating italian translation
   Updating catalan translation
 
-Mike Blumenkrantz (1041):
+Mike Blumenkrantz (1074):
   unset release mode
   bump version
   Revert "mixer: Optionally select an external mixer application."
@@ -1740,6 +1748,39 @@ Mike Blumenkrantz (1041):
   use unsigned int for client focus tracking freeze state
   ensure that all mixer volumes resolve to the appropriate gadget icon
   null efm icon eio handle in error callback
+  20.0-rc release
+  20.0-rc NEWS updates
+  unset release mode
+  install emixer icon to $(datadir)/pixmaps instead of /icons
+  improve readability of E_FIRST_FRAME environment variable detection
+  improve x11 client focusing with mouse-based focus policies on mouse move
+  do not add new deskmirror clients on desk_set event if client already 
exists
+  do not refill all tasks bars when a sticky window changes desks
+  update E_Client->desk member upon focusing a sticky client
+  further improve csd calculations for x11 clients
+  add safety checks to e_client_focus/raise_latest_set() fns
+  always create compositor mirror objects, ignore pixmap image state
+  block task gadget refills while a drag is active
+  Revert "e deskmirror - fix loss of mirror object from deskmirror"
+  ensure that a deskmirror object does not orphan child objects
+  always set wayland E_Client->redirected during client creation
+  ensure fwin efm delete callback does not trigger crash

[EGIT] [core/enlightenment] master 02/05: e20 release

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

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

commit 15bf3f0439df1985b82386554c51a2fa567a5446
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 14:46:43 2015 -0500

e20 release
---
 configure.ac | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6ab4e87..af7586e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,11 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [0])
-m4_define([v_min], [19])
-m4_define([v_mic], [99])
+m4_define([v_min], [20])
+m4_define([v_mic], [0])
 m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 
0) | tr -d '\n']))dnl
 ##--   When released, remove the dnl on the below line
-dnl m4_undefine([v_rev])
+m4_undefine([v_rev])
 m4_define([relname], [0.20.0])
 ##--   When doing snapshots - change soname. remove dnl on below line
 m4_define([relname], [ver-autocannoli-0.20])
@@ -54,7 +54,7 @@ AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
-##AC_DEFINE_UNQUOTED(E_RELEASE_BUILD, [1], [doin it])
+AC_DEFINE_UNQUOTED(E_RELEASE_BUILD, [1], [doin it])
 version_info="lt_cur:lt_rev:lt_age"
 release_info="v_rel"
 AC_SUBST([version_info])

-- 




[EGIT] [core/enlightenment] master 01/05: add NEWS from 19.13-14 releases

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

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

commit 302407e6b117453c5ce0f2657219a1f5071c2e7d
Author: Mike Blumenkrantz 
Date:   Mon Nov 30 14:49:03 2015 -0500

add NEWS from 19.13-14 releases
---
 NEWS | 74 
 1 file changed, 74 insertions(+)

diff --git a/NEWS b/NEWS
index 0473178..366934d 100644
--- a/NEWS
+++ b/NEWS
@@ -1961,6 +1961,80 @@ vivek (3):
   wl_desktop_shell: Fixed the issue to check if wl surface is active or 
hung up
 
 
+Release 0.19.14:
+-
+Mike Blumenkrantz (14):
+  improve x11 client focusing with mouse-based focus policies on mouse move
+  do not add new deskmirror clients on desk_set event if client already 
exists
+  do not refill all tasks bars when a sticky window changes desks
+  update E_Client->desk member upon focusing a sticky client
+  further improve csd calculations for x11 clients
+  always create compositor mirror objects, ignore pixmap image state
+  block task gadget refills while a drag is active
+  Revert "e deskmirror - fix loss of mirror object from deskmirror"
+  ensure that a deskmirror object does not orphan child objects
+  avoid setting incorrect geometry during new_client frame calc
+  use CSD geometry during move/resize display
+  do not apply max client geometry restriction if max geometry is not set
+  allow more client hooks to bypass delete check
+  re-swallow bg_object after wallpaper transition has completed
+
+Stafford Horne (1):
+  e/core: Fix minor mem leak when reading module paths
+
+
+Release 0.19.13:
+-
+Carsten Haitzler (4):
+  e - ibar - fix clash when 2 icons of the same path get added somehow
+  e exec tracker - fix tracking to update desktop files on efreet change
+  ibar - fix shutdown if ibar client menu is up
+  e deskmirror - fix loss of mirror object from deskmirror
+
+Mike Blumenkrantz (31):
+  when removing VERTICAL maximize state, also remove LEFT and RIGHT states
+  don't crash desktop gadget systrays when adjusting image sizing
+  make wake-on-urgent apply for all cases of window urgency
+  force full damage for first frame of x11 override clients
+  subtract x11 client damage region even when forcing full override damage
+  fix typo in previous damage rect commit
+  do not return when x11 damage event returns no rects
+  trap shaped x11 clients and prevent compositor blocking with high rect 
count
+  reject deleted clients from x11 sync alarm event callback
+  clear x11 client pixmap when returning from iconic
+  force a software render in all cases when finalizing x11 client iconify
+  update csd using deltas of previous values
+  make comp config unresizable...again
+  remove dead modules from whitelist
+  only apply frame geometry deltas for CSD if the CSD region exists
+  reject frame theme changes for clients which have CSD
+  simplify client SMART/EXPAND maximize
+  add native surface (gl) clients to post render list
+  adjust efm multi-icon drag positioning by the current pan coords
+  break out x11 client visibility setting into util functions
+  move client iconic hint setting into x11 hide function
+  emit ibox icon signals to the internal edje object of the e_icon
+  add counter and smart callbacks for comp object visible mirrors
+  add e_comp_object_mirror_visibility_check()
+  toggle x11 client iconic/mapped state based on mirror visibility
+  Revert "force a software render in all cases when finalizing x11 client 
iconify"
+  disable client menu stacking functions for unstackable windows
+  enforce fullscreen client stacking during nocomp end IFF client is 
fullscreen
+  check client comp data existence in x11 mirror visibility callbacks
+  use unsigned int for client focus tracking freeze state
+  null efm icon eio handle in error callback
+
+Stafford Horne (2):
+  e/conf_apps: Fix resizing of "Startup Application" dialog
+  e/ilist: Fix issue with multiselect returning wrong index
+
+Thierry (1):
+  mouse_config: fix accel threshold and numerator limits.
+
+shorne (1):
+  e/win_config: allow content of some dialogs to resize with the window
+
+
 Release 0.19.12:
 -
 Amitesh Singh (1):

-- 




[EGIT] [core/efl] master 08/09: efl: updated efl_gfx_shape_dup() implementation to use direct access to internal data.

2015-11-30 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit e79dd4c1612b32428800b13b2b0385f1aec0312a
Author: Subhransu Mohanty 
Date:   Wed Nov 18 15:27:59 2015 +0900

efl: updated efl_gfx_shape_dup() implementation to use direct access to 
internal data.

As I don't see the use of inheritance for stroke anymore, we will use 
internal access
rather than inherited get/set function. This behavior can be reverted if 
anyone find
a real use case for it.

Signed-off-by: Cedric BAIL 
---
 src/lib/efl/interfaces/efl_gfx_shape.c | 74 +-
 1 file changed, 29 insertions(+), 45 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index e285e27..364bd44 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -434,51 +434,6 @@ _efl_gfx_shape_equal_commands(Eo *obj EINA_UNUSED,
 }
 
 static void
-_efl_gfx_shape_dup(Eo *obj, Efl_Gfx_Shape_Data *pd, const Eo *dup_from)
-{
-   const Efl_Gfx_Dash *dash = NULL;
-   Efl_Gfx_Shape_Data *from;
-   Efl_Gfx_Fill_Rule fill_rule;
-   unsigned int dash_length = 0;
-   Efl_Gfx_Cap cap;
-   Efl_Gfx_Join j;
-   int sr, sg, sb, sa;
-   double scale, location;
-   double sw;
-
-   if (obj == dup_from) return ;
-   from = eo_data_scope_get(dup_from, EFL_GFX_SHAPE_MIXIN);
-   if (!from) return ;
-
-   eo_do(dup_from,
- scale = efl_gfx_shape_stroke_scale_get(),
- efl_gfx_shape_stroke_color_get(, , , ),
- sw = efl_gfx_shape_stroke_width_get(),
- location = efl_gfx_shape_stroke_location_get(),
- efl_gfx_shape_stroke_dash_get(, _length),
- cap = efl_gfx_shape_stroke_cap_get(),
- j = efl_gfx_shape_stroke_join_get(),
- fill_rule = efl_gfx_shape_fill_rule_get());
-   eo_do(obj,
- efl_gfx_shape_stroke_scale_set(scale),
- efl_gfx_shape_stroke_color_set(sr, sg, sb, sa),
- efl_gfx_shape_stroke_width_set(sw),
- efl_gfx_shape_stroke_location_set(location),
- efl_gfx_shape_stroke_dash_set(dash, dash_length),
- efl_gfx_shape_stroke_cap_set(cap),
- efl_gfx_shape_stroke_join_set(j),
- efl_gfx_shape_fill_rule_set(fill_rule));
-
-   _efl_gfx_shape_path_set(obj, pd, from->commands, from->points);
-
-   pd->convex = from->convex;
-
-   eo_do(obj,
- eo_event_callback_call(EFL_GFX_PATH_CHANGED, NULL),
- eo_event_callback_call(EFL_GFX_CHANGED, NULL));
-}
-
-static void
 _efl_gfx_shape_reset(Eo *obj, Efl_Gfx_Shape_Data *pd)
 {
free(pd->commands);
@@ -1836,4 +1791,33 @@ _efl_gfx_shape_fill_rule_get(Eo *obj EINA_UNUSED,
return pd->fill_rule;
 }
 
+static void
+_efl_gfx_shape_dup(Eo *obj, Efl_Gfx_Shape_Data *pd, const Eo *dup_from)
+{
+   Efl_Gfx_Shape_Data *from;
+
+   if (obj == dup_from) return ;
+   from = eo_data_scope_get(dup_from, EFL_GFX_SHAPE_MIXIN);
+   if (!from) return ;
+
+   pd->public.stroke.scale = from->public.stroke.scale;
+   pd->public.stroke.width = from->public.stroke.width;
+   pd->public.stroke.centered = from->public.stroke.centered;
+   pd->public.stroke.cap = from->public.stroke.cap;
+   pd->public.stroke.join = from->public.stroke.join;
+   pd->public.stroke.color.r = from->public.stroke.color.r;
+   pd->public.stroke.color.g = from->public.stroke.color.g;
+   pd->public.stroke.color.b = from->public.stroke.color.b;
+   pd->public.stroke.color.a = from->public.stroke.color.a;
+   pd->fill_rule = from->fill_rule;
+   pd->convex = from->convex;
+
+   _efl_gfx_shape_stroke_dash_set(obj, pd, from->public.stroke.dash, 
from->public.stroke.dash_length);
+   _efl_gfx_shape_path_set(obj, pd, from->commands, from->points);
+
+   eo_do(obj,
+ eo_event_callback_call(EFL_GFX_PATH_CHANGED, NULL),
+ eo_event_callback_call(EFL_GFX_CHANGED, NULL));
+}
+
 #include "interfaces/efl_gfx_shape.eo.c"

-- 




[EGIT] [core/efl] master 07/09: efl: add bookkeeping for convex shapes.

2015-11-30 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit 71b2efe94d7973ec64e7ab56ec3ddbeb44842a52
Author: Subhransu Mohanty 
Date:   Fri Nov 6 15:30:49 2015 +0900

efl: add bookkeeping for convex shapes.

Signed-off-by: Cedric BAIL 
---
 src/lib/efl/interfaces/efl_gfx_shape.c | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index 212e25b..e285e27 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -25,6 +25,7 @@ struct _Efl_Gfx_Shape_Data
 
unsigned int commands_count;
unsigned int points_count;
+   Eina_Bool convex;
 };
 
 static inline unsigned int
@@ -93,7 +94,7 @@ efl_gfx_path_grow(Efl_Gfx_Path_Command command,
cmd_tmp[cmd_length - 1] = command;
// NULL terminate the stream
cmd_tmp[cmd_length] = EFL_GFX_PATH_COMMAND_TYPE_END;
-
+   pd->convex = EINA_FALSE;
return EINA_TRUE;
 }
 
@@ -470,6 +471,8 @@ _efl_gfx_shape_dup(Eo *obj, Efl_Gfx_Shape_Data *pd, const 
Eo *dup_from)
 
_efl_gfx_shape_path_set(obj, pd, from->commands, from->points);
 
+   pd->convex = from->convex;
+
eo_do(obj,
  eo_event_callback_call(EFL_GFX_PATH_CHANGED, NULL),
  eo_event_callback_call(EFL_GFX_CHANGED, NULL));
@@ -490,7 +493,7 @@ _efl_gfx_shape_reset(Eo *obj, Efl_Gfx_Shape_Data *pd)
pd->current.y = 0;
pd->current_ctrl.x = 0;
pd->current_ctrl.y = 0;
-
+   pd->convex = EINA_FALSE;
eo_do(obj,
  eo_event_callback_call(EFL_GFX_PATH_CHANGED, NULL),
  eo_event_callback_call(EFL_GFX_CHANGED, NULL));
@@ -1141,8 +1144,11 @@ static void
 _efl_gfx_shape_append_circle(Eo *obj, Efl_Gfx_Shape_Data *pd,
  double xc, double yc, double radius)
 {
+   Eina_Bool first = (pd->commands_count <= 0);
_efl_gfx_shape_append_arc(obj, pd, xc - radius, yc - radius, 2*radius, 
2*radius, 0, 360);
_efl_gfx_shape_append_close(obj, pd);
+   //update convex flag
+   pd->convex = first;
 }
 
 static void
@@ -1150,6 +1156,7 @@ _efl_gfx_shape_append_rect(Eo *obj, Efl_Gfx_Shape_Data 
*pd,
double x, double y, double w, double h,
double rx, double ry)
 {
+   Eina_Bool first = (pd->commands_count <= 0);
// check for invalid rectangle
if (w <=0 || h<= 0)
  return;
@@ -1177,6 +1184,9 @@ _efl_gfx_shape_append_rect(Eo *obj, Efl_Gfx_Shape_Data 
*pd,
_efl_gfx_shape_append_arc(obj, pd, x + w - rx, y, rx, ry, 0, 90);
_efl_gfx_shape_append_arc(obj, pd, x, y, rx, ry, 90, 90);
_efl_gfx_shape_append_close(obj, pd);
+
+   //update convex flag
+   pd->convex = first;
 }
 
 static void

-- 




[EGIT] [core/efl] master 01/09: eina: fix missing header

2015-11-30 Thread Jean Guyomarc'h
cedric pushed a commit to branch master.

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

commit b6a43da447876f9afb33e3d6fe51d49c810d869a
Author: Jean Guyomarc'h 
Date:   Fri Oct 16 15:14:22 2015 +0200

eina: fix missing header

This caused functions from eina_util to be undefined at compile time.
The compiler would make implicit casts of return values into ints,
which had major side effects (e.g. segfault edje_cc)

@fix

Signed-off-by: Cedric BAIL 
---
 src/lib/eina/eina_file_common.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/eina/eina_file_common.h b/src/lib/eina/eina_file_common.h
index 3eb84ec..e8241d9 100644
--- a/src/lib/eina/eina_file_common.h
+++ b/src/lib/eina/eina_file_common.h
@@ -23,6 +23,7 @@
 #include "eina_tmpstr.h"
 #include "eina_lock.h"
 #include "eina_list.h"
+#include "eina_util.h"
 
 #define EINA_FILE_MAGIC 0xFEEDBEEF
 

-- 




[EGIT] [core/efl] master 04/09: efl: add alternative append_arc implementation

2015-11-30 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit 4a48a7e9eab5551f21c4832fd0a1bf2cfd7a8483
Author: Subhransu Mohanty 
Date:   Thu Nov 5 19:29:55 2015 +0900

efl: add alternative append_arc implementation

This allow to reduce the number of generated arc, but doesn't follow
SVG specification. This is just used internally and can't be used by
outside call.

Signed-off-by: Cedric BAIL 
---
 src/lib/efl/interfaces/efl_gfx_shape.c | 300 +
 1 file changed, 300 insertions(+)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index 8ffdb76..e4efcef 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -824,6 +824,306 @@ _efl_gfx_shape_append_arc_to(Eo *obj, Efl_Gfx_Shape_Data 
*pd,
  }
 }
 
+// append arc implementation
+typedef struct _Point
+{
+   double x;
+   double y;
+} Point;
+
+inline static void
+_bezier_coefficients(double t, double *ap, double *bp, double *cp, double *dp)
+{
+   double a,b,c,d;
+   double m_t = 1. - t;
+
+   b = m_t * m_t;
+   c = t * t;
+   d = c * t;
+   a = b * m_t;
+   b *= 3. * t;
+   c *= 3. * m_t;
+   *ap = a;
+   *bp = b;
+   *cp = c;
+   *dp = d;
+}
+
+#define PATH_KAPPA 0.5522847498
+static double
+_efl_gfx_t_for_arc_angle(double angle)
+{
+   double radians, cos_angle, sin_angle, tc, ts, t;
+
+   if (angle < 0.1)
+ return 0;
+
+   if (angle == 90.0)
+ return 1;
+
+   radians = M_PI * angle / 180;
+   cos_angle = cos(radians);
+   sin_angle = sin(radians);
+
+   // initial guess
+   tc = angle / 90;
+   // do some iterations of newton's method to approximate cos_angle
+   // finds the zero of the function b.pointAt(tc).x() - cos_angle
+   tc -= 2-3*PATH_KAPPA) * tc + 3*(PATH_KAPPA-1)) * tc) * tc + 1 - 
cos_angle) // value
+   / (((6-9*PATH_KAPPA) * tc + 6*(PATH_KAPPA-1)) * tc); // derivative
+   tc -= 2-3*PATH_KAPPA) * tc + 3*(PATH_KAPPA-1)) * tc) * tc + 1 - 
cos_angle) // value
+   / (((6-9*PATH_KAPPA) * tc + 6*(PATH_KAPPA-1)) * tc); // derivative
+
+   // initial guess
+   ts = tc;
+   // do some iterations of newton's method to approximate sin_angle
+   // finds the zero of the function b.pointAt(tc).y() - sin_angle
+   ts -= 3*PATH_KAPPA-2) * ts -  6*PATH_KAPPA + 3) * ts + 3*PATH_KAPPA) * 
ts - sin_angle)
+   / (((9*PATH_KAPPA-6) * ts + 12*PATH_KAPPA - 6) * ts + 3*PATH_KAPPA);
+   ts -= 3*PATH_KAPPA-2) * ts -  6*PATH_KAPPA + 3) * ts + 3*PATH_KAPPA) * 
ts - sin_angle)
+   / (((9*PATH_KAPPA-6) * ts + 12*PATH_KAPPA - 6) * ts + 3*PATH_KAPPA);
+
+   // use the average of the t that best approximates cos_angle
+   // and the t that best approximates sin_angle
+   t = 0.5 * (tc + ts);
+   return t;
+}
+
+static void
+_find_ellipse_coords(double x, double y, double w, double h, double angle, 
double length,
+ Point* start_point, Point *end_point)
+{
+   int i, quadrant;
+   double theta, t, a, b, c, d, px, py, cx, cy;
+   double w2 = w / 2;
+   double h2 = h / 2;
+   double angles[2] = { angle, angle + length };
+   Point *points[2];
+
+   if (!w || !h)
+ {
+if (start_point)
+  start_point->x = 0 , start_point->y = 0;
+if (end_point)
+  end_point->x = 0 , end_point->y = 0;
+return;
+ }
+
+   points[0] = start_point;
+   points[1] = end_point;
+   for (i = 0; i < 2; ++i)
+ {
+if (!points[i])
+  continue;
+
+theta = angles[i] - 360 * floor(angles[i] / 360);
+t = theta / 90;
+// truncate
+quadrant = (int)t;
+t -= quadrant;
+
+t = _efl_gfx_t_for_arc_angle(90 * t);
+
+// swap x and y?
+if (quadrant & 1)
+  t = 1 - t;
+
+_bezier_coefficients(t, , , , );
+px = a + b + c*PATH_KAPPA;
+py = d + c + b*PATH_KAPPA;
+
+// left quadrants
+if (quadrant == 1 || quadrant == 2)
+  px = -px;
+
+// top quadrants
+if (quadrant == 0 || quadrant == 1)
+  py = -py;
+cx = x+w/2;
+cy = y+h/2;
+points[i]->x = cx + w2 * px;
+points[i]->y = cy + h2 * py;
+ }
+}
+
+// The return value is the starting point of the arc
+static Point
+_curves_for_arc(double x, double y, double w, double h,
+double start_angle, double sweep_length,
+Point *curves, int *point_count)
+{
+   int start_segment, end_segment, delta, i, j, end, quadrant;
+   double start_t, end_t;
+   Eina_Bool split_at_start, split_at_end;
+   Eina_Bezier b, res;
+   Point start_point, end_point;
+   double w2 = w / 2;
+   double w2k = w2 * PATH_KAPPA;
+   double h2 = h / 2;
+   double h2k = h2 * PATH_KAPPA;
+
+   Point points[16] =
+   {
+   // start point
+   { x + w, y + h2 },
+
+   // 0 -> 270 degrees
+   { x + w, y + h2 + h2k },
+   { 

[EGIT] [core/efl] master 05/09: efl: update append_circle implementation to use _efl_gfx_shape_append_arc.

2015-11-30 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit d5719aad9da4ba3d3495b9b6a56a7fb3b8389cb0
Author: Subhransu Mohanty 
Date:   Thu Nov 5 19:32:08 2015 +0900

efl: update append_circle implementation to use _efl_gfx_shape_append_arc.

Signed-off-by: Cedric BAIL 
---
 src/lib/efl/interfaces/efl_gfx_shape.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index e4efcef..49b6e5f 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -1141,9 +1141,8 @@ static void
 _efl_gfx_shape_append_circle(Eo *obj, Efl_Gfx_Shape_Data *pd,
  double xc, double yc, double radius)
 {
-   _efl_gfx_shape_append_move_to(obj, pd, xc - radius, yc);
-   _efl_gfx_shape_append_arc_to(obj, pd, xc + radius, yc, radius, radius, 0, 
EINA_TRUE, EINA_TRUE);
-   _efl_gfx_shape_append_arc_to(obj, pd, xc - radius, yc, radius, radius, 0, 
EINA_TRUE, EINA_TRUE);
+   _efl_gfx_shape_append_arc(obj, pd, xc - radius, yc - radius, 2*radius, 
2*radius, 0, 360);
+   _efl_gfx_shape_append_close(obj, pd);
 }
 
 static void

-- 




[EGIT] [core/efl] master 03/09: eina: add new api eina_bezier_on_interval()

2015-11-30 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit 8212f2aee3b15082294eaaa011ac943ba7c6a0b8
Author: Subhransu Mohanty 
Date:   Wed Nov 25 14:09:59 2015 +0900

eina: add new api eina_bezier_on_interval()

I couldn't come up with a better name, if anyone has a suggestion.

Signed-off-by: Cedric BAIL 
---
 src/lib/eina/eina_bezier.c| 18 ++
 src/lib/eina/eina_bezier.h| 13 +
 src/tests/eina/eina_test_bezier.c | 22 ++
 3 files changed, 53 insertions(+)

diff --git a/src/lib/eina/eina_bezier.c b/src/lib/eina/eina_bezier.c
index f07ca61..6494551 100644
--- a/src/lib/eina/eina_bezier.c
+++ b/src/lib/eina/eina_bezier.c
@@ -313,3 +313,21 @@ eina_bezier_bounds_get(const Eina_Bezier *b, double *x, 
double *y, double *w, do
if (w) *w = xmax - xmin;
if (h) *h = ymax - ymin;
 }
+
+EAPI void
+eina_bezier_on_interval(Eina_Bezier *b, double t0, double t1, Eina_Bezier 
*result)
+{
+   Eina_Bezier bezier;
+   double t;
+
+   if (t0 == 0 && t1 == 1)
+ {
+*result = *b;
+return;
+ }
+
+   bezier = *b;
+   _eina_bezier_split_left(, t0, result);
+   t = (t1-t0)/(1-t0);
+   _eina_bezier_split_left(, t, result);
+}
diff --git a/src/lib/eina/eina_bezier.h b/src/lib/eina/eina_bezier.h
index 407deb5..7fd0a79 100644
--- a/src/lib/eina/eina_bezier.h
+++ b/src/lib/eina/eina_bezier.h
@@ -157,4 +157,17 @@ EAPI void eina_bezier_split_at_length(const Eina_Bezier 
*b, double len, Eina_Bez
  */
 EAPI void eina_bezier_bounds_get(const Eina_Bezier *b, double *x, double *y, 
double *w, double *h) EINA_ARG_NONNULL(1);
 
+/**
+ * @brief find the bezier at given interval.
+ *
+ * @param b The floating point bezier.
+ * @param t0 The start interval.
+ * @param t1 The end interval.
+ * @param result The result bezier.
+ *
+ * @p b. No check is done on @p b.
+ * @since 1.16
+ */
+EAPI void eina_bezier_on_interval(Eina_Bezier *b, double t0, double t1, 
Eina_Bezier *result);
+
 #endif // EINA_BEZIER_H
diff --git a/src/tests/eina/eina_test_bezier.c 
b/src/tests/eina/eina_test_bezier.c
index fdfd9a3..a7a1598 100644
--- a/src/tests/eina/eina_test_bezier.c
+++ b/src/tests/eina/eina_test_bezier.c
@@ -195,6 +195,27 @@ START_TEST(eina_bezier_test_bounds_get)
 }
 END_TEST
 
+START_TEST(eina_bezier_test_on_interval)
+{
+   Eina_Bezier b, res;
+   double px1, px2, py1, py2;
+
+   eina_init();
+   eina_bezier_values_set(,
+  0, 0,
+  10, 20,
+  20, 90,
+  30, 0);
+   eina_bezier_point_at(, 0.25, , );
+   eina_bezier_on_interval(, 0.25, 0.5, );
+   eina_bezier_point_at(, 0, , );
+
+   fail_if(px1 != px2 || py1 != py2);
+
+   eina_shutdown();
+}
+END_TEST
+
 void
 eina_test_bezier(TCase *tc)
 {
@@ -205,4 +226,5 @@ eina_test_bezier(TCase *tc)
tcase_add_test(tc, eina_bezier_test_point_at);
tcase_add_test(tc, eina_bezier_test_split_at_length);
tcase_add_test(tc, eina_bezier_test_bounds_get);
+   tcase_add_test(tc, eina_bezier_test_on_interval);
 }

-- 




[EGIT] [core/efl] master 06/09: efl: update append_rect implementation.

2015-11-30 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit f6a1694181dccf03fa6d05bdf48bc4758179d84f
Author: Subhransu Mohanty 
Date:   Fri Nov 6 10:47:37 2015 +0900

efl: update append_rect implementation.

This now generate more optimized path by reducing the use of arc and
switching to only line whenever possible.

Signed-off-by: Cedric BAIL 
---
 src/lib/efl/interfaces/efl_gfx_shape.c | 42 +-
 1 file changed, 26 insertions(+), 16 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index 49b6e5f..212e25b 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -1150,22 +1150,32 @@ _efl_gfx_shape_append_rect(Eo *obj, Efl_Gfx_Shape_Data 
*pd,
double x, double y, double w, double h,
double rx, double ry)
 {
-   // clamp the x and y radius value.
-   if (rx > w/2) rx = w/2;
-   if (ry > h/2) ry = h/2;
-
-   _efl_gfx_shape_append_move_to(obj, pd, x, y + ry);
-   // Top left corner
-   _efl_gfx_shape_append_arc_to(obj, pd, x + rx, y, rx, ry, 0, EINA_FALSE, 
EINA_TRUE);
-   _efl_gfx_shape_append_line_to(obj, pd, x + w - rx, y);
-   // Top right corner
-   _efl_gfx_shape_append_arc_to(obj, pd, x + w, y + ry, rx, ry, 0, EINA_FALSE, 
EINA_TRUE);
-   _efl_gfx_shape_append_line_to(obj, pd, x + w, y + h - ry);
-   // Bottom right corner
-   _efl_gfx_shape_append_arc_to(obj, pd, x + w - rx, y + h, rx, ry, 0, 
EINA_FALSE, EINA_TRUE);
-   _efl_gfx_shape_append_line_to(obj, pd, x + rx, y + h);
-   // Bottom left corner
-   _efl_gfx_shape_append_arc_to(obj, pd, x, y + h - ry, rx, ry, 0, EINA_FALSE, 
EINA_TRUE);
+   // check for invalid rectangle
+   if (w <=0 || h<= 0)
+ return;
+
+   if (rx <=0 || ry<=0)
+ {
+ // add a normal rect.
+ _efl_gfx_shape_append_move_to(obj, pd, x, y);
+ _efl_gfx_shape_append_line_to(obj, pd, x, y + h);
+ _efl_gfx_shape_append_line_to(obj, pd, x + w, y + h);
+ _efl_gfx_shape_append_line_to(obj, pd, x + w, y);
+ _efl_gfx_shape_append_close(obj, pd);
+ return;
+ }
+
+   // clamp the rx and ry radius value.
+   rx = 2*rx;
+   ry = 2*ry;
+   if (rx > w) rx = w;
+   if (ry > h) ry = h;
+
+   _efl_gfx_shape_append_move_to(obj, pd, x, y + h/2);
+   _efl_gfx_shape_append_arc(obj, pd, x, y + h - ry, rx, ry, 180, 90);
+   _efl_gfx_shape_append_arc(obj, pd, x + w - rx, y + h - ry, rx, ry, 270, 90);
+   _efl_gfx_shape_append_arc(obj, pd, x + w - rx, y, rx, ry, 0, 90);
+   _efl_gfx_shape_append_arc(obj, pd, x, y, rx, ry, 90, 90);
_efl_gfx_shape_append_close(obj, pd);
 }
 

-- 




[EGIT] [core/efl] master 02/09: eina: fix bad use of calloc.

2015-11-30 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 78eb21296c63ca5cda88fa36ba2266132cad8803
Author: Cedric BAIL 
Date:   Mon Nov 30 14:10:35 2015 -0800

eina: fix bad use of calloc.
---
 src/lib/eina/eina_strbuf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_strbuf.c b/src/lib/eina/eina_strbuf.c
index 1470805..81ab30a 100644
--- a/src/lib/eina/eina_strbuf.c
+++ b/src/lib/eina/eina_strbuf.c
@@ -213,7 +213,7 @@ eina_strbuf_substr_get(Eina_Strbuf *buf, size_t pos, size_t 
len)
if ((!buf) || ((pos + len) > buf->len))
   return NULL;
 
-   str = calloc(0, len + 1);
+   str = calloc(1, len + 1);
 
strncpy(str,((char *)(buf->buf)) + pos, len);
 

-- 




[EGIT] [core/efl] master 09/09: efl: change efl_gfx_shape_cubic_to() api signature to follow other API (cairo and freetype).

2015-11-30 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit 38902ef2919f0bc303e81081c5275412114fed8e
Author: Subhransu Mohanty 
Date:   Mon Nov 23 10:43:46 2015 +0900

efl: change efl_gfx_shape_cubic_to() api signature to follow other API 
(cairo and freetype).

Signed-off-by: Cedric BAIL 
---
 src/examples/evas/evas-vg-simple.c |  4 +--
 src/lib/ector/cairo/ector_renderer_cairo_shape.c   |  8 ++---
 .../ector/software/ector_renderer_software_shape.c |  9 ++---
 src/lib/efl/interfaces/efl_gfx_shape.c | 40 +++---
 src/lib/efl/interfaces/efl_gfx_shape.eo|  4 +--
 5 files changed, 30 insertions(+), 35 deletions(-)

diff --git a/src/examples/evas/evas-vg-simple.c 
b/src/examples/evas/evas-vg-simple.c
index 96afcb1..17416eb 100644
--- a/src/examples/evas/evas-vg-simple.c
+++ b/src/examples/evas/evas-vg-simple.c
@@ -370,9 +370,9 @@ void _arcto(Efl_VG *obj, int x, int y, int width, int 
height, int startAngle, in
 for (i = 0; i < point_count; i += 3)
   {
  evas_vg_shape_shape_append_cubic_to(obj,
- pts[i+2].x, pts[i+2].y,
  pts[i].x, pts[i].y,
- pts[i+1].x, pts[i+1].y);
+ pts[i+1].x, pts[i+1].y,
+ pts[i+2].x, pts[i+2].y);
   }
 evas_vg_shape_shape_append_close(obj);
 }
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_shape.c 
b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
index a174cd1..aafec7b 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_shape.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
@@ -130,12 +130,10 @@ 
_ector_renderer_cairo_shape_ector_renderer_generic_base_prepare(Eo *obj, Ector_R
pts += 2;
break;
 case EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO:
-   // Be careful, we do have a different order than
-   // cairo, first is destination point, followed by
-   // the control point. The opposite of cairo.
+
cairo_curve_to(pd->parent->cairo,
-  pts[2], pts[3], pts[4], pts[5], // control 
points
-  pts[0], pts[1]); // destination point
+  pts[0], pts[1], pts[2], pts[3], // control 
points
+  pts[4], pts[5]); // destination point
 
pts += 6;
break;
diff --git a/src/lib/ector/software/ector_renderer_software_shape.c 
b/src/lib/ector/software/ector_renderer_software_shape.c
index a9a8c95..2d4947e 100644
--- a/src/lib/ector/software/ector_renderer_software_shape.c
+++ b/src/lib/ector/software/ector_renderer_software_shape.c
@@ -224,12 +224,9 @@ _generate_outline(const Efl_Gfx_Path_Command *cmds, const 
double *pts, Outline *
break;
 case EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO:
 
-   // Be careful, we do have a different order than
-   // freetype first is destination point, followed by
-   // the control point. The opposite of cairo.
_outline_cubic_to(outline,
- pts[2], pts[3], pts[4], pts[5], // control 
points
- pts[0], pts[1]); // destination point
+ pts[0], pts[1], pts[2], pts[3], // control 
points
+ pts[4], pts[5]); // destination point
pts += 6;
break;
 
@@ -474,7 +471,7 @@ _generate_dashed_outline(const Efl_Gfx_Path_Command *cmds, 
const double *pts, Ou
pts += 2;
break;
 case EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO:
-   _dasher_cubic_to(, pts[2], pts[3], pts[4], pts[5], 
pts[0], pts[1]);
+   _dasher_cubic_to(, pts[0], pts[1], pts[2], pts[3], 
pts[4], pts[5]);
pts += 6;
break;
 
diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index 364bd44..9fe4d9e 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -498,9 +498,9 @@ _efl_gfx_shape_append_line_to(Eo *obj, Efl_Gfx_Shape_Data 
*pd,
 
 static void
 _efl_gfx_shape_append_cubic_to(Eo *obj, Efl_Gfx_Shape_Data *pd,
-   double x, double y,
double ctrl_x0, double ctrl_y0,
-   double ctrl_x1, double ctrl_y1)
+   double ctrl_x1, double ctrl_y1,
+   double x, double y)
 {
double *offset_point;
 
@@ -508,12 +508,12 @@ _efl_gfx_shape_append_cubic_to(Eo *obj, 

[EGIT] [core/efl] master 01/01: Evil: fix warning

2015-11-30 Thread Vincent Torri
tasn pushed a commit to branch master.

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

commit 0a44c3f78b0950d8363465bb0d487ea17ee043b7
Author: Vincent Torri 
Date:   Fri Nov 27 18:48:55 2015 +0100

Evil: fix warning

Use the USERPROFILE environment variable instead of deprecated 
evil_homedir_get
function. Also set the shell to cmd.exe if the SHELL var is not found
---
 src/lib/evil/evil_pwd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evil/evil_pwd.c b/src/lib/evil/evil_pwd.c
index 5b323f4..f53b1d8 100644
--- a/src/lib/evil/evil_pwd.c
+++ b/src/lib/evil/evil_pwd.c
@@ -57,10 +57,10 @@ getpwnam(const char *n)
pw.pw_name = user_name;
snprintf(user_gecos, sizeof(user_gecos), "%s,,,", user_name);
pw.pw_gecos = user_gecos;
-   pw.pw_dir = (char *)evil_homedir_get();
+   pw.pw_dir = getenv("USERPROFILE");
pw.pw_shell = getenv("SHELL");
if (!pw.pw_shell)
- pw.pw_shell = "sh";
+ pw.pw_shell = "cmd.exe";
 
return 
 }

-- 




[EGIT] [core/efl] master 01/01: eolian: fix eo makefile example of --eo option.

2015-11-30 Thread JinsolPark
q66 pushed a commit to branch master.

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

commit 0d1c1d5ad6e6e7f60512677bb80b74efb05973b6
Author: JinsolPark 
Date:   Mon Nov 30 10:37:10 2015 +

eolian: fix eo makefile example of --eo option.

Summary: eolian: fix eo makefile example of --eo option.

Reviewers: cedric, q66

Reviewed By: q66

Subscribers: jpeg, q66

Differential Revision: https://phab.enlightenment.org/D3389
---
 src/examples/eolian_cxx/Makefile.examples | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/examples/eolian_cxx/Makefile.examples 
b/src/examples/eolian_cxx/Makefile.examples
index 7577932..d3a29a3 100644
--- a/src/examples/eolian_cxx/Makefile.examples
+++ b/src/examples/eolian_cxx/Makefile.examples
@@ -28,10 +28,10 @@ all: $(OBJS) examples
 codegen:
$(EOLIAN_CXX) $(EOLIAN_FLAGS) -I./colourable.eo -o colourable.eo.hh
$(EOLIAN_CXX) $(EOLIAN_FLAGS) -I./colourablesquare.eo -o 
colourablesquare.eo.hh
-   $(EOLIAN_GEN) --eo --legacy $(EOLIAN_FLAGS) --gc -o colourable.eo.c 
colourable.eo
-   $(EOLIAN_GEN) --eo --legacy $(EOLIAN_FLAGS) --gc -o 
colourablesquare.eo.c colourablesquare.eo
-   $(EOLIAN_GEN) --eo $(EOLIAN_FLAGS) --gh -o colourable.eo.h colourable.eo
-   $(EOLIAN_GEN) --eo $(EOLIAN_FLAGS) --gh -o colourablesquare.eo.h 
colourablesquare.eo
+   $(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gc -o colourable.eo.c 
colourable.eo
+   $(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gc -o colourablesquare.eo.c 
colourablesquare.eo
+   $(EOLIAN_GEN) $(EOLIAN_FLAGS) --gh -o colourable.eo.h colourable.eo
+   $(EOLIAN_GEN) $(EOLIAN_FLAGS) --gh -o colourablesquare.eo.h 
colourablesquare.eo
 
 $(OBJS): codegen
$(CC) -c colourable.c $(COMMON_FLAGS)

-- 




[EGIT] [core/efl] master 01/01: evas-3d: Fix missing field initializers

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

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

commit 886c20a43b75256f7895328af2edf40c284f0b4f
Author: Chris Michael 
Date:   Mon Nov 30 09:15:53 2015 -0500

evas-3d: Fix missing field initializers

Clang spits warnings here about missing field initializers for
Evas_Vec3 (missing y and z fields), so we will explicitly initialize
them to 0 (matching the x field).

@fix

Signed-off-by: Chris Michael 
---
 src/lib/evas/include/evas_3d_utils.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/include/evas_3d_utils.h 
b/src/lib/evas/include/evas_3d_utils.h
index c29f24f..10192cc 100644
--- a/src/lib/evas/include/evas_3d_utils.h
+++ b/src/lib/evas/include/evas_3d_utils.h
@@ -1578,7 +1578,7 @@ convex_hull_vertex_set(Evas_Triangle3 *el, unsigned short 
int *vertex_count, flo
 unsigned short int **index, unsigned int k, int *leader, 
int coord)
 {
int color_coords, normal_coords;
-   Evas_Vec3 vect = {0};
+   Evas_Vec3 vect = {0, 0, 0};
switch (coord)
  {
   case 0:

--