Imported Upstream version 1.7.3 upstream/1.7.3
authorAnas Nashif <anas.nashif@intel.com>
Sun, 9 Dec 2012 16:42:42 +0000 (08:42 -0800)
committerAnas Nashif <anas.nashif@intel.com>
Sun, 9 Dec 2012 16:42:42 +0000 (08:42 -0800)
ChangeLog
NEWS
configure
configure.ac
evas.spec
src/lib/canvas/evas_async_events.c
src/lib/canvas/evas_object_box.c
src/lib/engines/common/evas_text_utils.c

index 79f7277..ee0f391 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
         * Fixed leak in textblock and text props in general that made
         textblock recalcs lead very badly. Required changed to textgrid
         though a sit relied on the leaky behavior.
-        
 
 2012-11-22  Sung W. Park (sung_)
 
-        * Fixed a bug where if an image object rendered using Evas GL 
+        * Fixed a bug where if an image object rendered using Evas GL
         direct rendering and then another image object using Native
         Surface rendering, there was a potential for it to fall into
         the same direct rendering path.
 
-2012-11-23 Luis Felipe Strano Moraes
+2012-11-23  Luis Felipe Strano Moraes
 
         1.7.2 release
 
+2012-11-29  Cedric Bail
+
+       * Only unreference font when text is not used anymore.
+
+2012-11-30  Gustavo Sverzut Barbieri (k-s)
+
+       * Fix evas_object_box.c to properly reset size_hint_min to zero if
+       there are no objects packed into the box.
+
+2012-12-07  Cedric Bail
+
+       * Don't leak fd on exec.
+
+2012-12-07  Luis Felipe Strano Moraes
+
+       * Release 1.7.3
diff --git a/NEWS b/NEWS
index 7f4ee36..30f2df7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,11 @@
-Evas 1.7.2
+Evas 1.7.3
+
+Changes since Evas 1.7.2
+-------------------------
+
+Fixes:
+   * Fixed evas_object_box to reset size_hint_min to zero when no child.
+   * Don't leak fd on exec.
 
 Changes since Evas 1.7.1
 -------------------------
index a3bdbeb..fdcf524 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for evas 1.7.2.
+# Generated by GNU Autoconf 2.68 for evas 1.7.3.
 #
 # Report bugs to <enlightenment-devel@lists.sourceforge.net>.
 #
@@ -570,8 +570,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='evas'
 PACKAGE_TARNAME='evas'
-PACKAGE_VERSION='1.7.2'
-PACKAGE_STRING='evas 1.7.2'
+PACKAGE_VERSION='1.7.3'
+PACKAGE_STRING='evas 1.7.3'
 PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1808,7 +1808,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures evas 1.7.2 to adapt to many kinds of systems.
+\`configure' configures evas 1.7.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1882,7 +1882,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of evas 1.7.2:";;
+     short | recursive ) echo "Configuration of evas 1.7.3:";;
    esac
   cat <<\_ACEOF
 
@@ -2253,7 +2253,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-evas configure 1.7.2
+evas configure 1.7.3
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -3105,7 +3105,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by evas $as_me 1.7.2, which was
+It was created by evas $as_me 1.7.3, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -3929,7 +3929,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='evas'
- VERSION='1.7.2'
+ VERSION='1.7.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12963,7 +12963,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define VMIC 2
+#define VMIC 3
 _ACEOF
 
 
@@ -12971,7 +12971,7 @@ cat >>confdefs.h <<_ACEOF
 #define VREV 0
 _ACEOF
 
-version_info="8:2:7"
+version_info="8:3:7"
 release_info=""
 
 
@@ -12990,7 +12990,7 @@ case "$host_os" in
       MODULE_ARCH="$host_os-$host_cpu"
       ;;
    *)
-      MODULE_ARCH="$host_os-$host_cpu-1.7.2"
+      MODULE_ARCH="$host_os-$host_cpu-1.7.3"
       ;;
 esac
 
@@ -34324,7 +34324,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by evas $as_me 1.7.2, which was
+This file was extended by evas $as_me 1.7.3, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -34390,7 +34390,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-evas config.status 1.7.2
+evas config.status 1.7.3
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
index 9afd1dd..e996b77 100644 (file)
@@ -2,7 +2,7 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [1])
 m4_define([v_min], [7])
-m4_define([v_mic], [2])
+m4_define([v_mic], [3])
 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
 ##--   When released, remove the dnl on the below line
index 560e4d5..f7c80e6 100644 (file)
--- a/evas.spec
+++ b/evas.spec
@@ -85,7 +85,7 @@
 
 Summary: Multi-platform Canvas Library
 Name: evas
-Version: 1.7.2
+Version: 1.7.3
 Release: %{_rel}
 License: BSD
 Group: System Environment/Libraries
index 1002d3d..3f9fbd7 100644 (file)
@@ -33,6 +33,26 @@ struct _Evas_Event_Async
    Evas_Callback_Type       type;
 };
 
+Eina_Bool
+_evas_fd_close_on_exec(int fd)
+{
+#ifdef HAVE_EXECVP
+   int flags;
+
+   flags = fcntl(fd, F_GETFD);
+   if (flags == -1)
+     return EINA_FALSE;
+
+   flags |= FD_CLOEXEC;
+   if (fcntl(fd, F_SETFD, flags) == -1)
+     return EINA_FALSE;
+   return EINA_TRUE;
+#else
+   (void) fd;
+   return EINA_FALSE;
+#endif
+}
+
 int
 evas_async_events_init(void)
 {
@@ -49,6 +69,9 @@ evas_async_events_init(void)
        return 0;
      }
 
+   _evas_fd_close_on_exec(filedes[0]);
+   _evas_fd_close_on_exec(filedes[1]);
+
    _fd_read = filedes[0];
    _fd_write = filedes[1];
 
index f36864f..74baa88 100644 (file)
@@ -760,11 +760,17 @@ evas_object_box_layout_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, vo
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    objects = (Evas_Object_Box_Option **)alloca(sizeof(Evas_Object_Box_Option *) * n_children);
    if (!objects)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
    global_pad = priv->pad.h;
@@ -918,11 +924,17 @@ evas_object_box_layout_vertical(Evas_Object *o, Evas_Object_Box_Data *priv, void
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    objects = (Evas_Object_Box_Option **)alloca(sizeof(Evas_Object_Box_Option *) * n_children);
    if (!objects)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
    global_pad = priv->pad.v;
@@ -1020,7 +1032,10 @@ evas_object_box_layout_homogeneous_horizontal(Evas_Object *o, Evas_Object_Box_Da
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
 
@@ -1081,7 +1096,10 @@ evas_object_box_layout_homogeneous_vertical(Evas_Object *o, Evas_Object_Box_Data
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
 
@@ -1142,7 +1160,10 @@ evas_object_box_layout_homogeneous_max_size_horizontal(Evas_Object *o, Evas_Obje
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
 
@@ -1226,7 +1247,10 @@ evas_object_box_layout_homogeneous_max_size_vertical(Evas_Object *o, Evas_Object
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
 
@@ -1378,7 +1402,10 @@ evas_object_box_layout_flow_horizontal(Evas_Object *o, Evas_Object_Box_Data *pri
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    /* *per row* arrays */
    row_max_h = (int *)alloca(sizeof(int) * n_children);
@@ -1552,7 +1579,10 @@ evas_object_box_layout_flow_vertical(Evas_Object *o, Evas_Object_Box_Data *priv,
 
    n_children = eina_list_count(priv->children);
    if (!n_children)
-     return;
+     {
+        evas_object_size_hint_min_set(o, 0, 0);
+        return;
+     }
 
    /* *per col* arrays */
    col_max_w = (int *)alloca(sizeof(int) * n_children);
index 7abf07f..5dd3e13 100644 (file)
@@ -60,14 +60,14 @@ evas_common_text_props_content_nofree_unref(Evas_Text_Props *props)
    if (!props->info)
       return;
 
-   if (props->font_instance)
-     {
-        evas_common_font_int_unref(props->font_instance);
-        props->font_instance = NULL;
-     }
-
    if (--(props->info->refcount) == 0)
      {
+        if (props->font_instance)
+          {
+             evas_common_font_int_unref(props->font_instance);
+             props->font_instance = NULL;
+          }
+
         free(props->glyphs);
         props->glyphs = NULL;
         props->glyphs_length = 0;
@@ -90,18 +90,18 @@ evas_common_text_props_content_unref(Evas_Text_Props *props)
    if (!props->info)
       return;
 
-   if (props->font_instance)
-     {
-        evas_common_font_int_unref(props->font_instance);
-        props->font_instance = NULL;
-     }
-   
    free(props->glyphs);
    props->glyphs = NULL;
    props->glyphs_length = 0;
 
    if (--(props->info->refcount) == 0)
      {
+        if (props->font_instance)
+          {
+             evas_common_font_int_unref(props->font_instance);
+             props->font_instance = NULL;
+          }
+   
         if (props->info->glyph)
           free(props->info->glyph);
 #ifdef OT_SUPPORT