[EGIT] [core/efl] master 01/02: Evas GL: Add preventive padding after Evas_GL_API

2014-12-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 0514cbc1a3c86a86c2abcf39958f562e5bc2e31b
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Wed Dec 3 11:44:09 2014 +0900

Evas GL: Add preventive padding after Evas_GL_API

Since this struct is likely to grow in size over time, client apps
built against future versions of EFL might start indexing fields
that are not present in the current form.

Also, don't reset the struct memory as this would break
multithreaded GL applications.

While this is not exactly a fix, I'll backport this.

@fix
---
 src/modules/evas/engines/gl_common/evas_gl_api.c  |  2 --
 .../evas/engines/gl_common/evas_gl_api_gles1.c|  2 --
 src/modules/evas/engines/gl_common/evas_gl_core.c | 19 +++
 3 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_api.c 
b/src/modules/evas/engines/gl_common/evas_gl_api.c
index 6a5ea56..ed8f501 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_api.c
@@ -2868,8 +2868,6 @@ _debug_gl_api_get(Evas_GL_API *funcs)
 void
 _evgl_api_get(Evas_GL_API *funcs, int debug)
 {
-   memset(funcs, 0, sizeof(Evas_GL_API));
-
if (debug)
   _debug_gl_api_get(funcs);
else
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c 
b/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
index c018f7e..d3eee22 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
@@ -4263,8 +4263,6 @@ _normal_gles1_api_get(Evas_GL_API *funcs)
 void
 _evgl_api_gles1_get(Evas_GL_API *funcs, Eina_Bool debug)
 {
-   memset(funcs, 0, sizeof(Evas_GL_API));
-
if (!_evgl_gles1_api_init())
  return;
 
diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c 
b/src/modules/evas/engines/gl_common/evas_gl_core.c
index 1878f5f..9ec771a 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_core.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_core.c
@@ -8,9 +8,11 @@ typedef struct _GL_Format
GLenum fmt;
 } GL_Format;
 
-// Globals
-static Evas_GL_API gl_funcs;
-static Evas_GL_API gles1_funcs;
+// Extended struct size based on the 314 functions found in gl31.h
+#define EVAS_GL_API_STRUCT_SIZE (sizeof(Evas_GL_API) + 300 * sizeof(void*))
+static Evas_GL_API *gl_funcs = NULL;
+static Evas_GL_API *gles1_funcs = NULL;
+
 EVGL_Engine *evgl_engine = NULL;
 int _evas_gl_log_dom   = -1;
 int _evas_gl_log_level = -1;
@@ -1456,7 +1458,8 @@ evgl_engine_init(void *eng_data, const EVGL_Interface 
*efunc)
evgl_engine-main_tid = 0;
 
// Clear Function Pointers
-   memset(gl_funcs, 0, sizeof(Evas_GL_API));
+   if (!gl_funcs) gl_funcs = calloc(1, EVAS_GL_API_STRUCT_SIZE);
+   if (!gles1_funcs) gles1_funcs = calloc(1, EVAS_GL_API_STRUCT_SIZE);
 
return evgl_engine;
 
@@ -2414,13 +2417,13 @@ evgl_api_get(Evas_GL_Context_Version version)
 {
if (version == EVAS_GL_GLES_2_X)
  {
-_evgl_api_get(gl_funcs, evgl_engine-api_debug_mode);
-return gl_funcs;
+_evgl_api_get(gl_funcs, evgl_engine-api_debug_mode);
+return gl_funcs;
  }
else if (version == EVAS_GL_GLES_1_X)
  {
-_evgl_api_gles1_get(gles1_funcs, evgl_engine-api_debug_mode);
-return gles1_funcs;
+_evgl_api_gles1_get(gles1_funcs, evgl_engine-api_debug_mode);
+return gles1_funcs;
  }
else return NULL;
 }

-- 




[EGIT] [core/efl] master 02/02: Evas GL: Clarify doc about Evas_GL_API struct version

2014-12-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit ef36e0d8877bcc760c7981d3061f551ff05f4e29
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Wed Dec 3 12:08:03 2014 +0900

Evas GL: Clarify doc about Evas_GL_API struct version
---
 src/lib/evas/Evas_GL.h | 35 +--
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h
index 302d72c..c3ce92a 100644
--- a/src/lib/evas/Evas_GL.h
+++ b/src/lib/evas/Evas_GL.h
@@ -3498,9 +3498,15 @@ typedef unsigned long long EvasGLTime;
 /** @} */
 
 
-/* Version 1: OpenGLES 2.0 + extensions only
- * Version 2: OpenGLES 1.0 + extensions
- * Version 3: wayland extensions
+/**
+ * @brief Defines the version of the API structure.
+ *
+ * This helps applications know at runtime whether a function pointer exists
+ * or not.
+ *
+ * Version 1: GLES 2.0 + GLES2 extensions only
+ * Version 2: GLES 2.0 + GLES2 extensions + GLES1 + GLES1.1 extensions
+ * Version 3: [version 2] + Wayland extensions
  */
 #define EVAS_GL_API_VERSION 3
 
@@ -3791,8 +3797,12 @@ struct _Evas_GL_API
 */
void (*evasglDestroyImage) (EvasGLImage image);
 
+
+
+   // -- //
/* Evas_GL_API version 2: */
 
+
/**
 * @anchor evasglCreateImageForContext
 * @brief Create an EvasGLImage for a given context.
@@ -3817,6 +3827,8 @@ EvasGLImage *img = glapi-evasglCreateImageForContext
 * @li @c EVAS_GL_NATIVE_SURFACE_TIZEN (Tizen platform only):br/
 * Requires the @c EVAS_GL_TIZEN_image_native_surface extension.
 *
+* @note Evas_GL_API must have version 2 or more.
+*
 * @since 1.12
 */
EvasGLImage  (*evasglCreateImageForContext) (Evas_GL *evas_gl, 
Evas_GL_Context *ctx, int target, void* buffer, const int* attrib_list) 
EINA_WARN_UNUSED_RESULT;
@@ -3826,7 +3838,7 @@ EvasGLImage *img = glapi-evasglCreateImageForContext
/**
 * @name OpenGL-ES 1.1
 *
-* Evas_GL_API version 2.
+* Evas_GL_API version 2 or more.
 *
 * The following functions are some of the standard OpenGL-ES 1.0 functions,
 * that are not also present in the @ref gles2 OpenGL-ES 2.0 APIs.
@@ -3927,7 +3939,7 @@ EvasGLImage *img = glapi-evasglCreateImageForContext
/**
 * @name OpenGL-ES 1.1 extensions
 *
-* Evas_GL_API version 2.
+* Evas_GL_API version 2 or more.
 *
 * OpenGL-ES 1.1 specifies a set of extensions on top of OpenGL-ES 1.0.
 * When available, Evas GL will expose these extensions with the following
@@ -4124,8 +4136,16 @@ EvasGLImage *img = glapi-evasglCreateImageForContext
int  (*evasglWaitSync) (Evas_GL *evas_gl, EvasGLSync sync, int 
flags);
/** @} */
 
+
+
+   // -- //
+   /* Evas_GL_API version 3: */
+
/**
 * @name Evas GL Wayland functions
+*
+* Evas_GL_API version 3 or more.
+*
 * @since 1.13
 * @{ */
/**
@@ -4145,7 +4165,10 @@ EvasGLImage *img = glapi-evasglCreateImageForContext
Eina_Bool(*evasglQueryWaylandBuffer) (Evas_GL *evas_gl, void *buffer, 
int attribute, int *value);
/** @} */
 
-   /* future calls will be added down here for expansion */
+   /* Future calls will be added down here for expansion, when adding
+* new APIs here, please bump the struct version number (together with
+* the EFL version bump).
+*/
 };
 
 

-- 




[EGIT] [core/efl] master 02/03: autotools: fix compiling/linking gl engines on OSX.

2014-12-03 Thread Jean Guyomarc'h
cedric pushed a commit to branch master.

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

commit 682d7fab54f763212cd40c0ad0b24dba1717ce7f
Author: Jean Guyomarc'h jean.guyoma...@gmail.com
Date:   Wed Dec 3 09:45:51 2014 +0100

autotools: fix compiling/linking gl engines on OSX.

Summary:
Until now, it was necessary to set global LDFLAGS and CFLAGS to allow
compiling (and linking) engines using OpenGL.
gl_generic used to complained about missing headers or unkown libraries.
A problem on OSX is that there is CGL (Apple's Core OpenGL) on which the 
whole system
relies on and GLX, when X11 is installed; and they cohabit together.
When gl_cocoa is enabled, gl_generic is now linked against CGL.
When it is not, gl_generic is compiled with and linked against GLX as a 
fallback.

@fix

Test Plan:
With --enable-cocoa: software_x11, opengl_x11 and opengl_cocoa are working 
as expected.
With --disable-cocoa: software_x11 and opengl_x11 are also working as 
expected.
No compiling nor linking problems have been issued.

Reviewers: cedric, raster, raoulh

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 configure.ac | 22 ++
 src/Makefile_Evas.am |  1 +
 2 files changed, 23 insertions(+)

diff --git a/configure.ac b/configure.ac
index 8880089..27a6411 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1805,6 +1805,28 @@ else
evas_engine_gl_common_libs=-lGL
 fi
 
+# The lines below fix compiling/linking of gl_generic on OSX
+if test x${have_darwin} = xyes; then
+   if test x${have_evas_engine_gl_cocoa} = xyes; then
+  # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the 
default OpenGL.
+  # CFLAGS and LIBS are determined by evas-gl_cocoa.
+  evas_engine_gl_common_libs=${evas_engine_gl_cocoa_libs}
+  evas_engine_gl_common_cflags=${evas_engine_gl_cocoa_cflags}
+   else
+  # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX 
(for now)
+  # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
+  # cannot compile (nor link).
+  evas_engine_gl_common_libs=
+  evas_engine_gl_common_cflags=
+
+  if test x${have_evas_engine_gl_xlib} = xyes; then
+ evas_engine_gl_common_libs=${evas_engine_gl_xlib_libs}
+ evas_engine_gl_common_cflags=${evas_engine_gl_xlib_cflags}
+  fi
+  ### XXX Check for other supported engines supported on OSX (dec. 2014: 
NONE)
+   fi
+fi
+
 AC_SUBST([evas_engine_gl_common_cflags])
 AC_SUBST([evas_engine_gl_common_libs])
 
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 9e67eac..a625ec6 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -711,6 +711,7 @@ modules_evas_engines_gl_generic_module_la_CFLAGS = \
 -I$(top_srcdir)/src/lib/evas/include \
 -I$(top_srcdir)/src/lib/evas/cserve2 \
 -I$(top_srcdir)/src/modules/evas/engines/gl_common \
+@evas_engine_gl_common_cflags@ \
 @EVAS_CFLAGS@
 modules_evas_engines_gl_generic_module_la_LIBADD = \
 modules/evas/engines/gl_common/libevas_engine_gl_common.la \

-- 




[EGIT] [core/efl] master 01/03: evas: Evas_3D - fix typo.

2014-12-03 Thread perepelits.m
cedric pushed a commit to branch master.

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

commit b1f8f3fb17ec37c4ddb817d766051eb8fe9d72e1
Author: perepelits.m perepelit...@samsung.com
Date:   Wed Dec 3 09:42:50 2014 +0100

evas: Evas_3D - fix typo.

Summary:
A little fix of copy-paste, there were problems while changing texture 
coordinates of indices.

@fix

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/modules/evas/engines/gl_common/evas_gl_3d.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_3d.c 
b/src/modules/evas/engines/gl_common/evas_gl_3d.c
index 1a70473..7b19939 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_3d.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_3d.c
@@ -10,14 +10,14 @@ e3d_texture_param_update(E3D_Texture *texture)
if (texture-wrap_dirty)
  {
 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, texture-wrap_s);
-glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, texture-wrap_t);
+glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, texture-wrap_t);
 texture-wrap_dirty = EINA_FALSE;
  }
 
if (texture-filter_dirty)
  {
 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
texture-filter_min);
-glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
texture-filter_mag);
+glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
texture-filter_mag);
 texture-filter_dirty = EINA_FALSE;
  }
 }

-- 




[EGIT] [core/efl] master 03/03: Evas: Evas_3D - Add check of visibilty node.

2014-12-03 Thread Dmytro Dadyka
cedric pushed a commit to branch master.

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

commit 720a3726e988d5a2293836a816a1c10254246c89
Author: Dmytro Dadyka d.dad...@samsung.com
Date:   Wed Dec 3 09:48:55 2014 +0100

Evas: Evas_3D - Add check of visibilty node.

If the node is not visible, it is not rendered, which improves performance.
@feature.

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/modules/evas/engines/gl_common/evas_gl_3d.c | 88 ++---
 1 file changed, 51 insertions(+), 37 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_3d.c 
b/src/modules/evas/engines/gl_common/evas_gl_3d.c
index 7b19939..ac17007 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_3d.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_3d.c
@@ -1239,6 +1239,7 @@ void _shadowmap_render(E3D_Drawable *drawable, 
E3D_Renderer *renderer, Evas_3D_S
Evas_3D_Node *n;
Evas_3D_Shade_Mode shade_mode;
Evas_Color  c = {1.0, 1.0, 1.0};
+   Evas_Mat4 matrix_vp;
 
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(4.0, 1.0);
@@ -1249,6 +1250,10 @@ void _shadowmap_render(E3D_Drawable *drawable, 
E3D_Renderer *renderer, Evas_3D_S
Evas_3D_Node_Data *pd_light_node = eo_data_scope_get(light, 
EVAS_3D_NODE_CLASS);
Evas_3D_Light_Data *pd = eo_data_scope_get(pd_light_node-data.light.light, 
EVAS_3D_LIGHT_CLASS);
 
+   Evas_Vec4 planes[6];
+   evas_mat4_multiply(matrix_vp, pd-projection, matrix_light_eye);
+   evas_frustum_calculate(planes, matrix_vp);
+
EINA_LIST_FOREACH(data-mesh_nodes, l, n)
  {
 Evas_Mat4  matrix_mv;
@@ -1257,23 +1262,27 @@ void _shadowmap_render(E3D_Drawable *drawable, 
E3D_Renderer *renderer, Evas_3D_S
 void  *ptr;
 
 Evas_3D_Node_Data *pd_mesh_node = eo_data_scope_get(n, 
EVAS_3D_NODE_CLASS);
-evas_mat4_multiply(matrix_mv, matrix_light_eye, 
pd_mesh_node-data.mesh.matrix_local_to_world);
-evas_mat4_multiply(matrix_mvp, pd-projection,
+
+if (evas_is_sphere_in_frustum(pd_mesh_node-bsphere, planes))
+  {
+
+ evas_mat4_multiply(matrix_mv, matrix_light_eye, 
pd_mesh_node-data.mesh.matrix_local_to_world);
+ evas_mat4_multiply(matrix_mvp, pd-projection,
matrix_mv);
 
-it = eina_hash_iterator_data_new(pd_mesh_node-data.mesh.node_meshes);
+ it = 
eina_hash_iterator_data_new(pd_mesh_node-data.mesh.node_meshes);
 
-while (eina_iterator_next(it, ptr))
-  {
- Evas_3D_Node_Mesh *nm = (Evas_3D_Node_Mesh *)ptr;
- Evas_3D_Mesh_Data *pdmesh = eo_data_scope_get(nm-mesh, 
EVAS_3D_MESH_CLASS);
- shade_mode = pdmesh-shade_mode;
- pdmesh-shade_mode = EVAS_3D_SHADE_MODE_SHADOW_MAP_RENDER;
- _mesh_draw(renderer, nm-mesh, nm-frame, light, 
matrix_light_eye, matrix_mv, matrix_mvp, matrix_mvp);
- pdmesh-shade_mode = shade_mode;
+ while (eina_iterator_next(it, ptr))
+   {
+  Evas_3D_Node_Mesh *nm = (Evas_3D_Node_Mesh *)ptr;
+  Evas_3D_Mesh_Data *pdmesh = eo_data_scope_get(nm-mesh, 
EVAS_3D_MESH_CLASS);
+  shade_mode = pdmesh-shade_mode;
+  pdmesh-shade_mode = EVAS_3D_SHADE_MODE_SHADOW_MAP_RENDER;
+  _mesh_draw(renderer, nm-mesh, nm-frame, light, 
matrix_light_eye, matrix_mv, matrix_mvp, matrix_mvp);
+  pdmesh-shade_mode = shade_mode;
+   }
+ eina_iterator_free(it);
   }
-
-eina_iterator_free(it);
  }
 
  glDisable(GL_POLYGON_OFFSET_FILL);
@@ -1287,9 +1296,10 @@ e3d_drawable_scene_render(E3D_Drawable *drawable, 
E3D_Renderer *renderer, Evas_3
Evas_3D_Node *n;
const Evas_Mat4  *matrix_eye;
Evas_3D_Node *light;
-   Evas_Mat4matrix_light_eye;
+   Evas_Mat4matrix_light_eye, matrix_vp;;
Evas_3D_Light_Data *ld = NULL;
Evas_3D_Node_Data *pd_light_node;
+   Evas_Vec4 planes[6];
 
/* Get eye matrix. */
Evas_3D_Node_Data *pd_camera_node = eo_data_scope_get(data-camera_node, 
EVAS_3D_NODE_CLASS);
@@ -1311,6 +1321,9 @@ e3d_drawable_scene_render(E3D_Drawable *drawable, 
E3D_Renderer *renderer, Evas_3
/* Set up render target. */
e3d_renderer_target_set(renderer, drawable);
e3d_renderer_clear(renderer, data-bg_color);
+
+   evas_mat4_multiply(matrix_vp, pd-projection, matrix_eye);
+   evas_frustum_calculate(planes, matrix_vp);
EINA_LIST_FOREACH(data-mesh_nodes, l, n)
  {
 Evas_Mat4  matrix_mv;
@@ -1320,36 +1333,37 @@ e3d_drawable_scene_render(E3D_Drawable *drawable, 
E3D_Renderer *renderer, Evas_3
 void  *ptr;
 

Re: [E-devel] Tabs in terminology

2014-12-03 Thread Boris Faure
On 14-12-03 08:57, Carsten Haitzler wrote:
 On Tue, 2 Dec 2014 21:29:37 +0100 Boris Faure bo...@fau.re said:
 
  Hi!
  
  I've pushed a bunch of commits to the terminology repository.  They
  change (and enhance I hope) the way tabs and splits can be used in
  terminology.
  There is a tabbar that can be hidden to get the old tab selector.
  All splits contain an hidden tabbar thus you can have tabs in splits
  in tabs in…
  
  I couldn't make the tab entries as great as I wanted due to a bug I
  encountered while using an object in an elm_toolbar_item.  I've put that
  state of the code at devs/billiob/strange_bug.  I'll try to make a
  smaller test case.
  
  There are probably some hidden bugs, so please, test it and report them
  on phab.  If you have some ideas on how to improve that aspect of
  terminology, feel free to share them.
 
 this is swimming with problems:
 
 1. why on earth is there now a tab bar whgen i have no tabs. just a single
 terminal? why is my terminal now bloated and taller eating up useless space
 REPEATING what is already in the titlebar?

There is a config option to hide the tab bar by default. I put it here as
part of user experience, to tell people they can have tabs as they
expect them.

 2. when you hide the tab bar it's not remembered and terminal cell grid/size 
 is
 broken now as it never changes/adjusts for the tab bar hide/show

I'll fix it.

 3. when you hide the old tab switcher controls (4 boxes top-right) is half off
 the window to bring it back (separate from the actual switcher), when i have 
 no
 tabs.. and i don't want to bring it back.,

I don't understand the first part on that one.

 4. initial focus is broken - i open a terminal and cannot type in it at all 
 ...
 until i click the terminal itself. i have to do this EVERY TIME i start
 terminology at all/ it's become INCREDIBLY painful to use.

Worked for me with focus follow mouse in terminology. I'll test
without that option and fix the issues.

 […]
 there are smaller things - like long titles don't fit in a tab entry but they
 center so i don't see the beginning of the text and the end is cut off too -
 likely you want a different behavior like  Long title is... rather than the
 current g title. the tab bar kind of looks out of place. visually.  it has a
 lighter grey bg next to the dark bg of the term... it looks like its just a 
 box
 of flat grey with buttons on it... it would make more sense imho if it had no
 bg and was overlayed on the same bg as the term... (personally i would have
 done this custom with edje objects and a custom layout of them with mouse-over
 scrolling like the tab selector has in 2d, but in 1d here). if you wanted tabs
 i would have visually designed things to look actually tab-like with a ...
 tab coming off the existing terminal (and other unselected tabs to the
 left/right covering it up to look a bit inset with tabs in the bg).

I'd like to do it like that but I suck at edc. Each time I try to do
something nice in edc, it gets on my nerves.

 don't get me wrong. you're doing a fine job with terminology! just this here 
 is
 a bit of a misstep and a stumble. i personally don't like the idea of wasting
 vertical space for tabs always being there, but people insist on wasting their
 space and want it so fine - do it.. but.. do it nicely then and don't break
 existing usage without tabs.

I'll keep on working on it in a separate branch.

-- 
Boris Faure
Pointer Arithmetician


signature.asc
Description: Digital signature
--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/enlightenment] master 01/01: ibar: Fix additional actions and seperator placement.

2014-12-03 Thread Leif Middelschulte
raster pushed a commit to branch master.

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

commit 416aaa978d89f6ee1a2c464bd0406cc44f9e5a9a
Author: Leif Middelschulte leif.middelschu...@gmail.com
Date:   Wed Dec 3 18:14:23 2014 +0900

ibar: Fix additional actions and seperator placement.

Summary: This moves the additional actions to the top of the menu and the 
seperator right underneath.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1694
---
 src/modules/ibar/e_mod_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index b0b67a8..9613ad2 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -1639,6 +1639,7 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, 
Evas_Object *obj __UNUS
 
 if (ic-app-actions)
   {
+ mi = NULL;
  EINA_LIST_FOREACH(ic-app-actions, it, action)
{
   mi = e_menu_item_new_relative(m, mi);
@@ -1646,7 +1647,7 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, 
Evas_Object *obj __UNUS
   e_util_menu_item_theme_icon_set(mi, action-icon);
   e_menu_item_callback_set(mi, _ibar_cb_menu_icon_action_exec, 
action);
}
- mi = e_menu_item_new(m);
+ mi = e_menu_item_new_relative(m, mi);
  e_menu_item_separator_set(mi, 1);
   }
 

-- 




Re: [E-devel] [e-users] Tabs in terminology

2014-12-03 Thread The Rasterman
On Wed, 3 Dec 2014 10:15:44 +0100 Boris Faure bo...@fau.re said:

 On 14-12-03 08:57, Carsten Haitzler wrote:
  On Tue, 2 Dec 2014 21:29:37 +0100 Boris Faure bo...@fau.re said:
  
   Hi!
   
   I've pushed a bunch of commits to the terminology repository.  They
   change (and enhance I hope) the way tabs and splits can be used in
   terminology.
   There is a tabbar that can be hidden to get the old tab selector.
   All splits contain an hidden tabbar thus you can have tabs in splits
   in tabs in…
   
   I couldn't make the tab entries as great as I wanted due to a bug I
   encountered while using an object in an elm_toolbar_item.  I've put that
   state of the code at devs/billiob/strange_bug.  I'll try to make a
   smaller test case.
   
   There are probably some hidden bugs, so please, test it and report them
   on phab.  If you have some ideas on how to improve that aspect of
   terminology, feel free to share them.
  
  this is swimming with problems:
  
  1. why on earth is there now a tab bar whgen i have no tabs. just a single
  terminal? why is my terminal now bloated and taller eating up useless space
  REPEATING what is already in the titlebar?
 
 There is a config option to hide the tab bar by default. I put it here as
 part of user experience, to tell people they can have tabs as they
 expect them.

i know - and it still messes up focus when hidden by default and puts 2 little
boxes at the top of the window when there are no tabs being used to pull it
back down. :)

  2. when you hide the tab bar it's not remembered and terminal cell
  grid/size is broken now as it never changes/adjusts for the tab bar
  hide/show
 
 I'll fix it.
 
  3. when you hide the old tab switcher controls (4 boxes top-right) is half
  off the window to bring it back (separate from the actual switcher), when i
  have no tabs.. and i don't want to bring it back.,
 
 I don't understand the first part on that one.

hiding the tab toolbar still leaves 2 boxes at the top-right of the terminal
window to re-show thte tab switcher. even if no tabs exist. :)

  4. initial focus is broken - i open a terminal and cannot type in it at
  all ... until i click the terminal itself. i have to do this EVERY TIME i
  start terminology at all/ it's become INCREDIBLY painful to use.
 
 Worked for me with focus follow mouse in terminology. I'll test
 without that option and fix the issues.

focus follows mouse in e. i literally EVERY time i focus the window have to
click on it to type in the terminal. every single time. this is really the crux
of the problem. it makes terminology so annoying to use i either revert this or
switch to xterm. :)

  […]
  there are smaller things - like long titles don't fit in a tab entry but
  they center so i don't see the beginning of the text and the end is cut off
  too - likely you want a different behavior like  Long title is... rather
  than the current g title. the tab bar kind of looks out of place.
  visually.  it has a lighter grey bg next to the dark bg of the term... it
  looks like its just a box of flat grey with buttons on it... it would make
  more sense imho if it had no bg and was overlayed on the same bg as the
  term... (personally i would have done this custom with edje objects and a
  custom layout of them with mouse-over scrolling like the tab selector has
  in 2d, but in 1d here). if you wanted tabs i would have visually designed
  things to look actually tab-like with a ... tab coming off the existing
  terminal (and other unselected tabs to the left/right covering it up to
  look a bit inset with tabs in the bg).
 
 I'd like to do it like that but I suck at edc. Each time I try to do
 something nice in edc, it gets on my nerves.

:(

  don't get me wrong. you're doing a fine job with terminology! just this
  here is a bit of a misstep and a stumble. i personally don't like the idea
  of wasting vertical space for tabs always being there, but people insist on
  wasting their space and want it so fine - do it.. but.. do it nicely then
  and don't break existing usage without tabs.
 
 I'll keep on working on it in a separate branch.

please. i was mulling if i should not just do it to show you how :) show you
what i mean :) it's all about finding time... :)

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net

Re: [E-devel] [e-users] Tabs in terminology

2014-12-03 Thread Boris Faure
On 14-12-03 18:33, Carsten Haitzler wrote:
   3. when you hide the old tab switcher controls (4 boxes top-right) is half
   off the window to bring it back (separate from the actual switcher), when 
   i
   have no tabs.. and i don't want to bring it back.,
  
  I don't understand the first part on that one.
 
 hiding the tab toolbar still leaves 2 boxes at the top-right of the terminal
 window to re-show thte tab switcher. even if no tabs exist. :)

Let's say you have a window like the following: 2 splits, no tab.
+--+--+
|  A  |
+--+--+
|B |C |
+--+--+

How do you add a tab that covers the whole window? How about one that
covers only B, or both B and C?
  The way I did it is that the new tab callback (either from the key
bindings or the controls menu) will go from the term where the event
occurs up to a tab container where there are more than one tab or
create a full-window-tab.

  In case you want one tab that covers B and C, you need to bring up
that tab-bar. If you have a better way to handle that case, I'm all
ears.

Would you prefer to have the tab-bar switcher only shown on over?

-- 
Boris Faure
Pointer Arithmetician


signature.asc
Description: Digital signature
--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [e-users] Tabs in terminology

2014-12-03 Thread The Rasterman
On Wed, 3 Dec 2014 11:20:57 +0100 Boris Faure bo...@fau.re said:

 On 14-12-03 18:33, Carsten Haitzler wrote:
3. when you hide the old tab switcher controls (4 boxes top-right) is
half off the window to bring it back (separate from the actual
switcher), when i have no tabs.. and i don't want to bring it back.,
   
   I don't understand the first part on that one.
  
  hiding the tab toolbar still leaves 2 boxes at the top-right of the terminal
  window to re-show thte tab switcher. even if no tabs exist. :)
 
 Let's say you have a window like the following: 2 splits, no tab.
 +--+--+
 |  A  |
 +--+--+
 |B |C |
 +--+--+
 
 How do you add a tab that covers the whole window? How about one that
 covers only B, or both B and C?

the case i saw first was a window with no splits 1 term.. with no extra tabs.
it shouldn't have had any extra decorations for the tab bar. :) if you want a
tab bar covering all splits (and it switches the currently focused split) -
sure. i would put a tab bar at the top of every term (in each split). if user
hides tab bar then work like terminology did before - with the grid tab
switcher. with tab bar visible then you can use the tab bar to switch terms. :)

   The way I did it is that the new tab callback (either from the key
 bindings or the controls menu) will go from the term where the event
 occurs up to a tab container where there are more than one tab or
 create a full-window-tab.
 
   In case you want one tab that covers B and C, you need to bring up
 that tab-bar. If you have a better way to handle that case, I'm all
 ears.
 
 Would you prefer to have the tab-bar switcher only shown on over?

i'm easy there - as long as when turned off. it ceases to exist. :) give me a
bit and i'll show you what i would do/expect from tabs. it's a bit complex as
there arent really any examples of doing nice tabs with edje. i can see why you
did it the way you did, and why i'd do it differently visually (which would
affect everything else too).

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/enlightenment] master 02/03: backlight: remove code duplication

2014-12-03 Thread Luis de Bethencourt
tasn pushed a commit to branch master.

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

commit 294db70962ae905d7f28b6b46e39e6cc2580f12f
Author: Luis de Bethencourt luis...@samsung.com
Date:   Tue Dec 2 18:21:10 2014 +

backlight: remove code duplication

Move repeated blocks of code to a static function
---
 src/modules/backlight/e_mod_main.c | 78 +++---
 1 file changed, 22 insertions(+), 56 deletions(-)

diff --git a/src/modules/backlight/e_mod_main.c 
b/src/modules/backlight/e_mod_main.c
index bbabfa5..2b63d16 100644
--- a/src/modules/backlight/e_mod_main.c
+++ b/src/modules/backlight/e_mod_main.c
@@ -49,6 +49,7 @@ static Eina_List *handlers;
 
 
 static void _backlight_popup_free(Instance *inst);
+static void _backlight_level_set(Instance *inst, double value, Eina_Bool 
set_slider);
 
 static void
 _backlight_gadget_update(Instance *inst)
@@ -61,6 +62,20 @@ _backlight_gadget_update(Instance *inst)
edje_object_message_send(inst-o_backlight, EDJE_MESSAGE_FLOAT, 0, msg);
 }
 
+static void
+_backlight_level_set(Instance *inst, double val, Eina_Bool set_slider)
+{
+   if (val  1.0) val = 1.0;
+   if (val  0.0) val = 0.0;
+   if (set_slider)
+ e_widget_slider_value_double_set(inst-o_slider, val);
+   inst-val = val;
+   e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
+   e_backlight_level_set(inst-gcc-gadcon-zone, val, 0.0);
+   e_config-backlight.normal = val;
+   e_config_save_queue();
+}
+
 static Eina_Bool
 _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 {
@@ -79,14 +94,7 @@ _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 (!strcmp(keysym, bracketright)) ||
 (!strcmp(keysym, Prior)))
  {
-double v = inst-val + 0.1;
-if (v  1.0) v = 1.0;
-e_widget_slider_value_double_set(inst-o_slider, v);
-inst-val = v;
-e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-e_config-backlight.normal = v;
-e_config_save_queue();
+_backlight_level_set(inst, inst-val + 0.1, EINA_TRUE);
 _backlight_gadget_update(inst);
  }
else if ((!strcmp(keysym, Down)) ||
@@ -98,14 +106,7 @@ _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 (!strcmp(keysym, bracketleft)) ||
 (!strcmp(keysym, Next)))
  {
-double v = inst-val - 0.1;
-if (v  0.0) v = 0.0;
-e_widget_slider_value_double_set(inst-o_slider, v);
-inst-val = v;
-e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-e_config-backlight.normal = v;
-e_config_save_queue();
+_backlight_level_set(inst, inst-val - 0.1, EINA_TRUE);
 _backlight_gadget_update(inst);
  }
else if ((!strcmp(keysym, 0)) ||
@@ -119,13 +120,7 @@ _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 (!strcmp(keysym, 8)) ||
 (!strcmp(keysym, 9)))
  {
-double v = (double)atoi(keysym) / 9.0;
-e_widget_slider_value_double_set(inst-o_slider, v);
-inst-val = v;
-e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-e_config-backlight.normal = v;
-e_config_save_queue();
+_backlight_level_set(inst, (double)atoi(keysym) / 9.0, EINA_TRUE);
 _backlight_gadget_update(inst);
  }
else
@@ -172,10 +167,7 @@ static void
 _slider_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info 
__UNUSED__)
 {
Instance *inst = data;
-   e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-   e_backlight_level_set(inst-gcc-gadcon-zone, inst-val, 0.0);
-   e_config-backlight.normal = inst-val;
-   e_config_save_queue();
+   _backlight_level_set(inst, inst-val, EINA_FALSE);
 }
 
 static void
@@ -280,26 +272,6 @@ _backlight_cb_mouse_down(void *data, Evas *evas 
__UNUSED__, Evas_Object *obj __U
 }
 
 static void
-_backlight_level_decrease(Instance *inst)
-{
-   double v = inst-val - 0.1;
-   if (v  0.0) v = 0.0;
-   e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-   e_config-backlight.normal = v;
-   e_config_save_queue();
-}
-
-static void
-_backlight_level_increase(Instance *inst)
-{
-   double v = inst-val + 0.1;
-   if (v  1.0) v = 1.0;
-   e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-   e_config-backlight.normal = v;
-   e_config_save_queue();
-}
-
-static void
 _backlight_cb_mouse_wheel(void *data, Evas *evas __UNUSED__, Evas_Object *obj 
__UNUSED__, void *event)
 {
Evas_Event_Mouse_Wheel *ev = event;
@@ -307,9 +279,9 @@ _backlight_cb_mouse_wheel(void *data, Evas *evas 
__UNUSED__, Evas_Object *obj __
 
inst-val = e_backlight_level_get(inst-gcc-gadcon-zone);
if (ev-z  0)
-

[EGIT] [core/enlightenment] master 03/03: AUTHORS: Add Luis to authors file.

2014-12-03 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 4cff39b6d75842a0c21d5f1383a169778fe4bc6c
Author: Tom Hacohen t...@stosb.com
Date:   Wed Dec 3 12:03:58 2014 +

AUTHORS: Add Luis to authors file.

Thanks for your contributions, let's hope they are the first of many. :)
---
 AUTHORS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/AUTHORS b/AUTHORS
index 7fa0f9b..d155c2e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -56,3 +56,4 @@ Stefan Schmidt ste...@datenfreihafen.org
 Davide Andreoli d...@gurumeditation.it
 Wonguk Jeong (huchi) wonguk.je...@samsung.com
 Jake Yoon (Jaeseok Yoon) yjaes...@gmail.com
+Luis de Bethencourt (luisbg) l...@debethencourt.com

-- 




[EGIT] [core/enlightenment] master 01/03: backlight: visual feedback when adjusting value through keybindings

2014-12-03 Thread Luis de Bethencourt
tasn pushed a commit to branch master.

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

commit 1bcc205d2f29cdf6b8491e707a8efaa3e466f56a
Author: Luis de Bethencourt luis...@samsung.com
Date:   Tue Dec 2 17:39:01 2014 +

backlight: visual feedback when adjusting value through keybindings

The backlight module has an action to show the value of the backlight 
brightness
by showing the gadget's popup. Added a parameter to this action to adjust 
the
brightness at the same time.
---
 src/modules/backlight/e_mod_main.c | 56 +++---
 1 file changed, 52 insertions(+), 4 deletions(-)

diff --git a/src/modules/backlight/e_mod_main.c 
b/src/modules/backlight/e_mod_main.c
index 7a9bc9e..bbabfa5 100644
--- a/src/modules/backlight/e_mod_main.c
+++ b/src/modules/backlight/e_mod_main.c
@@ -39,6 +39,7 @@ struct _Instance
Evas_Object *o_backlight, *o_table, *o_slider;
E_Gadcon_Popup  *popup;
double   val;
+   Ecore_Timer *popup_timer;
 };
 
 static Eina_List *backlight_instances = NULL;
@@ -406,17 +407,63 @@ _gc_id_new(const E_Gadcon_Client_Class *client_class)
return buf;
 }
 
+static Eina_Bool
+_backlight_popup_timer_cb(void *data)
+{
+   Instance *inst;
+   inst = data;
+
+   if (inst-popup)
+  _backlight_popup_del_cb(inst-popup);
+   inst-popup_timer = NULL;
+
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_backlight_popup_timer_new(Instance *inst)
+{
+   if (inst-popup)
+ {
+if (inst-popup_timer)
+  {
+ ecore_timer_del(inst-popup_timer);
+ e_widget_slider_value_double_set(inst-o_slider, inst-val);
+ inst-popup_timer = ecore_timer_add(1.0, 
_backlight_popup_timer_cb, inst);
+  }
+ }
+   else
+ {
+_backlight_popup_new(inst);
+inst-popup_timer = ecore_timer_add(1.0, _backlight_popup_timer_cb, 
inst);
+ }
+}
+
 static void
 _e_mod_action_cb(E_Object *obj __UNUSED__,
- const char *params __UNUSED__)
+ const char *params)
 {
Eina_List *l;
Instance *inst;

EINA_LIST_FOREACH(backlight_instances, l, inst)
  {
-if (inst-popup) _backlight_popup_free(inst);
-else _backlight_popup_new(inst);
+if (!params)
+  {
+ if (inst-popup) _backlight_popup_free(inst);
+ else _backlight_popup_new(inst);
+  }
+else
+  {
+ double v = inst-val + atof(params);
+ if (v  1.0) v = 1.0;
+ if (v  0.0) v = 0.0;
+ inst-val = v;
+ e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
+ e_config-backlight.normal = v;
+ e_config_save_queue();
+ _backlight_popup_timer_new(inst);
+  }
  }
 }
 
@@ -467,7 +514,8 @@ e_modapi_init(E_Module *m)
if (act)
  {
 act-func.go = _e_mod_action_cb;
-e_action_predef_name_set(N_(Screen), N_(Backlight Controls), 
backlight, NULL, NULL, 0);
+e_action_predef_name_set(N_(Screen), N_(Backlight Controls), 
backlight,
+ NULL, syntax: brightness change(-1.0 - 1.0), 
example: -0.1, 1);
  }
return m;
 }

-- 




[EGIT] [core/efl] master 01/01: edje/edje_cc_handler - updated internal doc.

2014-12-03 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit 0889fde94b9e91a70e18cabb2be3576b0a6ce099
Author: ChunEon Park her...@hermet.pe.kr
Date:   Wed Dec 3 21:09:06 2014 +0900

edje/edje_cc_handler - updated internal doc.
---
 src/bin/edje/edje_cc_handlers.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index af62eea..b2e6c2f 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -10689,6 +10689,7 @@ st_collections_group_programs_program_action(void)
 @li DIVIS or DIVISOR_INTERP
 @li BOUNCE
 @li SPRING
+@li CUBIC_BEZIER
 
 ACCEL_FAC, DECEL_FAC and SIN_FAC need the extra optional
 interp val 1 to determine the factor of curviness. 1.0 is the same

-- 




[EGIT] [core/efl] master 01/01: ecore con: Fix GnuTLS build error.

2014-12-03 Thread Andreas Metzler
tasn pushed a commit to branch master.

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

commit ecfcb59c44a9bc7dd2ce95493806f6ac107c0d46
Author: Andreas Metzler ametz...@debian.org
Date:   Wed Dec 3 12:07:40 2014 +

ecore con: Fix GnuTLS build error.

By making the respective changes on the GnuTLS side for upstream commits
d9b5f192d4883193f79cd3e43ed1da52521825dc and
d72f809fb874c8f14b1461949802905d41d648a1
which only take care of OpenSSL.

@fix
---
 src/lib/ecore_con/ecore_con_ssl.c | 78 +++
 1 file changed, 46 insertions(+), 32 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con_ssl.c 
b/src/lib/ecore_con/ecore_con_ssl.c
index bf63469..d31b44e 100644
--- a/src/lib/ecore_con/ecore_con_ssl.c
+++ b/src/lib/ecore_con/ecore_con_ssl.c
@@ -885,9 +885,10 @@ _ecore_con_ssl_shutdown_gnutls(void)
 }
 
 static Ecore_Con_Ssl_Error
-_ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server *obj,
  int ssl_type)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
int ret;
 
if (ssl_type  ECORE_CON_USE_SSL2)
@@ -938,13 +939,14 @@ _ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server 
*svr,
 
 error:
_gnutls_print_errors(svr, ECORE_CON_EVENT_SERVER_ERROR, ret);
-   _ecore_con_ssl_server_shutdown_gnutls(svr);
+   _ecore_con_ssl_server_shutdown_gnutls(obj);
return ECORE_CON_SSL_ERROR_SERVER_INIT_FAILED;
 }
 
 static Ecore_Con_Ssl_Error
-_ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *svr)
+_ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *obj)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
const gnutls_datum_t *cert_list;
unsigned int iter, cert_list_size;
gnutls_x509_crt_t cert = NULL;
@@ -1073,14 +1075,15 @@ error:
  }
if (cert)
  gnutls_x509_crt_deinit(cert);
-   _ecore_con_ssl_server_shutdown_gnutls(svr);
+   _ecore_con_ssl_server_shutdown_gnutls(obj);
return ECORE_CON_SSL_ERROR_SERVER_INIT_FAILED;
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_cafile_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_cafile_add_gnutls(Ecore_Con_Server *obj,
 const char *ca_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
struct stat st;
Eina_Iterator *it;
const char *file;
@@ -1113,9 +1116,10 @@ error:
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_crl_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_crl_add_gnutls(Ecore_Con_Server *obj,
  const char *crl_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
SSL_ERROR_CHECK_GOTO_ERROR(gnutls_certificate_set_x509_crl_file(svr-cert, 
crl_file,

GNUTLS_X509_FMT_PEM)  1);
 
@@ -1126,9 +1130,10 @@ error:
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_privkey_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_privkey_add_gnutls(Ecore_Con_Server *obj,
  const char *key_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
SSL_ERROR_CHECK_GOTO_ERROR(gnutls_certificate_set_x509_key_file(svr-cert, 
svr-cert_file, key_file,

GNUTLS_X509_FMT_PEM));
 
@@ -1139,9 +1144,10 @@ error:
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_cert_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_cert_add_gnutls(Ecore_Con_Server *obj,
   const char *cert_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
if (!(svr-cert_file = strdup(cert_file)))
  return EINA_FALSE;
 
@@ -1149,8 +1155,9 @@ _ecore_con_ssl_server_cert_add_gnutls(Ecore_Con_Server 
*svr,
 }
 
 static Ecore_Con_Ssl_Error
-_ecore_con_ssl_server_shutdown_gnutls(Ecore_Con_Server *svr)
+_ecore_con_ssl_server_shutdown_gnutls(Ecore_Con_Server *obj)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
if (svr-session)
  {
 gnutls_bye(svr-session, GNUTLS_SHUT_RDWR);
@@ -1195,16 +1202,17 @@ _ecore_con_ssl_server_shutdown_gnutls(Ecore_Con_Server 
*svr)
 }
 
 static int
-_ecore_con_ssl_server_read_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_read_gnutls(Ecore_Con_Server *obj,
   unsigned char *buf,
   int size)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
int num;
 
if (svr-ssl_state == ECORE_CON_SSL_STATE_HANDSHAKING)
  {
 DBG(Continuing gnutls handshake);
-if (!_ecore_con_ssl_server_init_gnutls(svr))
+if (!_ecore_con_ssl_server_init_gnutls(obj))
   

[EGIT] [core/efl] efl-1.12 01/01: ecore con: Fix GnuTLS build error.

2014-12-03 Thread Andreas Metzler
tasn pushed a commit to branch efl-1.12.

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

commit 3f73ae7660328de24fa3422ec378a76af8edc764
Author: Andreas Metzler ametz...@debian.org
Date:   Wed Dec 3 12:07:40 2014 +

ecore con: Fix GnuTLS build error.

By making the respective changes on the GnuTLS side for upstream commits
d9b5f192d4883193f79cd3e43ed1da52521825dc and
d72f809fb874c8f14b1461949802905d41d648a1
which only take care of OpenSSL.

@fix
---
 src/lib/ecore_con/ecore_con_ssl.c | 78 +++
 1 file changed, 46 insertions(+), 32 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con_ssl.c 
b/src/lib/ecore_con/ecore_con_ssl.c
index bf63469..d31b44e 100644
--- a/src/lib/ecore_con/ecore_con_ssl.c
+++ b/src/lib/ecore_con/ecore_con_ssl.c
@@ -885,9 +885,10 @@ _ecore_con_ssl_shutdown_gnutls(void)
 }
 
 static Ecore_Con_Ssl_Error
-_ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server *obj,
  int ssl_type)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
int ret;
 
if (ssl_type  ECORE_CON_USE_SSL2)
@@ -938,13 +939,14 @@ _ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server 
*svr,
 
 error:
_gnutls_print_errors(svr, ECORE_CON_EVENT_SERVER_ERROR, ret);
-   _ecore_con_ssl_server_shutdown_gnutls(svr);
+   _ecore_con_ssl_server_shutdown_gnutls(obj);
return ECORE_CON_SSL_ERROR_SERVER_INIT_FAILED;
 }
 
 static Ecore_Con_Ssl_Error
-_ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *svr)
+_ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *obj)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
const gnutls_datum_t *cert_list;
unsigned int iter, cert_list_size;
gnutls_x509_crt_t cert = NULL;
@@ -1073,14 +1075,15 @@ error:
  }
if (cert)
  gnutls_x509_crt_deinit(cert);
-   _ecore_con_ssl_server_shutdown_gnutls(svr);
+   _ecore_con_ssl_server_shutdown_gnutls(obj);
return ECORE_CON_SSL_ERROR_SERVER_INIT_FAILED;
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_cafile_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_cafile_add_gnutls(Ecore_Con_Server *obj,
 const char *ca_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
struct stat st;
Eina_Iterator *it;
const char *file;
@@ -1113,9 +1116,10 @@ error:
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_crl_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_crl_add_gnutls(Ecore_Con_Server *obj,
  const char *crl_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
SSL_ERROR_CHECK_GOTO_ERROR(gnutls_certificate_set_x509_crl_file(svr-cert, 
crl_file,

GNUTLS_X509_FMT_PEM)  1);
 
@@ -1126,9 +1130,10 @@ error:
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_privkey_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_privkey_add_gnutls(Ecore_Con_Server *obj,
  const char *key_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
SSL_ERROR_CHECK_GOTO_ERROR(gnutls_certificate_set_x509_key_file(svr-cert, 
svr-cert_file, key_file,

GNUTLS_X509_FMT_PEM));
 
@@ -1139,9 +1144,10 @@ error:
 }
 
 static Eina_Bool
-_ecore_con_ssl_server_cert_add_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_cert_add_gnutls(Ecore_Con_Server *obj,
   const char *cert_file)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
if (!(svr-cert_file = strdup(cert_file)))
  return EINA_FALSE;
 
@@ -1149,8 +1155,9 @@ _ecore_con_ssl_server_cert_add_gnutls(Ecore_Con_Server 
*svr,
 }
 
 static Ecore_Con_Ssl_Error
-_ecore_con_ssl_server_shutdown_gnutls(Ecore_Con_Server *svr)
+_ecore_con_ssl_server_shutdown_gnutls(Ecore_Con_Server *obj)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
if (svr-session)
  {
 gnutls_bye(svr-session, GNUTLS_SHUT_RDWR);
@@ -1195,16 +1202,17 @@ _ecore_con_ssl_server_shutdown_gnutls(Ecore_Con_Server 
*svr)
 }
 
 static int
-_ecore_con_ssl_server_read_gnutls(Ecore_Con_Server *svr,
+_ecore_con_ssl_server_read_gnutls(Ecore_Con_Server *obj,
   unsigned char *buf,
   int size)
 {
+   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
int num;
 
if (svr-ssl_state == ECORE_CON_SSL_STATE_HANDSHAKING)
  {
 DBG(Continuing gnutls handshake);
-if (!_ecore_con_ssl_server_init_gnutls(svr))
+if (!_ecore_con_ssl_server_init_gnutls(obj))
   

[EGIT] [core/enlightenment] master 01/01: AUTHORS: Add Marcel to authors file.

2014-12-03 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 13c6e93b9c63cc6e7172c6d0464986f8dae9a2b5
Author: Tom Hacohen t...@stosb.com
Date:   Wed Dec 3 13:28:45 2014 +

AUTHORS: Add Marcel to authors file.
---
 AUTHORS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/AUTHORS b/AUTHORS
index d155c2e..d79de57 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -57,3 +57,4 @@ Davide Andreoli d...@gurumeditation.it
 Wonguk Jeong (huchi) wonguk.je...@samsung.com
 Jake Yoon (Jaeseok Yoon) yjaes...@gmail.com
 Luis de Bethencourt (luisbg) l...@debethencourt.com
+bu5hm4n (Marcel Hollerbach) marcel-hollerb...@t-online.de

-- 




[EGIT] [core/efl] master 02/02: eolian: eolian_function_is_c_only tests

2014-12-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit d24220221ae147d83d7216de0fd42d935e9f0296
Author: Daniel Kolesa d.kol...@samsung.com
Date:   Wed Dec 3 15:04:40 2014 +

eolian: eolian_function_is_c_only tests
---
 src/tests/eolian/data/class_simple.eo | 4 ++--
 src/tests/eolian/eolian_parsing.c | 6 --
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/tests/eolian/data/class_simple.eo 
b/src/tests/eolian/data/class_simple.eo
index 1f0ae65..29d95b7 100644
--- a/src/tests/eolian/data/class_simple.eo
+++ b/src/tests/eolian/data/class_simple.eo
@@ -17,7 +17,7 @@ class Class_Simple {
 int value (100); /*@ Value description */
  }
   }
-  b {
+  b @c_only {
 set {
eo: null;
 }
@@ -33,7 +33,7 @@ class Class_Simple {
  }
  return: char * (null); /*@ comment for method return */
   }
-  bar {
+  bar @c_only {
  eo: null;
  params {
 int x;
diff --git a/src/tests/eolian/eolian_parsing.c 
b/src/tests/eolian/eolian_parsing.c
index 03d6a56..824f9fc 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -590,10 +590,11 @@ START_TEST(eolian_simple_parsing)
fail_if(v.type != EOLIAN_EXPR_INT);
fail_if(v.value.i != 100);
 
-   /* legacy only */
+   /* legacy only + c only */
fail_if(!(fid = eolian_class_function_get_by_name(class, b, 
EOLIAN_PROPERTY)));
fail_if(eolian_function_is_legacy_only(fid, EOLIAN_PROP_GET));
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_PROP_SET));
+   fail_if(!eolian_function_is_c_only(fid));
 
/* Method */
fail_if(!(fid = eolian_class_function_get_by_name(class, foo, 
EOLIAN_METHOD)));
@@ -642,9 +643,10 @@ START_TEST(eolian_simple_parsing)
fail_if(eina_iterator_next(iter, dummy));
eina_iterator_free(iter);
 
-   /* legacy only */
+   /* legacy only + c only */
fail_if(!(fid = eolian_class_function_get_by_name(class, bar, 
EOLIAN_METHOD)));
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_METHOD));
+   fail_if(!eolian_function_is_c_only(fid));
 
eolian_shutdown();
 }

-- 




[EGIT] [core/efl] master 01/02: eolian: add eolian_function_is_c_only

2014-12-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 49aebd063e9a9bebac9ff5d7a9e3ecf7a70712cd
Author: Daniel Kolesa d.kol...@samsung.com
Date:   Wed Dec 3 14:59:24 2014 +

eolian: add eolian_function_is_c_only

This function allows us to mark functions that are not bindable.
Also remove some obsolete code.
---
 src/lib/eolian/Eolian.h| 10 +
 src/lib/eolian/database_function_api.c |  7 
 src/lib/eolian/eo_lexer.h  |  4 +-
 src/lib/eolian/eo_parser.c | 77 +++---
 src/lib/eolian/eolian_database.h   |  1 +
 5 files changed, 54 insertions(+), 45 deletions(-)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 42e41c7..9464cdf 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -874,6 +874,16 @@ EAPI Eina_Bool eolian_function_is_legacy_only(const 
Eolian_Function *function_id
 EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
 
 /*
+ * @brief Get whether a function is C only (i.e. not bindable).
+ *
+ * @param[in] function_id Id of the function
+ * @return EINA_TRUE and EINA_FALSE respectively
+ *
+ * @ingroup Eolian
+ */
+EAPI Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
+
+/*
  * @brief Indicates if a function is a constructing function of a given class.
  *
  * @param[in] klass the class
diff --git a/src/lib/eolian/database_function_api.c 
b/src/lib/eolian/database_function_api.c
index 000dda6..266ae54 100644
--- a/src/lib/eolian/database_function_api.c
+++ b/src/lib/eolian/database_function_api.c
@@ -249,3 +249,10 @@ eolian_function_object_is_const(const Eolian_Function *fid)
EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
return fid-obj_is_const;
 }
+
+EAPI Eina_Bool
+eolian_function_is_c_only(const Eolian_Function *fid)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
+   return fid-is_c_only;
+}
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index 120e97a..eb1ca97 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -29,8 +29,8 @@ enum Tokens
 KW(get), KW(implements), KW(interface), KW(keys), KW(legacy), \
 KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), \
 KW(properties), KW(set), KW(type), KW(values), KW(var), KWAT(auto), \
-KWAT(class), KWAT(const), KWAT(const_get), KWAT(const_set), KWAT(empty), \
-KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), KWAT(nonull), \
+KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), KWAT(const_set), \
+KWAT(empty), KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), 
KWAT(nonull), \
 KWAT(optional), KWAT(out), KWAT(private), KWAT(protected), KWAT(virtual), \
 KWAT(warn_unused), \
 \
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 0d45bd0..9673c03 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1276,7 +1276,8 @@ parse_property(Eo_Lexer *ls)
Eolian_Function *prop = NULL;
Eina_Bool has_get   = EINA_FALSE, has_set= EINA_FALSE,
  has_keys  = EINA_FALSE, has_values = EINA_FALSE,
- has_protected = EINA_FALSE, has_class  = EINA_FALSE;
+ has_protected = EINA_FALSE, has_class  = EINA_FALSE,
+ has_c_only= EINA_FALSE;
prop = calloc(1, sizeof(Eolian_Function));
prop-klass = ls-tmp.kls;
prop-type = EOLIAN_UNRESOLVED;
@@ -1299,6 +1300,11 @@ parse_property(Eo_Lexer *ls)
 prop-is_class = EINA_TRUE;
 eo_lexer_get(ls);
 break;
+  case KW_at_c_only:
+CASE_LOCK(ls, c_only, c_only qualifier);
+prop-is_c_only = EINA_TRUE;
+eo_lexer_get(ls);
+break;
   default:
 goto body;
  }
@@ -1340,14 +1346,14 @@ end:
 }
 
 static void
-parse_method(Eo_Lexer *ls, Eina_Bool ctor)
+parse_method(Eo_Lexer *ls)
 {
int line, col;
Eolian_Function *meth = NULL;
Eina_Bool has_const   = EINA_FALSE, has_params = EINA_FALSE,
  has_return  = EINA_FALSE, has_legacy = EINA_FALSE,
  has_protected   = EINA_FALSE, has_class  = EINA_FALSE,
- has_eo  = EINA_FALSE;
+ has_eo  = EINA_FALSE, has_c_only = EINA_FALSE;
meth = calloc(1, sizeof(Eolian_Function));
meth-klass = ls-tmp.kls;
meth-type = EOLIAN_METHOD;
@@ -1355,48 +1361,33 @@ parse_method(Eo_Lexer *ls, Eina_Bool ctor)
meth-base.line = ls-line_number;
meth-base.column = ls-column;
ls-tmp.kls-methods = eina_list_append(ls-tmp.kls-methods, meth);
-   if (ctor)
+   check(ls, TOK_VALUE);
+   meth-name = eina_stringshare_ref(ls-t.value.s);
+   eo_lexer_get(ls);
+   for (;;) switch (ls-t.kw)
  {
-if (ls-t.token != TOK_VALUE)
-  eo_lexer_syntax_error(ls, expected method name);
-meth-name = eina_stringshare_ref(ls-t.value.s);
+  case 

[EGIT] [core/efl] master 01/01: elua: support is_c_only in lualian

2014-12-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 67c693eff14fd78c74dc91efffc0c584998f80a9
Author: Daniel Kolesa d.kol...@samsung.com
Date:   Wed Dec 3 15:27:38 2014 +

elua: support is_c_only in lualian
---
 src/bin/elua/modules/lualian.lua | 4 ++--
 src/bindings/luajit/eolian.lua   | 5 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/bin/elua/modules/lualian.lua b/src/bin/elua/modules/lualian.lua
index 8d77094..85208e1 100644
--- a/src/bin/elua/modules/lualian.lua
+++ b/src/bin/elua/modules/lualian.lua
@@ -604,7 +604,7 @@ local gen_contents = function(klass)
 -- first try properties
 local props = klass:functions_get(ft.PROPERTY):to_array()
 for i, v in ipairs(props) do
-if v:scope_get() == eolian.object_scope.PUBLIC then
+if v:scope_get() == eolian.object_scope.PUBLIC and not v:is_c_only() 
then
 local ftype  = v:type_get()
 local fread  = (ftype == ft.PROPERTY or ftype == ft.PROP_GET)
 local fwrite = (ftype == ft.PROPERTY or ftype == ft.PROP_SET)
@@ -619,7 +619,7 @@ local gen_contents = function(klass)
 -- then methods
 local meths = klass:functions_get(ft.METHOD):to_array()
 for i, v in ipairs(meths) do
-if v:scope_get() == eolian.object_scope.PUBLIC then
+if v:scope_get() == eolian.object_scope.PUBLIC and not v:is_c_only() 
then
 cnt[#cnt + 1] = Method(v)
 end
 end
diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua
index d3c76aa..283f6f9 100644
--- a/src/bindings/luajit/eolian.lua
+++ b/src/bindings/luajit/eolian.lua
@@ -215,6 +215,7 @@ ffi.cdef [[
 Eina_Bool eolian_function_is_empty(const Eolian_Function *function_id, 
Eolian_Function_Type f_type);
 Eina_Bool eolian_function_is_legacy_only(const Eolian_Function 
*function_id, Eolian_Function_Type ftype);
 Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
+Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
 const Eolian_Function_Parameter 
*eolian_function_parameter_get_by_name(const Eolian_Function *function_id, 
const char *param_name);
 Eina_Iterator *eolian_property_keys_get(const Eolian_Function *foo_id);
 Eina_Iterator *eolian_property_values_get(const Eolian_Function *foo_id);
@@ -669,6 +670,10 @@ M.Function = ffi.metatype(Eolian_Function, {
 return eolian.eolian_function_is_class(self) ~= 0
 end,
 
+is_c_only = function(self)
+return eolian.eolian_function_is_c_only(self) ~= 0
+end,
+
 parameter_get_by_name = function(self, pname)
 local v = eolian.eolian_function_parameter_get_by_name(self, pname)
 if v == nil then return nil end

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Remove erroneous debug messages

2014-12-03 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 574919ef31b1193a29dc5bb2562193f8d214e509
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Dec 3 14:18:52 2014 -0500

ecore-drm: Remove erroneous debug messages

Summary: No real function changes, just some cleanup of old debug
messages

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/ecore_drm_dbus.c | 6 --
 1 file changed, 6 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_dbus.c 
b/src/lib/ecore_drm/ecore_drm_dbus.c
index 3db1e2d..222b5e9 100644
--- a/src/lib/ecore_drm/ecore_drm_dbus.c
+++ b/src/lib/ecore_drm/ecore_drm_dbus.c
@@ -35,8 +35,6 @@ _cb_session_removed(void *ctxt EINA_UNUSED, const 
Eldbus_Message *msg)
const char *errname, *errmsg;
const char *sid;
 
-   DBG(Session Removed);
-
if (eldbus_message_error_get(msg, errname, errmsg))
  {
 ERR(Eldbus Message Error: %s %s, errname, errmsg);
@@ -112,12 +110,8 @@ static void
 _cb_properties_changed(void *data EINA_UNUSED, Eldbus_Proxy *proxy 
EINA_UNUSED, void *event)
 {
Eldbus_Proxy_Event_Property_Changed *ev;
-   /* const Eina_Value *val; */
 
ev = event;
-   /* val = ev-value; */
-
-   DBG(Properties Changed: %s, ev-name);
 
if (!strcmp(ev-name, Active))
  {

-- 




[EGIT] [bindings/python/python-efl] python-efl-1.12 01/01: Fix elm.ObjectItem.part_content_set() to accept a generic EvasObject.

2014-12-03 Thread Dave Andreoli
davemds pushed a commit to branch python-efl-1.12.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=b3f6da16f282f50de589734dfb9bf744d2427e76

commit b3f6da16f282f50de589734dfb9bf744d2427e76
Author: Dave Andreoli d...@gurumeditation.it
Date:   Wed Dec 3 21:11:39 2014 +0100

Fix elm.ObjectItem.part_content_set() to accept a generic EvasObject.

...not only an elm object.
---
 efl/elementary/object_item.pyx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/efl/elementary/object_item.pyx b/efl/elementary/object_item.pyx
index 1e81dd6..eeea4d2 100644
--- a/efl/elementary/object_item.pyx
+++ b/efl/elementary/object_item.pyx
@@ -182,7 +182,7 @@ cdef class ObjectItem(object):
 def widget_get(self):
 return object_from_instance(elm_object_item_widget_get(self.item))
 
-def part_content_set(self, part, Object content not None):
+def part_content_set(self, part, evasObject content not None):
 Set a content of an object item
 
 This sets a new object to an item as a content object. If any object
@@ -241,7 +241,7 @@ cdef class ObjectItem(object):
 def __del__(self):
 elm_object_item_content_unset(self.item)
 
-def content_set(self, Object content not None):
+def content_set(self, evasObject content not None):
 elm_object_item_content_set(self.item, content.obj)
 def content_get(self):
 return object_from_instance(elm_object_item_content_get(self.item))

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Fix elm.ObjectItem.part_content_set() to accept a generic EvasObject.

2014-12-03 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=8fd9a0021e8518cf6ebe6413af39c04335e50253

commit 8fd9a0021e8518cf6ebe6413af39c04335e50253
Author: Dave Andreoli d...@gurumeditation.it
Date:   Wed Dec 3 21:11:39 2014 +0100

Fix elm.ObjectItem.part_content_set() to accept a generic EvasObject.

...not only an elm object.
---
 efl/elementary/object_item.pyx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/efl/elementary/object_item.pyx b/efl/elementary/object_item.pyx
index 1e81dd6..eeea4d2 100644
--- a/efl/elementary/object_item.pyx
+++ b/efl/elementary/object_item.pyx
@@ -182,7 +182,7 @@ cdef class ObjectItem(object):
 def widget_get(self):
 return object_from_instance(elm_object_item_widget_get(self.item))
 
-def part_content_set(self, part, Object content not None):
+def part_content_set(self, part, evasObject content not None):
 Set a content of an object item
 
 This sets a new object to an item as a content object. If any object
@@ -241,7 +241,7 @@ cdef class ObjectItem(object):
 def __del__(self):
 elm_object_item_content_unset(self.item)
 
-def content_set(self, Object content not None):
+def content_set(self, evasObject content not None):
 elm_object_item_content_set(self.item, content.obj)
 def content_get(self):
 return object_from_instance(elm_object_item_content_get(self.item))

-- 




[EGIT] [tools/edi] master 01/01: Extend config and use it to store window size and panel states.

2014-12-03 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=fc4c86fe5e50dcb52cbfdd9209449742c55b570f

commit fc4c86fe5e50dcb52cbfdd9209449742c55b570f
Author: Andy Williams a...@andywilliams.me
Date:   Wed Dec 3 17:52:12 2014 -0600

Extend config and use it to store window size and panel states.

Fixes T1856. Did not perform a config upgrade at this early stage - anyone 
caught in the update can just resize
---
 src/bin/edi_config.c |  18 ++
 src/bin/edi_config.h |   3 +
 src/bin/edi_main.c   | 151 ++-
 3 files changed, 146 insertions(+), 26 deletions(-)

diff --git a/src/bin/edi_config.c b/src/bin/edi_config.c
index 8068d43..1442f17 100644
--- a/src/bin/edi_config.c
+++ b/src/bin/edi_config.c
@@ -162,6 +162,13 @@ _edi_config_init(void)
EDI_CONFIG_VAL(D, T, version, EET_T_INT);
EDI_CONFIG_VAL(D, T, font.size, EET_T_INT);
EDI_CONFIG_VAL(D, T, gui.translucent, EET_T_UCHAR);
+   EDI_CONFIG_VAL(D, T, gui.width, EET_T_INT);
+   EDI_CONFIG_VAL(D, T, gui.height, EET_T_INT);
+   EDI_CONFIG_VAL(D, T, gui.leftsize, EET_T_DOUBLE);
+   EDI_CONFIG_VAL(D, T, gui.leftopen, EET_T_UCHAR);
+   EDI_CONFIG_VAL(D, T, gui.bottomsize, EET_T_DOUBLE);
+   EDI_CONFIG_VAL(D, T, gui.bottomopen, EET_T_UCHAR);
+   EDI_CONFIG_VAL(D, T, gui.bottomtab, EET_T_INT);
EDI_CONFIG_LIST(D, T, projects, _edi_cfg_proj_edd);
 
_edi_config_load();
@@ -223,11 +230,22 @@ _edi_config_load(void)
 
_edi_cfg-font.size = 12;
_edi_cfg-gui.translucent = EINA_TRUE;
+   _edi_cfg-gui.width = 560;
+   _edi_cfg-gui.height = 420;
+   _edi_cfg-gui.leftsize = 0.25;
+   _edi_cfg-gui.leftopen = EINA_TRUE;
+   _edi_cfg-gui.bottomsize = 0.2;
+   _edi_cfg-gui.bottomopen = EINA_FALSE;
+   _edi_cfg-gui.bottomtab = 0;
_edi_cfg-projects = NULL;
IFCFGEND;
 
/* limit config values so they are sane */
EDI_CONFIG_LIMIT(_edi_cfg-font.size, 8, 96);
+   EDI_CONFIG_LIMIT(_edi_cfg-gui.width, 150, 1);
+   EDI_CONFIG_LIMIT(_edi_cfg-gui.height, 100, 8000);
+   EDI_CONFIG_LIMIT(_edi_cfg-gui.leftsize, 0.0, 1.0);
+   EDI_CONFIG_LIMIT(_edi_cfg-gui.bottomsize, 0.0, 1.0);
 
_edi_cfg-version = EDI_CONFIG_FILE_VERSION;
 
diff --git a/src/bin/edi_config.h b/src/bin/edi_config.h
index e1f997f..8df697a 100644
--- a/src/bin/edi_config.h
+++ b/src/bin/edi_config.h
@@ -28,6 +28,9 @@ struct _Edi_Config
struct 
  {
 Eina_Bool translucent;
+int width, height, bottomtab;
+double leftsize, bottomsize;
+Eina_Bool leftopen, bottomopen;
  } gui;
 
Eina_List *projects;
diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c
index 7cd7d2a..69fa5e6 100644
--- a/src/bin/edi_main.c
+++ b/src/bin/edi_main.c
@@ -60,6 +60,52 @@ _edi_file_open_cb(const char *path, const char *type, 
Eina_Bool newwin)
  edi_mainview_open(options);
 }
 
+static Evas_Object *
+_edi_panel_tab_for_index(int index)
+{
+   if (index == 1)
+ return _edi_consolepanel;
+   if (index == 2)
+ return _edi_testpanel;
+
+   return _edi_logpanel;
+}
+
+static void
+_edi_panel_size_save(Eina_Bool left)
+{
+   double size;
+   Eina_Bool open;
+
+   if (left)
+ size = elm_panes_content_left_size_get(_edi_leftpanes);
+   else
+ size = elm_panes_content_right_size_get(_edi_bottompanes);
+   open = (size != 0.0);
+
+   if (left)
+ {
+_edi_cfg-gui.leftopen = open;
+if (open)
+  _edi_cfg-gui.leftsize = size;
+ }
+   else
+ {
+_edi_cfg-gui.bottomopen = open;
+if (open)
+  _edi_cfg-gui.bottomsize = size;
+ }
+
+   _edi_config_save();
+}
+
+static void
+_edi_panel_save_tab(int index)
+{
+   _edi_cfg-gui.bottomtab = index;
+   _edi_config_save();
+}
+
 static void
 _edi_slide_panel(Elm_Transit_Effect *effect, Elm_Transit *transit, double 
progress)
 {
@@ -100,6 +146,8 @@ _edi_slide_panel_free(Elm_Transit_Effect *effect, 
Elm_Transit *transit EINA_UNUS
if (!slide-expand)
  evas_object_hide(slide-content);
free(slide);
+
+   _edi_panel_size_save(slide-left);
 }
 
 static void
@@ -139,40 +187,39 @@ _edi_toggle_file_panel(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_inf
if (size == 0.0)
  {
 elm_icon_standard_set(_edi_filepanel_icon, stock_left);
-_edi_slide_panel_new(_edi_leftpanes, panel, 0.25, EINA_TRUE, 
EINA_TRUE);
+_edi_slide_panel_new(_edi_leftpanes, panel, _edi_cfg-gui.leftsize, 
EINA_TRUE, EINA_TRUE);
  }
else
  {
 elm_icon_standard_set(_edi_filepanel_icon, stock_right);
-_edi_slide_panel_new(_edi_leftpanes, panel, 0.25, EINA_FALSE, 
EINA_TRUE);
+_edi_slide_panel_new(_edi_leftpanes, panel, _edi_cfg-gui.leftsize, 
EINA_FALSE, EINA_TRUE);
  }
 }
 
 static void
 _edi_toggle_panel(void *data, Evas_Object *obj, void *event_info)
 {
+   int index, c;
double size;
Elm_Object_Item *item;
Evas_Object *panel;
 
-   panel = (Evas_Object *) data;
+   index = atoi((char *) data);
+   

Re: [E-devel] [EGIT] [core/efl] master 01/02: eolian: add eolian_function_is_c_only

2014-12-03 Thread Daniel Zaoui
Yo D5,

Just for the curiosity, do you have a scenario where we need this?

D2

On 12/03/14 17:07, Daniel Kolesa wrote:
 q66 pushed a commit to branch master.

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

 commit 49aebd063e9a9bebac9ff5d7a9e3ecf7a70712cd
 Author: Daniel Kolesa d.kol...@samsung.com
 Date:   Wed Dec 3 14:59:24 2014 +

 eolian: add eolian_function_is_c_only
 
 This function allows us to mark functions that are not bindable.
 Also remove some obsolete code.
 ---
  src/lib/eolian/Eolian.h| 10 +
  src/lib/eolian/database_function_api.c |  7 
  src/lib/eolian/eo_lexer.h  |  4 +-
  src/lib/eolian/eo_parser.c | 77 
 +++---
  src/lib/eolian/eolian_database.h   |  1 +
  5 files changed, 54 insertions(+), 45 deletions(-)

 diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
 index 42e41c7..9464cdf 100644
 --- a/src/lib/eolian/Eolian.h
 +++ b/src/lib/eolian/Eolian.h
 @@ -874,6 +874,16 @@ EAPI Eina_Bool eolian_function_is_legacy_only(const 
 Eolian_Function *function_id
  EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
  
  /*
 + * @brief Get whether a function is C only (i.e. not bindable).
 + *
 + * @param[in] function_id Id of the function
 + * @return EINA_TRUE and EINA_FALSE respectively
 + *
 + * @ingroup Eolian
 + */
 +EAPI Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
 +
 +/*
   * @brief Indicates if a function is a constructing function of a given 
 class.
   *
   * @param[in] klass the class
 diff --git a/src/lib/eolian/database_function_api.c 
 b/src/lib/eolian/database_function_api.c
 index 000dda6..266ae54 100644
 --- a/src/lib/eolian/database_function_api.c
 +++ b/src/lib/eolian/database_function_api.c
 @@ -249,3 +249,10 @@ eolian_function_object_is_const(const Eolian_Function 
 *fid)
 EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
 return fid-obj_is_const;
  }
 +
 +EAPI Eina_Bool
 +eolian_function_is_c_only(const Eolian_Function *fid)
 +{
 +   EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
 +   return fid-is_c_only;
 +}
 diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
 index 120e97a..eb1ca97 100644
 --- a/src/lib/eolian/eo_lexer.h
 +++ b/src/lib/eolian/eo_lexer.h
 @@ -29,8 +29,8 @@ enum Tokens
  KW(get), KW(implements), KW(interface), KW(keys), KW(legacy), \
  KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), \
  KW(properties), KW(set), KW(type), KW(values), KW(var), KWAT(auto), \
 -KWAT(class), KWAT(const), KWAT(const_get), KWAT(const_set), KWAT(empty), 
 \
 -KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), KWAT(nonull), \
 +KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), 
 KWAT(const_set), \
 +KWAT(empty), KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), 
 KWAT(nonull), \
  KWAT(optional), KWAT(out), KWAT(private), KWAT(protected), 
 KWAT(virtual), \
  KWAT(warn_unused), \
  \
 diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
 index 0d45bd0..9673c03 100644
 --- a/src/lib/eolian/eo_parser.c
 +++ b/src/lib/eolian/eo_parser.c
 @@ -1276,7 +1276,8 @@ parse_property(Eo_Lexer *ls)
 Eolian_Function *prop = NULL;
 Eina_Bool has_get   = EINA_FALSE, has_set= EINA_FALSE,
   has_keys  = EINA_FALSE, has_values = EINA_FALSE,
 - has_protected = EINA_FALSE, has_class  = EINA_FALSE;
 + has_protected = EINA_FALSE, has_class  = EINA_FALSE,
 + has_c_only= EINA_FALSE;
 prop = calloc(1, sizeof(Eolian_Function));
 prop-klass = ls-tmp.kls;
 prop-type = EOLIAN_UNRESOLVED;
 @@ -1299,6 +1300,11 @@ parse_property(Eo_Lexer *ls)
  prop-is_class = EINA_TRUE;
  eo_lexer_get(ls);
  break;
 +  case KW_at_c_only:
 +CASE_LOCK(ls, c_only, c_only qualifier);
 +prop-is_c_only = EINA_TRUE;
 +eo_lexer_get(ls);
 +break;
default:
  goto body;
   }
 @@ -1340,14 +1346,14 @@ end:
  }
  
  static void
 -parse_method(Eo_Lexer *ls, Eina_Bool ctor)
 +parse_method(Eo_Lexer *ls)
  {
 int line, col;
 Eolian_Function *meth = NULL;
 Eina_Bool has_const   = EINA_FALSE, has_params = EINA_FALSE,
   has_return  = EINA_FALSE, has_legacy = EINA_FALSE,
   has_protected   = EINA_FALSE, has_class  = EINA_FALSE,
 - has_eo  = EINA_FALSE;
 + has_eo  = EINA_FALSE, has_c_only = EINA_FALSE;
 meth = calloc(1, sizeof(Eolian_Function));
 meth-klass = ls-tmp.kls;
 meth-type = EOLIAN_METHOD;
 @@ -1355,48 +1361,33 @@ parse_method(Eo_Lexer *ls, Eina_Bool ctor)
 meth-base.line = ls-line_number;
 meth-base.column = ls-column;
 ls-tmp.kls-methods = eina_list_append(ls-tmp.kls-methods, meth);
 -   if (ctor)
 +   check(ls, TOK_VALUE);
 +   meth-name = 

[E-devel] New developer

2014-12-03 Thread Cedric BAIL
Hello,

I would like to give Jean Guyomarc'h jean.guyoma...@gmail.com a
developer access. He has been taking care of porting and maintaining
EFL on Mac OS X actively for some time already and it is by now just a
burden on me to review his work with not much comment to do. I trust
him to actually do the right thing and continue maintaining EFL and if
he ever start poking at other place in EFL to ask question when
necessary.

Any objection ?

Have fun,
-- 
Cedric BAIL

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] New developer

2014-12-03 Thread Daniel Kolesa
2014-12-04 2:35 GMT+00:00 Cedric BAIL cedric.b...@free.fr:
 Hello,

 I would like to give Jean Guyomarc'h jean.guyoma...@gmail.com a
 developer access. He has been taking care of porting and maintaining
 EFL on Mac OS X actively for some time already and it is by now just a
 burden on me to review his work with not much comment to do. I trust
 him to actually do the right thing and continue maintaining EFL and if
 he ever start poking at other place in EFL to ask question when
 necessary.

I've seen him contributing, no objections

I support everyone who wants to expand platform coverage.


 Any objection ?

 Have fun,
 --
 Cedric BAIL

 --
 Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
 from Actuate! Instantly Supercharge Your Business Reports and Dashboards
 with Interactivity, Sharing, Native Excel Exports, App Integration  more
 Get technology previously reserved for billion-dollar corporations, FREE
 http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

D5

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: eolian: add eolian_function_is_c_only

2014-12-03 Thread Daniel Kolesa
2014-12-04 1:16 GMT+00:00 Daniel Zaoui daniel.za...@samsung.com:
 Yo D5,

 Just for the curiosity, do you have a scenario where we need this?


Yeah. We found some yesterday with Tom

 D2

 On 12/03/14 17:07, Daniel Kolesa wrote:
 q66 pushed a commit to branch master.

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

 commit 49aebd063e9a9bebac9ff5d7a9e3ecf7a70712cd
 Author: Daniel Kolesa d.kol...@samsung.com
 Date:   Wed Dec 3 14:59:24 2014 +

 eolian: add eolian_function_is_c_only

 This function allows us to mark functions that are not bindable.
 Also remove some obsolete code.
 ---
  src/lib/eolian/Eolian.h| 10 +
  src/lib/eolian/database_function_api.c |  7 
  src/lib/eolian/eo_lexer.h  |  4 +-
  src/lib/eolian/eo_parser.c | 77 
 +++---
  src/lib/eolian/eolian_database.h   |  1 +
  5 files changed, 54 insertions(+), 45 deletions(-)

 diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
 index 42e41c7..9464cdf 100644
 --- a/src/lib/eolian/Eolian.h
 +++ b/src/lib/eolian/Eolian.h
 @@ -874,6 +874,16 @@ EAPI Eina_Bool eolian_function_is_legacy_only(const 
 Eolian_Function *function_id
  EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);

  /*
 + * @brief Get whether a function is C only (i.e. not bindable).
 + *
 + * @param[in] function_id Id of the function
 + * @return EINA_TRUE and EINA_FALSE respectively
 + *
 + * @ingroup Eolian
 + */
 +EAPI Eina_Bool eolian_function_is_c_only(const Eolian_Function 
 *function_id);
 +
 +/*
   * @brief Indicates if a function is a constructing function of a given 
 class.
   *
   * @param[in] klass the class
 diff --git a/src/lib/eolian/database_function_api.c 
 b/src/lib/eolian/database_function_api.c
 index 000dda6..266ae54 100644
 --- a/src/lib/eolian/database_function_api.c
 +++ b/src/lib/eolian/database_function_api.c
 @@ -249,3 +249,10 @@ eolian_function_object_is_const(const Eolian_Function 
 *fid)
 EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
 return fid-obj_is_const;
  }
 +
 +EAPI Eina_Bool
 +eolian_function_is_c_only(const Eolian_Function *fid)
 +{
 +   EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
 +   return fid-is_c_only;
 +}
 diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
 index 120e97a..eb1ca97 100644
 --- a/src/lib/eolian/eo_lexer.h
 +++ b/src/lib/eolian/eo_lexer.h
 @@ -29,8 +29,8 @@ enum Tokens
  KW(get), KW(implements), KW(interface), KW(keys), KW(legacy), \
  KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), \
  KW(properties), KW(set), KW(type), KW(values), KW(var), KWAT(auto), \
 -KWAT(class), KWAT(const), KWAT(const_get), KWAT(const_set), 
 KWAT(empty), \
 -KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), KWAT(nonull), \
 +KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), 
 KWAT(const_set), \
 +KWAT(empty), KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), 
 KWAT(nonull), \
  KWAT(optional), KWAT(out), KWAT(private), KWAT(protected), 
 KWAT(virtual), \
  KWAT(warn_unused), \
  \
 diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
 index 0d45bd0..9673c03 100644
 --- a/src/lib/eolian/eo_parser.c
 +++ b/src/lib/eolian/eo_parser.c
 @@ -1276,7 +1276,8 @@ parse_property(Eo_Lexer *ls)
 Eolian_Function *prop = NULL;
 Eina_Bool has_get   = EINA_FALSE, has_set= EINA_FALSE,
   has_keys  = EINA_FALSE, has_values = EINA_FALSE,
 - has_protected = EINA_FALSE, has_class  = EINA_FALSE;
 + has_protected = EINA_FALSE, has_class  = EINA_FALSE,
 + has_c_only= EINA_FALSE;
 prop = calloc(1, sizeof(Eolian_Function));
 prop-klass = ls-tmp.kls;
 prop-type = EOLIAN_UNRESOLVED;
 @@ -1299,6 +1300,11 @@ parse_property(Eo_Lexer *ls)
  prop-is_class = EINA_TRUE;
  eo_lexer_get(ls);
  break;
 +  case KW_at_c_only:
 +CASE_LOCK(ls, c_only, c_only qualifier);
 +prop-is_c_only = EINA_TRUE;
 +eo_lexer_get(ls);
 +break;
default:
  goto body;
   }
 @@ -1340,14 +1346,14 @@ end:
  }

  static void
 -parse_method(Eo_Lexer *ls, Eina_Bool ctor)
 +parse_method(Eo_Lexer *ls)
  {
 int line, col;
 Eolian_Function *meth = NULL;
 Eina_Bool has_const   = EINA_FALSE, has_params = EINA_FALSE,
   has_return  = EINA_FALSE, has_legacy = EINA_FALSE,
   has_protected   = EINA_FALSE, has_class  = EINA_FALSE,
 - has_eo  = EINA_FALSE;
 + has_eo  = EINA_FALSE, has_c_only = EINA_FALSE;
 meth = calloc(1, sizeof(Eolian_Function));
 meth-klass = ls-tmp.kls;
 meth-type = EOLIAN_METHOD;
 @@ -1355,48 +1361,33 @@ parse_method(Eo_Lexer *ls, Eina_Bool ctor)
 meth-base.line = ls-line_number;
 meth-base.column = ls-column;
 ls-tmp.kls-methods = 

Re: [E-devel] [EGIT] [core/efl] master 01/02: eolian: add eolian_function_is_c_only

2014-12-03 Thread Daniel Zaoui
On 12/04/14 04:40, Daniel Kolesa wrote:
 2014-12-04 1:16 GMT+00:00 Daniel Zaoui daniel.za...@samsung.com:
 Yo D5,

 Just for the curiosity, do you have a scenario where we need this?

 Yeah. We found some yesterday with Tom

Hum... My question was not good :-)

Could you share a scenario where we need this? :P


 D2

 On 12/03/14 17:07, Daniel Kolesa wrote:
 q66 pushed a commit to branch master.

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

 commit 49aebd063e9a9bebac9ff5d7a9e3ecf7a70712cd
 Author: Daniel Kolesa d.kol...@samsung.com
 Date:   Wed Dec 3 14:59:24 2014 +

 eolian: add eolian_function_is_c_only

 This function allows us to mark functions that are not bindable.
 Also remove some obsolete code.
 ---
  src/lib/eolian/Eolian.h| 10 +
  src/lib/eolian/database_function_api.c |  7 
  src/lib/eolian/eo_lexer.h  |  4 +-
  src/lib/eolian/eo_parser.c | 77 
 +++---
  src/lib/eolian/eolian_database.h   |  1 +
  5 files changed, 54 insertions(+), 45 deletions(-)

 diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
 index 42e41c7..9464cdf 100644
 --- a/src/lib/eolian/Eolian.h
 +++ b/src/lib/eolian/Eolian.h
 @@ -874,6 +874,16 @@ EAPI Eina_Bool eolian_function_is_legacy_only(const 
 Eolian_Function *function_id
  EAPI Eina_Bool eolian_function_is_class(const Eolian_Function 
 *function_id);

  /*
 + * @brief Get whether a function is C only (i.e. not bindable).
 + *
 + * @param[in] function_id Id of the function
 + * @return EINA_TRUE and EINA_FALSE respectively
 + *
 + * @ingroup Eolian
 + */
 +EAPI Eina_Bool eolian_function_is_c_only(const Eolian_Function 
 *function_id);
 +
 +/*
   * @brief Indicates if a function is a constructing function of a given 
 class.
   *
   * @param[in] klass the class
 diff --git a/src/lib/eolian/database_function_api.c 
 b/src/lib/eolian/database_function_api.c
 index 000dda6..266ae54 100644
 --- a/src/lib/eolian/database_function_api.c
 +++ b/src/lib/eolian/database_function_api.c
 @@ -249,3 +249,10 @@ eolian_function_object_is_const(const Eolian_Function 
 *fid)
 EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
 return fid-obj_is_const;
  }
 +
 +EAPI Eina_Bool
 +eolian_function_is_c_only(const Eolian_Function *fid)
 +{
 +   EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
 +   return fid-is_c_only;
 +}
 diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
 index 120e97a..eb1ca97 100644
 --- a/src/lib/eolian/eo_lexer.h
 +++ b/src/lib/eolian/eo_lexer.h
 @@ -29,8 +29,8 @@ enum Tokens
  KW(get), KW(implements), KW(interface), KW(keys), KW(legacy), \
  KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), \
  KW(properties), KW(set), KW(type), KW(values), KW(var), KWAT(auto), \
 -KWAT(class), KWAT(const), KWAT(const_get), KWAT(const_set), 
 KWAT(empty), \
 -KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), KWAT(nonull), \
 +KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), 
 KWAT(const_set), \
 +KWAT(empty), KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), 
 KWAT(nonull), \
  KWAT(optional), KWAT(out), KWAT(private), KWAT(protected), 
 KWAT(virtual), \
  KWAT(warn_unused), \
  \
 diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
 index 0d45bd0..9673c03 100644
 --- a/src/lib/eolian/eo_parser.c
 +++ b/src/lib/eolian/eo_parser.c
 @@ -1276,7 +1276,8 @@ parse_property(Eo_Lexer *ls)
 Eolian_Function *prop = NULL;
 Eina_Bool has_get   = EINA_FALSE, has_set= EINA_FALSE,
   has_keys  = EINA_FALSE, has_values = EINA_FALSE,
 - has_protected = EINA_FALSE, has_class  = EINA_FALSE;
 + has_protected = EINA_FALSE, has_class  = EINA_FALSE,
 + has_c_only= EINA_FALSE;
 prop = calloc(1, sizeof(Eolian_Function));
 prop-klass = ls-tmp.kls;
 prop-type = EOLIAN_UNRESOLVED;
 @@ -1299,6 +1300,11 @@ parse_property(Eo_Lexer *ls)
  prop-is_class = EINA_TRUE;
  eo_lexer_get(ls);
  break;
 +  case KW_at_c_only:
 +CASE_LOCK(ls, c_only, c_only qualifier);
 +prop-is_c_only = EINA_TRUE;
 +eo_lexer_get(ls);
 +break;
default:
  goto body;
   }
 @@ -1340,14 +1346,14 @@ end:
  }

  static void
 -parse_method(Eo_Lexer *ls, Eina_Bool ctor)
 +parse_method(Eo_Lexer *ls)
  {
 int line, col;
 Eolian_Function *meth = NULL;
 Eina_Bool has_const   = EINA_FALSE, has_params = EINA_FALSE,
   has_return  = EINA_FALSE, has_legacy = EINA_FALSE,
   has_protected   = EINA_FALSE, has_class  = EINA_FALSE,
 - has_eo  = EINA_FALSE;
 + has_eo  = EINA_FALSE, has_c_only = EINA_FALSE;
 meth = calloc(1, sizeof(Eolian_Function));
 meth-klass = ls-tmp.kls;
 meth-type = EOLIAN_METHOD;
 @@ -1355,48 +1361,33 @@ parse_method(Eo_Lexer *ls, 

Re: [E-devel] [EGIT] [core/efl] master 01/02: eolian: add eolian_function_is_c_only

2014-12-03 Thread Cedric BAIL
On Thu, Dec 4, 2014 at 3:40 AM, Daniel Kolesa quake...@gmail.com wrote:
 2014-12-04 1:16 GMT+00:00 Daniel Zaoui daniel.za...@samsung.com:
 Yo D5,

 Just for the curiosity, do you have a scenario where we need this?


 Yeah. We found some yesterday with Tom

Please expand :-) I was under the impression that we could just have
had an explicit list of glob per binding that would have been updated
for them specifically. So I am also wondering what you guys are
thinking ... Well for Tom, not sure I want to know :-D
-- 
Cedric BAIL

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: eolian: add eolian_function_is_c_only

2014-12-03 Thread Daniel Zaoui
On 12/04/14 05:14, Cedric BAIL wrote:
 On Thu, Dec 4, 2014 at 3:40 AM, Daniel Kolesa quake...@gmail.com wrote:
 2014-12-04 1:16 GMT+00:00 Daniel Zaoui daniel.za...@samsung.com:
 Yo D5,

 Just for the curiosity, do you have a scenario where we need this?

 Yeah. We found some yesterday with Tom
 Please expand :-) I was under the impression that we could just have
 had an explicit list of glob per binding that would have been updated
 for them specifically. So I am also wondering what you guys are
 thinking ... Well for Tom, not sure I want to know :-D

Man, don't irritate a British (= drunk) boy in the morning, it could be
the end of your life!!!



--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas - gif loader - fix technically wrong sizeof (doesnt cause a bug)

2014-12-03 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 83512198b893845b25c4f5afd49dbea945809ead
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Thu Dec 4 16:03:32 2014 +0900

evas - gif loader - fix technically wrong sizeof (doesnt cause a bug)

go from sizeof(char **) to sizeof(char *) ... effectively. so no real bug.
---
 src/modules/evas/loaders/gif/evas_image_load_gif.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/modules/evas/loaders/gif/evas_image_load_gif.c 
b/src/modules/evas/loaders/gif/evas_image_load_gif.c
index e62bf9e..acdf5ab 100644
--- a/src/modules/evas/loaders/gif/evas_image_load_gif.c
+++ b/src/modules/evas/loaders/gif/evas_image_load_gif.c
@@ -211,16 +211,16 @@ _decode_image(GifFileType *gif, DATA32 *data, int rowpix, 
int xin, int yin,
 
// build a blob of memory to have pointers to rows of pixels
// AND store the decoded gif pixels (1 byte per pixel) as welll
-   rows = malloc((h * sizeof(GifRowType *)) + (w * h * sizeof(GifPixelType)));
+   rows = malloc((h * sizeof(GifRowType)) + (w * h * sizeof(GifPixelType)));
if (!rows) goto on_error;
-   
+
// fill in the pointers at the start
for (yy = 0; yy  h; yy++)
  {
-rows[yy] = ((unsigned char *)rows) + (h * sizeof(GifRowType *)) +
+rows[yy] = ((unsigned char *)rows) + (h * sizeof(GifRowType)) +
   (yy * w * sizeof(GifPixelType));
  }
-   
+
// if give is interlaced, walk interlace pattern and decode into rows
if (gif-Image.Interlace)
  {

-- 




Re: [E-devel] New developer

2014-12-03 Thread Raoul Hecky
+1 for me too. He is doing great work.

--
Raoul Hecky

2014-12-04 3:39 GMT+01:00 Daniel Kolesa quake...@gmail.com:

 2014-12-04 2:35 GMT+00:00 Cedric BAIL cedric.b...@free.fr:
  Hello,
 
  I would like to give Jean Guyomarc'h jean.guyoma...@gmail.com a
  developer access. He has been taking care of porting and maintaining
  EFL on Mac OS X actively for some time already and it is by now just a
  burden on me to review his work with not much comment to do. I trust
  him to actually do the right thing and continue maintaining EFL and if
  he ever start poking at other place in EFL to ask question when
  necessary.

 I've seen him contributing, no objections

 I support everyone who wants to expand platform coverage.

 
  Any objection ?
 
  Have fun,
  --
  Cedric BAIL
 
 
 --
  Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
  from Actuate! Instantly Supercharge Your Business Reports and Dashboards
  with Interactivity, Sharing, Native Excel Exports, App Integration  more
  Get technology previously reserved for billion-dollar corporations, FREE
 
 http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

 D5


 --
 Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
 from Actuate! Instantly Supercharge Your Business Reports and Dashboards
 with Interactivity, Sharing, Native Excel Exports, App Integration  more
 Get technology previously reserved for billion-dollar corporations, FREE

 http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel