[Pkg-e-commits] [SCM] Core abstraction layer for enlightenment DR 0.17 branch, new-svn-snapshot, updated. 0.9.9.050+svn20081201-1-2552-g7d554c2
Albin Tonnerre
albin.tonnerre at gmail.com
Mon Aug 3 16:55:48 UTC 2009
The following commit has been merged in the new-svn-snapshot branch:
commit 63ce2f6a70b7ab7b7b1129fe573ba4a7f062119a
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date: Sun Aug 2 18:21:38 2009 +0200
Import upstream release 0.9.9.062
diff --git a/AUTHORS b/AUTHORS
index d13c2f2..dc97f60 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -23,3 +23,6 @@ Tim Horton <hortont424 at gmail.com>
Arnaud de Turckheim 'quarium' <quarium at gmail.com>
Matt Barclay <mbarclay at gmail.com>
Peter Wehrfritz <peter.wehrfritz at web.de>
+Albin "Lutin" Tonnerre <albin.tonnerre at gmail.com>
+Vincent Torri <vincent.torri at gmail.com>
+Lars Munch <lars at segv.dk>
diff --git a/README b/README
index 75e659f..787af54 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Ecore 0.9.9.061
+Ecore 0.9.9.062
Requirements:
-------------
@@ -31,7 +31,7 @@ BUILDING PACKAGES:
RPM: To build rpm packages:
- sudo rpm -ta ecore-0.9.9.061.tar.gz
+ sudo rpm -ta ecore-0.9.9.062.tar.gz
You will find rpm packages in your system /usr/src/redhat/* dirs (note you may
not need to use sudo or root if you have your own ~/.rpmrc. see rpm documents
@@ -39,11 +39,11 @@ for more details)
DEB: To build deb packages:
- tar zvf ecore-0.9.9.061.tar.gz
- cd ecore-0.9.9.061
+ tar zvf ecore-0.9.9.062.tar.gz
+ cd ecore-0.9.9.062
dpkg-buildpackage -us -uc -rfakeroot
cd ..
- rm -rf ecore-0.9.9.061
+ rm -rf ecore-0.9.9.062
You will find all the debian source, binary etc. packages put in the directory
where you first untarred the source tarball.
diff --git a/config.h.in b/config.h.in
index 0e38850..cfc8b74 100644
--- a/config.h.in
+++ b/config.h.in
@@ -54,12 +54,15 @@
/* Support for Software SDL Engine in Ecore_Evas */
#undef BUILD_ECORE_EVAS_SOFTWARE_SDL
-/* Support for Software Xlib Engine in Ecore_Evas */
+/* Support for Software X11 Engine in Ecore_Evas */
#undef BUILD_ECORE_EVAS_SOFTWARE_X11
-/* Support for Software XCB Engine in Ecore_Evas */
+/* Evas Software XCB Engine Support */
#undef BUILD_ECORE_EVAS_SOFTWARE_XCB
+/* Evas Software Xlib Engine Support */
+#undef BUILD_ECORE_EVAS_SOFTWARE_XLIB
+
/* Support for Win32 Engine in Ecore_Evas */
#undef BUILD_ECORE_EVAS_WIN32
diff --git a/configure b/configure
index 3e63bb9..834b0b9 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for ecore 0.9.9.061.
+# Generated by GNU Autoconf 2.61 for ecore 0.9.9.062.
#
# Report bugs to <enlightenment-devel at lists.sourceforge.net>.
#
@@ -723,8 +723,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='ecore'
PACKAGE_TARNAME='ecore'
-PACKAGE_VERSION='0.9.9.061'
-PACKAGE_STRING='ecore 0.9.9.061'
+PACKAGE_VERSION='0.9.9.062'
+PACKAGE_STRING='ecore 0.9.9.062'
PACKAGE_BUGREPORT='enlightenment-devel at lists.sourceforge.net'
ac_unique_file="configure.ac"
@@ -1673,7 +1673,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 ecore 0.9.9.061 to adapt to many kinds of systems.
+\`configure' configures ecore 0.9.9.062 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1747,7 +1747,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ecore 0.9.9.061:";;
+ short | recursive ) echo "Configuration of ecore 0.9.9.062:";;
esac
cat <<\_ACEOF
@@ -1783,10 +1783,10 @@ Optional Features:
disable Software Buffer support in the ecore_evas
module.
--enable-ecore-evas-software-x11
- enable Software Xlib support in the ecore_evas
+ enable Software X11 support in the ecore_evas
module.
--disable-ecore-evas-software-x11
- disable Software Xlib support in the ecore_evas
+ disable Software X11 support in the ecore_evas
module.
--enable-ecore-evas-xrender-x11
enable XRender Xlib support in the ecore_evas
@@ -1805,12 +1805,6 @@ Optional Features:
--disable-ecore-evas-software-16-x11
disable Software Xlib 16 bits support in the
ecore_evas module.
- --enable-ecore-evas-software-xcb
- enable Software XCB support in the ecore_evas
- module.
- --disable-ecore-evas-software-xcb
- disable Software XCB support in the ecore_evas
- module.
--enable-ecore-evas-xrender-xcb
enable XRender XCB support in the ecore_evas module.
--disable-ecore-evas-xrender-xcb
@@ -2037,7 +2031,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ecore configure 0.9.9.061
+ecore configure 0.9.9.062
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -2051,7 +2045,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 ecore $as_me 0.9.9.061, which was
+It was created by ecore $as_me 0.9.9.062, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -3893,7 +3887,7 @@ fi
# Define the identity of the package.
PACKAGE='ecore'
- VERSION='0.9.9.061'
+ VERSION='0.9.9.062'
cat >>confdefs.h <<_ACEOF
@@ -5149,13 +5143,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:5152: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:5146: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:5155: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:5149: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:5158: output\"" >&5)
+ (eval echo "\"\$as_me:5152: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -6265,7 +6259,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 6268 "configure"' > conftest.$ac_ext
+ echo '#line 6262 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -8114,11 +8108,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8117: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8111: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8121: \$? = $ac_status" >&5
+ echo "$as_me:8115: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -8438,11 +8432,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8441: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8435: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8445: \$? = $ac_status" >&5
+ echo "$as_me:8439: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -8543,11 +8537,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8546: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8540: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:8550: \$? = $ac_status" >&5
+ echo "$as_me:8544: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -8598,11 +8592,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8601: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8595: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:8605: \$? = $ac_status" >&5
+ echo "$as_me:8599: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -11359,7 +11353,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11362 "configure"
+#line 11356 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11459,7 +11453,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11462 "configure"
+#line 11456 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11698,7 +11692,7 @@ SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
-release="ver-svn-02"
+release="ver-svn-03"
case "$host_os" in
mingw32ce* | cegcc*)
;;
@@ -15457,11 +15451,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15460: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15454: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15464: \$? = $ac_status" >&5
+ echo "$as_me:15458: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -15556,11 +15550,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15559: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15553: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:15563: \$? = $ac_status" >&5
+ echo "$as_me:15557: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -15608,11 +15602,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15611: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15605: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:15615: \$? = $ac_status" >&5
+ echo "$as_me:15609: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17294,7 +17288,8 @@ if test "x${efl_enable_doc}" = "xyes" ; then
# Check whether --with-doxygen was given.
if test "${with_doxygen+set}" = set; then
- withval=$with_doxygen; efl_doxygen=${withval}
+ withval=$with_doxygen;
+ efl_doxygen=${withval}
# Extract the first word of "${efl_doxygen}", so it can be a program name with args.
set dummy ${efl_doxygen}; ac_word=$2
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -25976,7 +25971,6 @@ sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
fi
@@ -27585,7 +27579,7 @@ fi
if test "x${have_ecore_con}" = "xyes" ; then
- requirements_ecore_file="${requirements_ecore_con} ${requirements_ecore_file}"
+ requirements_ecore_file="ecore-con ${requirements_ecore_file}"
fi
fi
@@ -29970,11 +29964,6 @@ fi
# ecore_evas_software_x11
-ecore_evas_xlib_deps="no"
-if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
- ecore_evas_xlib_deps="yes"
-fi
-
have_ecore_evas_software_x11="no"
@@ -29994,12 +29983,12 @@ fi
fi
-{ echo "$as_me:$LINENO: checking whether ecore_evas Software Xlib support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Software Xlib support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software X11 support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Software X11 support is to be built... $ECHO_C" >&6; }
{ echo "$as_me:$LINENO: result: ${want_module}" >&5
echo "${ECHO_T}${want_module}" >&6; }
-if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+if test "x${have_ecore_x}" = "xyes" -a \
"x$have_ecore_evas" = "xyes" -a \
"x$want_module" = "xyes" ; then
if test -n "$PKG_CONFIG" && \
@@ -30019,8 +30008,8 @@ _ACEOF
fi
fi
-{ echo "$as_me:$LINENO: checking whether ecore_evas Software Xlib support is built" >&5
-echo $ECHO_N "checking whether ecore_evas Software Xlib support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software X11 support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Software X11 support is built... $ECHO_C" >&6; }
{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_x11" >&5
echo "${ECHO_T}$have_ecore_evas_software_x11" >&6; }
@@ -30034,6 +30023,27 @@ fi
+have_ecore_evas_software_xlib=no"
+have_ecore_evas_software_xcb=no"
+if test "x$have_ecore_evas_software_x11" = "xyes" ; then
+ have_ecore_evas_software_xlib=`${PKG_CONFIG} --variable=Xlib evas-software-x11`
+ if test "x${have_ecore_evas_software_xlib}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_XLIB 1
+_ACEOF
+
+ fi
+ have_ecore_evas_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11`
+ if test "x$have_ecore_evas_software_xcb" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_XCB 1
+_ACEOF
+
+ fi
+fi
+
# ecore_evas_xrender_x11
@@ -30060,7 +30070,7 @@ echo $ECHO_N "checking whether ecore_evas XRender Xlib support is to be built...
{ echo "$as_me:$LINENO: result: ${want_module}" >&5
echo "${ECHO_T}${want_module}" >&6; }
-if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+if test "x${have_ecore_x_xlib}" = "xyes" -a \
"x$have_ecore_evas" = "xyes" -a \
"x$want_module" = "xyes" ; then
if test -n "$PKG_CONFIG" && \
@@ -30121,7 +30131,7 @@ echo $ECHO_N "checking whether ecore_evas OpenGL Xlib support is to be built...
{ echo "$as_me:$LINENO: result: ${want_module}" >&5
echo "${ECHO_T}${want_module}" >&6; }
-if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+if test "x${have_ecore_x_xlib}" = "xyes" -a \
"x$have_ecore_evas" = "xyes" -a \
"x$want_module" = "xyes" ; then
if test -n "$PKG_CONFIG" && \
@@ -30182,7 +30192,7 @@ echo $ECHO_N "checking whether ecore_evas Software Xlib 16 bits support is to be
{ echo "$as_me:$LINENO: result: ${want_module}" >&5
echo "${ECHO_T}${want_module}" >&6; }
-if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+if test "x${have_ecore_x_xlib}" = "xyes" -a \
"x$have_ecore_evas" = "xyes" -a \
"x$want_module" = "xyes" ; then
if test -n "$PKG_CONFIG" && \
@@ -30217,72 +30227,6 @@ fi
-# ecore_evas_software_xcb
-
-ecore_evas_xcb_deps="no"
-if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
- ecore_evas_xcb_deps="yes"
-fi
-
-
-
-have_ecore_evas_software_xcb="no"
-want_module="${want_ecore_evas_software_xcb}"
-
-if test "x${want_module}" = "xno" ; then
- # Check whether --enable-ecore-evas-software-xcb was given.
-if test "${enable_ecore_evas_software_xcb+set}" = set; then
- enableval=$enable_ecore_evas_software_xcb; want_module=$enableval
-fi
-
-else
- # Check whether --enable-ecore-evas-software-xcb was given.
-if test "${enable_ecore_evas_software_xcb+set}" = set; then
- enableval=$enable_ecore_evas_software_xcb; want_module=$enableval
-fi
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether ecore_evas Software XCB support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Software XCB support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${want_module}" >&5
-echo "${ECHO_T}${want_module}" >&6; }
-
-if test "x${ecore_evas_xcb_deps}" = "xyes" -a \
- "x$have_ecore_evas" = "xyes" -a \
- "x$want_module" = "xyes" ; then
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-xcb\"") >&5
- ($PKG_CONFIG --exists --print-errors "evas-software-xcb") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SOFTWARE_XCB 1
-_ACEOF
-
- have_ecore_evas_software_xcb="yes"
-
-fi
-fi
-
-{ echo "$as_me:$LINENO: checking whether ecore_evas Software XCB support is built" >&5
-echo $ECHO_N "checking whether ecore_evas Software XCB support is built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_xcb" >&5
-echo "${ECHO_T}$have_ecore_evas_software_xcb" >&6; }
-
-if test "x$have_ecore_evas_software_xcb" = "xyes" ; then
- :
-else
- :
-fi
-
-
-
-
-
# ecore_evas_xrender_xcb
@@ -31590,7 +31534,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ecore $as_me 0.9.9.061, which was
+This file was extended by ecore $as_me 0.9.9.062, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -31643,7 +31587,7 @@ Report bugs to <bug-autoconf at gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-ecore config.status 0.9.9.061
+ecore config.status 0.9.9.062
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -34190,10 +34134,18 @@ echo
echo " Ecore_Evas...................: $have_ecore_evas"
if test "x${have_ecore_evas}" = "xyes" ; then
echo " Software Memory Buffer.....: $have_ecore_evas_software_buffer"
- echo " Software X11...............: $have_ecore_evas_software_x11"
+ if test "x${have_ecore_evas_software_x11}" = "xyes" ; then
+ if test "x${have_ecore_evas_software_xlib}" = "xyes" ; then
+ echo " Software X11...............: $have_ecore_evas_software_x11 (Xlib)"
+ fi
+ if test "x${have_ecore_evas_software_xcb}" = "xyes" ; then
+ echo " Software X11...............: $have_ecore_evas_software_x11 (XCB)"
+ fi
+ else
+ echo " Software X11...............: $have_ecore_evas_software_x11"
+ fi
echo " XRender X11................: $have_ecore_evas_xrender_x11"
echo " OpenGL X11.................: $have_ecore_evas_opengl_x11"
- echo " Software XCB...............: $have_ecore_evas_software_xcb"
echo " XRender XCB................: $have_ecore_evas_xrender_xcb"
echo " Software GDI...............: $have_ecore_evas_software_gdi"
echo " Software DirectDraw........: $have_ecore_evas_software_ddraw"
diff --git a/configure.ac b/configure.ac
index 8dee24d..e548f97 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
# get rid of that stupid cache mechanism
rm -f config.cache
-AC_INIT([ecore], [0.9.9.061], [enlightenment-devel at lists.sourceforge.net])
+AC_INIT([ecore], [0.9.9.062], [enlightenment-devel at lists.sourceforge.net])
AC_PREREQ([2.52])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4])
@@ -24,7 +24,7 @@ SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
AC_SUBST(version_info)
-release="ver-svn-02"
+release="ver-svn-03"
case "$host_os" in
mingw32ce* | cegcc*)
;;
@@ -796,7 +796,7 @@ if test "x${have_ecore_file}" = "xyes" ; then
ECORE_CHECK_INOTIFY([${want_inotify}], [have_inotify="yes"], [have_inotify="no"])
if test "x${have_ecore_con}" = "xyes" ; then
- requirements_ecore_file="${requirements_ecore_con} ${requirements_ecore_file}"
+ requirements_ecore_file="ecore-con ${requirements_ecore_file}"
fi
fi
@@ -898,48 +898,44 @@ ECORE_EVAS_CHECK_MODULE([software-buffer],
# ecore_evas_software_x11
-ecore_evas_xlib_deps="no"
-if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
- ecore_evas_xlib_deps="yes"
-fi
-
ECORE_EVAS_CHECK_MODULE([software-x11],
[${want_ecore_evas_software_x11}],
- [Software Xlib],
- [${ecore_evas_xlib_deps}])
+ [Software X11],
+ [${have_ecore_x}])
+
+have_ecore_evas_software_xlib=no"
+have_ecore_evas_software_xcb=no"
+if test "x$have_ecore_evas_software_x11" = "xyes" ; then
+ have_ecore_evas_software_xlib=`${PKG_CONFIG} --variable=Xlib evas-software-x11`
+ if test "x${have_ecore_evas_software_xlib}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
+ AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XLIB, 1, [Evas Software Xlib Engine Support])
+ fi
+ have_ecore_evas_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11`
+ if test "x$have_ecore_evas_software_xcb" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
+ AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XCB, 1, [Evas Software XCB Engine Support])
+ fi
+fi
# ecore_evas_xrender_x11
ECORE_EVAS_CHECK_MODULE([xrender-x11],
[${want_ecore_evas_xrender_x11}],
[XRender Xlib],
- [${ecore_evas_xlib_deps}])
+ [${have_ecore_x_xlib}])
# ecore_evas_opengl_x11
ECORE_EVAS_CHECK_MODULE([opengl-x11],
[${want_ecore_evas_opengl_x11}],
[OpenGL Xlib],
- [${ecore_evas_xlib_deps}])
+ [${have_ecore_x_xlib}])
# ecore_evas_software_x11 16 bits
ECORE_EVAS_CHECK_MODULE([software-16-x11],
[${want_ecore_evas_software_16_x11}],
[Software Xlib 16 bits],
- [${ecore_evas_xlib_deps}])
-
-# ecore_evas_software_xcb
-
-ecore_evas_xcb_deps="no"
-if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
- ecore_evas_xcb_deps="yes"
-fi
-
-ECORE_EVAS_CHECK_MODULE([software-xcb],
- [${want_ecore_evas_software_xcb}],
- [Software XCB],
- [${ecore_evas_xcb_deps}])
+ [${have_ecore_x_xlib}])
# ecore_evas_xrender_xcb
@@ -1203,10 +1199,18 @@ echo
echo " Ecore_Evas...................: $have_ecore_evas"
if test "x${have_ecore_evas}" = "xyes" ; then
echo " Software Memory Buffer.....: $have_ecore_evas_software_buffer"
- echo " Software X11...............: $have_ecore_evas_software_x11"
+ if test "x${have_ecore_evas_software_x11}" = "xyes" ; then
+ if test "x${have_ecore_evas_software_xlib}" = "xyes" ; then
+ echo " Software X11...............: $have_ecore_evas_software_x11 (Xlib)"
+ fi
+ if test "x${have_ecore_evas_software_xcb}" = "xyes" ; then
+ echo " Software X11...............: $have_ecore_evas_software_x11 (XCB)"
+ fi
+ else
+ echo " Software X11...............: $have_ecore_evas_software_x11"
+ fi
echo " XRender X11................: $have_ecore_evas_xrender_x11"
echo " OpenGL X11.................: $have_ecore_evas_opengl_x11"
- echo " Software XCB...............: $have_ecore_evas_software_xcb"
echo " XRender XCB................: $have_ecore_evas_xrender_xcb"
echo " Software GDI...............: $have_ecore_evas_software_gdi"
echo " Software DirectDraw........: $have_ecore_evas_software_ddraw"
diff --git a/ecore.spec b/ecore.spec
index 8b2df00..1bd588f 100644
--- a/ecore.spec
+++ b/ecore.spec
@@ -37,7 +37,7 @@
Summary: Enlightened Core X interface library
Name: ecore
-Version: 0.9.9.061
+Version: 0.9.9.062
Release: 0.%(date '+%Y%m%d')
License: BSD
Group: User Interface/X
diff --git a/m4/ac_attribute.m4 b/m4/ac_attribute.m4
index 3926d23..23479a9 100644
--- a/m4/ac_attribute.m4
+++ b/m4/ac_attribute.m4
@@ -31,8 +31,7 @@ int foo(int x __attribute__ ((unused)))
[],
[ac_cv___attribute__="yes"],
[ac_cv___attribute__="no"]
- )]
-)
+ )])
AC_MSG_RESULT($ac_cv___attribute__)
@@ -44,3 +43,5 @@ if test "x${ac_cv___attribute__}" = "xyes" ; then
fi
])
+
+dnl End of ac_attribute.m4
diff --git a/m4/efl_doxygen.m4 b/m4/efl_doxygen.m4
index dd6bc3e..d83ed68 100644
--- a/m4/efl_doxygen.m4
+++ b/m4/efl_doxygen.m4
@@ -32,9 +32,7 @@ AC_MSG_RESULT([${efl_enable_doc}])
if test "x${efl_enable_doc}" = "xyes" ; then
-dnl
dnl Specify the file name, without path
-dnl
efl_doxygen="doxygen"
@@ -42,9 +40,9 @@ dnl
[AC_HELP_STRING(
[--with-doxygen=FILE],
[doxygen program to use @<:@default=doxygen@:>@])],
-dnl
+
dnl Check the given doxygen program.
-dnl
+
[efl_doxygen=${withval}
AC_CHECK_PROG([efl_have_doxygen],
[${efl_doxygen}],
@@ -96,4 +94,4 @@ fi
])
-dnl End of doxygen.m4
+dnl End of efl_doxygen.m4
diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h
index 06f5cee..f6c8a5f 100644
--- a/src/lib/ecore/Ecore.h
+++ b/src/lib/ecore/Ecore.h
@@ -51,6 +51,8 @@
#ifdef _WIN32
# include <winsock2.h>
+#elif defined (__FreeBSD__) && (__FreeBSD_version >= 420001)
+# include <sys/select.h>
#else
# include <sys/types.h>
# include <sys/time.h>
diff --git a/src/lib/ecore/Ecore_Getopt.h b/src/lib/ecore/Ecore_Getopt.h
index 3ce4436..5f0ac4b 100644
--- a/src/lib/ecore/Ecore_Getopt.h
+++ b/src/lib/ecore/Ecore_Getopt.h
@@ -149,6 +149,7 @@ extern "C" {
const char *const *choices; /* NULL terminated. */
const Ecore_Getopt_Type append_type;
const Ecore_Getopt_Desc_Callback callback;
+ const void *dummy;
} action_param;
};
@@ -328,7 +329,8 @@ extern "C" {
{.append_type = type}}
#define ECORE_GETOPT_COUNT(shortname, longname, help) \
- {shortname, longname, help, NULL, ECORE_GETOPT_ACTION_COUNT}
+ {shortname, longname, help, NULL, ECORE_GETOPT_ACTION_COUNT, \
+ {.dummy = NULL}}
#define ECORE_GETOPT_CALLBACK_FULL(shortname, longname, help, metavar, callback_func, callback_data, argument_requirement, default_value) \
{shortname, longname, help, metavar, ECORE_GETOPT_ACTION_CALLBACK, \
@@ -347,17 +349,25 @@ extern "C" {
#define ECORE_GETOPT_HELP(shortname, longname) \
{shortname, longname, "show this message.", NULL, \
- ECORE_GETOPT_ACTION_HELP}
+ ECORE_GETOPT_ACTION_HELP, \
+ {.dummy = NULL}}
+
#define ECORE_GETOPT_VERSION(shortname, longname) \
{shortname, longname, "show program version.", NULL, \
- ECORE_GETOPT_ACTION_VERSION}
+ ECORE_GETOPT_ACTION_VERSION, \
+ {.dummy = NULL}}
+
#define ECORE_GETOPT_COPYRIGHT(shortname, longname) \
{shortname, longname, "show copyright.", NULL, \
- ECORE_GETOPT_ACTION_COPYRIGHT}
+ ECORE_GETOPT_ACTION_COPYRIGHT, \
+ {.dummy = NULL}}
+
#define ECORE_GETOPT_LICENSE(shortname, longname) \
{shortname, longname, "show license.", NULL, \
- ECORE_GETOPT_ACTION_LICENSE}
-#define ECORE_GETOPT_SENTINEL {0, NULL}
+ ECORE_GETOPT_ACTION_LICENSE, \
+ {.dummy = NULL}}
+
+#define ECORE_GETOPT_SENTINEL {0, NULL, NULL, NULL, 0, {.dummy = NULL}}
#define ECORE_GETOPT_VALUE_STR(val) {.strp = &(val)}
#define ECORE_GETOPT_VALUE_BOOL(val) {.boolp = &(val)}
diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 75d1c99..d89e330 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -46,7 +46,7 @@ ecore_animator_add(int (*func) (void *data), const void *data)
ECORE_MAGIC_SET(animator, ECORE_MAGIC_ANIMATOR);
animator->func = func;
animator->data = (void *)data;
- animators = _ecore_list2_append(animators, animator);
+ animators = (Ecore_Animator *) eina_inlist_append(EINA_INLIST_GET(animators), EINA_INLIST_GET(animator));
if (!timer)
timer = ecore_timer_add(animators_frametime, _ecore_animator, NULL);
return animator;
@@ -125,7 +125,7 @@ _ecore_animator_shutdown(void)
Ecore_Animator *animator;
animator = animators;
- animators = _ecore_list2_remove(animators, animator);
+ animators = (Ecore_Animator *) eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animators));
ECORE_MAGIC_SET(animator, ECORE_MAGIC_NONE);
free(animator);
}
@@ -134,14 +134,10 @@ _ecore_animator_shutdown(void)
static int
_ecore_animator(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Animator *animator;
- for (l = (Ecore_List2 *)animators; l;)
+ EINA_INLIST_FOREACH(animators, animator)
{
- Ecore_Animator *animator;
-
- animator = (Ecore_Animator *)l;
- l = l->next;
if (!animator->delete_me)
{
if (!animator->func(animator->data))
@@ -153,15 +149,14 @@ _ecore_animator(void *data __UNUSED__)
}
if (animators_delete_me)
{
- for (l = (Ecore_List2 *)animators; l;)
+ Ecore_Animator *l;
+ for(l = animators; l;)
{
- Ecore_Animator *animator;
-
- animator = (Ecore_Animator *)l;
- l = l->next;
+ animator = l;
+ l = (Ecore_Animator *) EINA_INLIST_GET(l)->next;
if (animator->delete_me)
{
- animators = _ecore_list2_remove(animators, animator);
+ animators = (Ecore_Animator *) eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animator));
ECORE_MAGIC_SET(animator, ECORE_MAGIC_NONE);
free(animator);
animators_delete_me--;
diff --git a/src/lib/ecore/ecore_events.c b/src/lib/ecore/ecore_events.c
index 9b69b17..fd69557 100644
--- a/src/lib/ecore/ecore_events.c
+++ b/src/lib/ecore/ecore_events.c
@@ -17,7 +17,7 @@ static Ecore_Event *events = NULL;
static Ecore_Event_Handler **event_handlers = NULL;
static int event_handlers_num = 0;
static int event_handlers_alloc_num = 0;
-static Ecore_List2_Data *event_handlers_delete_list = NULL;
+static Eina_List *event_handlers_delete_list = NULL;
static Ecore_Event_Filter *event_filters = NULL;
static int event_filters_delete_me = 0;
@@ -87,7 +87,7 @@ ecore_event_handler_add(int type, int (*func) (void *data, int type, void *event
event_handlers[i] = NULL;
}
}
- event_handlers[type] = _ecore_list2_append(event_handlers[type], eh);
+ event_handlers[type] = (Ecore_Event_Handler *) eina_inlist_append(EINA_INLIST_GET(event_handlers[type]), EINA_INLIST_GET(eh));
return eh;
}
@@ -104,8 +104,6 @@ ecore_event_handler_add(int type, int (*func) (void *data, int type, void *event
EAPI void *
ecore_event_handler_del(Ecore_Event_Handler *event_handler)
{
- Ecore_List2_Data *node;
-
if (!ECORE_MAGIC_CHECK(event_handler, ECORE_MAGIC_EVENT_HANDLER))
{
ECORE_MAGIC_FAIL(event_handler, ECORE_MAGIC_EVENT_HANDLER,
@@ -113,9 +111,7 @@ ecore_event_handler_del(Ecore_Event_Handler *event_handler)
return NULL;
}
event_handler->delete_me = 1;
- node = calloc(1, sizeof(Ecore_List2_Data));
- node->data = event_handler;
- event_handlers_delete_list = _ecore_list2_append(event_handlers_delete_list, node);
+ event_handlers_delete_list = eina_list_append(event_handlers_delete_list, event_handler);
return event_handler->data;
}
@@ -226,7 +222,7 @@ ecore_event_filter_add(void * (*func_start) (void *data), int (*func_filter) (vo
ef->func_filter = func_filter;
ef->func_end = func_end;
ef->data = (void *)data;
- event_filters = _ecore_list2_append(event_filters, ef);
+ event_filters = (Ecore_Event_Filter *) eina_inlist_append(EINA_INLIST_GET(event_filters), EINA_INLIST_GET(ef));
return ef;
}
@@ -296,38 +292,28 @@ void
_ecore_event_shutdown(void)
{
int i;
+ Ecore_Event_Handler *eh;
+ Ecore_Event_Filter *ef;
while (events) _ecore_event_del(events);
for (i = 0; i < event_handlers_num; i++)
{
- while (event_handlers[i])
+ while ((eh = event_handlers[i]))
{
- Ecore_Event_Handler *eh;
-
- eh = event_handlers[i];
- event_handlers[i] = _ecore_list2_remove(event_handlers[i], eh);
+ event_handlers[i] = (Ecore_Event_Handler *) eina_inlist_remove(EINA_INLIST_GET(event_handlers[i]), EINA_INLIST_GET(event_handlers[i]));
ECORE_MAGIC_SET(eh, ECORE_MAGIC_NONE);
- free(eh);
+ if (!eh->delete_me) free(eh);
}
}
- while (event_handlers_delete_list)
- {
- Ecore_List2_Data *ehd;
-
- ehd = event_handlers_delete_list;
- event_handlers_delete_list = _ecore_list2_remove(event_handlers_delete_list, ehd);
- free(ehd);
- }
+ EINA_LIST_FREE(event_handlers_delete_list, eh)
+ free(eh);
if (event_handlers) free(event_handlers);
event_handlers = NULL;
event_handlers_num = 0;
event_handlers_alloc_num = 0;
- while (event_filters)
+ while ((ef = event_filters))
{
- Ecore_Event_Filter *ef;
-
- ef = event_filters;
- event_filters = _ecore_list2_remove(event_filters, ef);
+ event_filters = (Ecore_Event_Filter *) eina_inlist_remove(EINA_INLIST_GET(event_filters), EINA_INLIST_GET(event_filters));
ECORE_MAGIC_SET(ef, ECORE_MAGIC_NONE);
free(ef);
}
@@ -353,7 +339,7 @@ _ecore_event_add(int type, void *ev, void (*func_free) (void *data, void *ev), v
e->event = ev;
e->func_free = func_free;
e->data = data;
- events = _ecore_list2_append(events, e);
+ events = (Ecore_Event *) eina_inlist_append(EINA_INLIST_GET(events), EINA_INLIST_GET(e));
events_num++;
return e;
}
@@ -365,7 +351,7 @@ _ecore_event_del(Ecore_Event *event)
data = event->data;
if (event->func_free) event->func_free(event->data, event->event);
- events = _ecore_list2_remove(events, event);
+ events = (Ecore_Event *) eina_inlist_remove(EINA_INLIST_GET(events), EINA_INLIST_GET(event));
ECORE_MAGIC_SET(event, ECORE_MAGIC_NONE);
free(event);
events_num--;
@@ -375,23 +361,19 @@ _ecore_event_del(Ecore_Event *event)
void
_ecore_event_call(void)
{
- Ecore_List2 *l, *ll;
Ecore_Event *e;
Ecore_Event_Filter *ef;
Ecore_Event_Handler *eh;
- Ecore_List2_Data *ehd;
int handle_count;
- for (l = (Ecore_List2 *)event_filters; l; l = l->next)
+ EINA_INLIST_FOREACH(event_filters, ef)
{
- ef = (Ecore_Event_Filter *)l;
if (!ef->delete_me)
{
if (ef->func_start)
ef->loop_data = ef->func_start(ef->data);
- for (ll = (Ecore_List2 *)events; ll; ll = ll->next)
+ EINA_INLIST_FOREACH(events, e)
{
- e = (Ecore_Event *)ll;
if (!ef->func_filter(ef->loop_data, ef->data,
e->type, e->event))
{
@@ -405,13 +387,14 @@ _ecore_event_call(void)
}
if (event_filters_delete_me)
{
- for (l = (Ecore_List2 *)event_filters; l;)
+ Ecore_Event_Filter *l;
+ EINA_INLIST_FOREACH(event_filters, l)
{
- ef = (Ecore_Event_Filter *)l;
- l = l->next;
+ ef = l;
+ l = (Ecore_Event_Filter *) EINA_INLIST_GET(l)->next;
if (ef->delete_me)
{
- event_filters = _ecore_list2_remove(event_filters, ef);
+ event_filters = (Ecore_Event_Filter *) eina_inlist_remove(EINA_INLIST_GET(event_filters), EINA_INLIST_GET(ef));
ECORE_MAGIC_SET(ef, ECORE_MAGIC_NONE);
free(ef);
}
@@ -419,9 +402,8 @@ _ecore_event_call(void)
event_filters_delete_me = 0;
}
// printf("EVENT BATCH...\n");
- for (l = (Ecore_List2 *)events; l; l = l->next)
+ EINA_INLIST_FOREACH(events, e)
{
- e = (Ecore_Event *)l;
if (!e->delete_me)
{
handle_count = 0;
@@ -430,9 +412,8 @@ _ecore_event_call(void)
// printf("HANDLE ev type %i, %p\n", e->type, e->event);
if ((e->type >= 0) && (e->type < event_handlers_num))
{
- for (ll = (Ecore_List2 *)event_handlers[e->type]; ll; ll = ll->next)
+ EINA_INLIST_FOREACH(event_handlers[e->type], eh)
{
- eh = (Ecore_Event_Handler *)ll;
if (!eh->delete_me)
{
handle_count++;
@@ -451,16 +432,13 @@ _ecore_event_call(void)
ecore_raw_event_type = ECORE_EVENT_NONE;
ecore_raw_event_event = NULL;
- while (events) _ecore_event_del(events);
- while (event_handlers_delete_list)
+ while (events) _ecore_event_del((Ecore_Event *) events);
+ EINA_LIST_FREE(event_handlers_delete_list, eh)
{
- ehd = event_handlers_delete_list;
- eh = ehd->data;
- event_handlers[eh->type] = _ecore_list2_remove(event_handlers[eh->type], eh);
- event_handlers_delete_list = _ecore_list2_remove(event_handlers_delete_list, ehd);
+ event_handlers[eh->type] = (Ecore_Event_Handler *) eina_inlist_remove(EINA_INLIST_GET(event_handlers[eh->type]), EINA_INLIST_GET(eh));
+ event_handlers_delete_list = eina_list_remove(event_handlers_delete_list, eh);
ECORE_MAGIC_SET(eh, ECORE_MAGIC_NONE);
free(eh);
- free(ehd);
}
}
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
index 8bb4c61..55e512e 100644
--- a/src/lib/ecore/ecore_exe.c
+++ b/src/lib/ecore/ecore_exe.c
@@ -582,7 +582,7 @@ ecore_exe_pipe_run(const char *exe_cmd, Ecore_Exe_Flags flags, const void *data)
}
}
- exes = _ecore_list2_append(exes, exe);
+ exes = (Ecore_Exe *) eina_inlist_append(EINA_INLIST_GET(exes), EINA_INLIST_GET(exe));
n = 0;
}
else
@@ -959,7 +959,7 @@ ecore_exe_free(Ecore_Exe * exe)
IF_FREE(exe->error_data_buf);
IF_FREE(exe->cmd);
- exes = _ecore_list2_remove(exes, exe);
+ exes = (Ecore_Exe *) eina_inlist_remove(EINA_INLIST_GET(exes), EINA_INLIST_GET(exe));
ECORE_MAGIC_SET(exe, ECORE_MAGIC_NONE);
IF_FREE(exe->tag);
free(exe);
@@ -1302,13 +1302,9 @@ _ecore_exe_shutdown(void)
Ecore_Exe *
_ecore_exe_find(pid_t pid)
{
- Ecore_List2 *l;
-
- for (l = (Ecore_List2 *) exes; l; l = l->next)
+ Ecore_Exe *exe;
+ EINA_INLIST_FOREACH(exes, exe)
{
- Ecore_Exe *exe;
-
- exe = (Ecore_Exe *) l;
if (exe->pid == pid)
return exe;
}
diff --git a/src/lib/ecore/ecore_idle_enterer.c b/src/lib/ecore/ecore_idle_enterer.c
index 066aaa3..bc53c09 100644
--- a/src/lib/ecore/ecore_idle_enterer.c
+++ b/src/lib/ecore/ecore_idle_enterer.c
@@ -33,7 +33,7 @@ ecore_idle_enterer_add(int (*func) (void *data), const void *data)
ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLE_ENTERER);
ie->func = func;
ie->data = (void *)data;
- idle_enterers = _ecore_list2_append(idle_enterers, ie);
+ idle_enterers = (Ecore_Idle_Enterer *) eina_inlist_append(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie));
return ie;
}
@@ -56,7 +56,7 @@ ecore_idle_enterer_before_add(int (*func) (void *data), const void *data)
ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLE_ENTERER);
ie->func = func;
ie->data = (void *)data;
- idle_enterers = _ecore_list2_prepend(idle_enterers, ie);
+ idle_enterers = (Ecore_Idle_Enterer *) eina_inlist_prepend(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie));
return ie;
}
@@ -84,12 +84,10 @@ ecore_idle_enterer_del(Ecore_Idle_Enterer *idle_enterer)
void
_ecore_idle_enterer_shutdown(void)
{
- while (idle_enterers)
+ Ecore_Idle_Enterer *ie;
+ while ((ie = idle_enterers))
{
- Ecore_Idle_Enterer *ie;
-
- ie = idle_enterers;
- idle_enterers = _ecore_list2_remove(idle_enterers, ie);
+ idle_enterers = (Ecore_Idle_Enterer *) eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(idle_enterers));
ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE);
free(ie);
}
@@ -99,33 +97,25 @@ _ecore_idle_enterer_shutdown(void)
void
_ecore_idle_enterer_call(void)
{
- Ecore_List2 *l, *last;
-
- last = idle_enterers ? ((Ecore_List2 *)idle_enterers)->last : NULL;
+ Ecore_Idle_Enterer *ie;
- for (l = (Ecore_List2 *)idle_enterers; l; l = l->next)
+ EINA_INLIST_FOREACH(idle_enterers, ie)
{
- Ecore_Idle_Enterer *ie;
-
- ie = (Ecore_Idle_Enterer *)l;
if (!ie->delete_me)
{
if (!ie->func(ie->data)) ecore_idle_enterer_del(ie);
}
-
- if (l == last) break;
}
if (idle_enterers_delete_me)
{
- for (l = (Ecore_List2 *)idle_enterers; l;)
+ Ecore_Idle_Enterer *l;
+ for(l = idle_enterers; l;)
{
- Ecore_Idle_Enterer *ie;
-
- ie = (Ecore_Idle_Enterer *)l;
- l = l->next;
+ ie = l;
+ l = (Ecore_Idle_Enterer *) EINA_INLIST_GET(l)->next;
if (ie->delete_me)
{
- idle_enterers = _ecore_list2_remove(idle_enterers, ie);
+ idle_enterers = (Ecore_Idle_Enterer *) eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie));
ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE);
free(ie);
}
diff --git a/src/lib/ecore/ecore_idle_exiter.c b/src/lib/ecore/ecore_idle_exiter.c
index bdf1322..07a7602 100644
--- a/src/lib/ecore/ecore_idle_exiter.c
+++ b/src/lib/ecore/ecore_idle_exiter.c
@@ -32,7 +32,7 @@ ecore_idle_exiter_add(int (*func) (void *data), const void *data)
ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLE_EXITER);
ie->func = func;
ie->data = (void *)data;
- idle_exiters = _ecore_list2_append(idle_exiters, ie);
+ idle_exiters = (Ecore_Idle_Exiter *) eina_inlist_append(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie));
return ie;
}
@@ -60,12 +60,10 @@ ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter)
void
_ecore_idle_exiter_shutdown(void)
{
- while (idle_exiters)
+ Ecore_Idle_Exiter *ie;
+ while ((ie = idle_exiters))
{
- Ecore_Idle_Exiter *ie;
-
- ie = idle_exiters;
- idle_exiters = _ecore_list2_remove(idle_exiters, ie);
+ idle_exiters = (Ecore_Idle_Exiter *) eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(idle_exiters));
ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE);
free(ie);
}
@@ -75,33 +73,26 @@ _ecore_idle_exiter_shutdown(void)
void
_ecore_idle_exiter_call(void)
{
- Ecore_List2 *l, *last;
-
- last = idle_exiters ? ((Ecore_List2 *)idle_exiters)->last : NULL;
+ Ecore_Idle_Exiter *ie;
- for (l = (Ecore_List2 *)idle_exiters; l; l = l->next)
+ EINA_INLIST_FOREACH(idle_exiters, ie)
{
- Ecore_Idle_Exiter *ie;
-
- ie = (Ecore_Idle_Exiter *)l;
if (!ie->delete_me)
{
if (!ie->func(ie->data)) ecore_idle_exiter_del(ie);
}
-
- if (l == last) break;
}
if (idle_exiters_delete_me)
{
- for (l = (Ecore_List2 *)idle_exiters; l;)
+ Ecore_Idle_Exiter *l;
+ for (l = idle_exiters; l;)
{
- Ecore_Idle_Exiter *ie;
+ ie = l;
- ie = (Ecore_Idle_Exiter *)l;
- l = l->next;
+ l = (Ecore_Idle_Exiter *) EINA_INLIST_GET(l)->next;
if (ie->delete_me)
{
- idle_exiters = _ecore_list2_remove(idle_exiters, ie);
+ idle_exiters = (Ecore_Idle_Exiter *) eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie));
ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE);
free(ie);
}
diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c
index 52bcb8e..df22fc6 100644
--- a/src/lib/ecore/ecore_idler.c
+++ b/src/lib/ecore/ecore_idler.c
@@ -40,7 +40,7 @@ ecore_idler_add(int (*func) (void *data), const void *data)
ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLER);
ie->func = func;
ie->data = (void *)data;
- idlers = _ecore_list2_append(idlers, ie);
+ idlers = (Ecore_Idler *) eina_inlist_append(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie));
return ie;
}
@@ -68,12 +68,10 @@ ecore_idler_del(Ecore_Idler *idler)
void
_ecore_idler_shutdown(void)
{
- while (idlers)
+ Ecore_Idler *ie;
+ while ((ie = idlers))
{
- Ecore_Idler *ie;
-
- ie = idlers;
- idlers = _ecore_list2_remove(idlers, ie);
+ idlers = (Ecore_Idler *) eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(idlers));
ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE);
free(ie);
}
@@ -83,33 +81,25 @@ _ecore_idler_shutdown(void)
int
_ecore_idler_call(void)
{
- Ecore_List2 *l, *last;
-
- last = idlers ? ((Ecore_List2 *)idlers)->last : NULL;
+ Ecore_Idler *ie;
- for (l = (Ecore_List2 *)idlers; l; l = l->next)
+ EINA_INLIST_FOREACH(idlers, ie)
{
- Ecore_Idler *ie;
-
- ie = (Ecore_Idler *)l;
if (!ie->delete_me)
{
if (!ie->func(ie->data)) ecore_idler_del(ie);
}
-
- if (l == last) break;
}
if (idlers_delete_me)
{
- for (l = (Ecore_List2 *)idlers; l;)
+ Ecore_Idler *l;
+ for (l = idlers; l;)
{
- Ecore_Idler *ie;
-
- ie = (Ecore_Idler *)l;
- l = l->next;
+ ie = l;
+ l = (Ecore_Idler *) EINA_INLIST_GET(l)->next;
if (ie->delete_me)
{
- idlers = _ecore_list2_remove(idlers, ie);
+ idlers = (Ecore_Idler *) eina_inlist_remove(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie));
ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE);
free(ie);
}
diff --git a/src/lib/ecore/ecore_list.c b/src/lib/ecore/ecore_list.c
index f129bf2..01d6d51 100644
--- a/src/lib/ecore/ecore_list.c
+++ b/src/lib/ecore/ecore_list.c
@@ -63,178 +63,6 @@ static void *_ecore_dlist_previous(Ecore_DList * list);
static void *_ecore_dlist_first_remove(Ecore_DList *list);
static void *_ecore_dlist_index_goto(Ecore_DList *list, int index);
-/* XXX: Begin deprecated code */
-EAPI void *
-_ecore_list2_append(void *in_list, void *in_item)
-{
- Ecore_List2 *l, *new_l;
- Ecore_List2 *list, *item;
-
- list = in_list;
- item = in_item;
- new_l = item;
- new_l->next = NULL;
- if (!list)
- {
- new_l->prev = NULL;
- new_l->last = new_l;
- return new_l;
- }
- if (list->last) l = list->last;
- else for (l = list; l; l = l->next);
- l->next = new_l;
- new_l->prev = l;
- list->last = new_l;
- return list;
-}
-
-EAPI void *
-_ecore_list2_prepend(void *in_list, void *in_item)
-{
- Ecore_List2 *new_l;
- Ecore_List2 *list, *item;
-
- list = in_list;
- item = in_item;
- new_l = item;
- new_l->prev = NULL;
- if (!list)
- {
- new_l->next = NULL;
- new_l->last = new_l;
- return new_l;
- }
- new_l->next = list;
- list->prev = new_l;
- new_l->last = list->last;
- list->last = NULL;
- return new_l;
-}
-
-EAPI void *
-_ecore_list2_append_relative(void *in_list, void *in_item, void *in_relative)
-{
- Ecore_List2 *l;
- Ecore_List2 *list, *item, *relative;
-
- list = in_list;
- item = in_item;
- relative = in_relative;
- for (l = list; l; l = l->next)
- {
- if (l == relative)
- {
- Ecore_List2 *new_l;
-
- new_l = item;
- if (l->next)
- {
- new_l->next = l->next;
- l->next->prev = new_l;
- }
-
- else new_l->next = NULL;
- l->next = new_l;
- new_l->prev = l;
- if (!new_l->next)
- list->last = new_l;
- return list;
- }
- }
- return _ecore_list2_append(list, item);
-}
-
-EAPI void *
-_ecore_list2_prepend_relative(void *in_list, void *in_item, void *in_relative)
-{
- Ecore_List2 *l;
- Ecore_List2 *list, *item, *relative;
-
- list = in_list;
- item = in_item;
- relative = in_relative;
- for (l = list; l; l = l->next)
- {
- if (l == relative)
- {
- Ecore_List2 *new_l;
-
- new_l = item;
- new_l->prev = l->prev;
- new_l->next = l;
- l->prev = new_l;
- if (new_l->prev)
- {
- new_l->prev->next = new_l;
- if (!new_l->next)
- list->last = new_l;
- return list;
- }
- else
- {
- if (!new_l->next)
- new_l->last = new_l;
- else
- {
- new_l->last = list->last;
- list->last = NULL;
- }
- return new_l;
- }
- }
- }
- return _ecore_list2_prepend(list, item);
-}
-
-EAPI void *
-_ecore_list2_remove(void *in_list, void *in_item)
-{
- Ecore_List2 *return_l;
- Ecore_List2 *list, *item;
-
- /* checkme */
- if(!in_list)
- return in_list;
-
- list = in_list;
- item = in_item;
- if (!item) return list;
- if (item->next)
- item->next->prev = item->prev;
- if (item->prev)
- {
- item->prev->next = item->next;
- return_l = list;
- }
- else
- {
- return_l = item->next;
- if (return_l)
- return_l->last = list->last;
- }
- if (item == list->last)
- list->last = item->prev;
- item->next = NULL;
- item->prev = NULL;
- return return_l;
-}
-
-EAPI void *
-_ecore_list2_find(void *in_list, void *in_item)
-{
- Ecore_List2 *l;
- Ecore_List2 *list, *item;
-
- list = in_list;
- item = in_item;
- for (l = list; l; l = l->next)
- {
- if (l == item) return item;
- }
- return NULL;
-}
-/* XXX: End deprecated code */
-
/**
@defgroup Ecore_Data_List_Creation_Group List Creation/Destruction Functions
diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index 07e1b12..33fcb8a 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -43,11 +43,21 @@ static void _ecore_main_fd_handlers_call(void);
static int _ecore_main_fd_handlers_buf_call(void);
static void _ecore_main_loop_iterate_internal(int once_only);
+#ifdef _WIN32
+static int _ecore_main_win32_select(int nfds, fd_set *readfds, fd_set *writefds,
+ fd_set *exceptfds, struct timeval *timeout);
+#endif
+
static int in_main_loop = 0;
static int do_quit = 0;
static Ecore_Fd_Handler *fd_handlers = NULL;
static int fd_handlers_delete_me = 0;
+
+#ifdef _WIN32
+static int (*main_loop_select)(int , fd_set *, fd_set *, fd_set *, struct timeval *) = _ecore_main_win32_select;
+#else
static int (*main_loop_select)(int , fd_set *, fd_set *, fd_set *, struct timeval *) = select;
+#endif
static double t1 = 0.0;
static double t2 = 0.0;
@@ -347,11 +357,6 @@ _ecore_main_select(double timeout)
{
int sec, usec;
-#if _WIN32
- if (timeout > 0.05)
- timeout = 0.05;
-#endif
-
#ifdef FIX_HZ
timeout += (0.5 / HZ);
sec = (int)timeout;
@@ -394,12 +399,18 @@ _ecore_main_select(double timeout)
if (_ecore_signal_count_get()) return -1;
ret = main_loop_select(max_fd + 1, &rfds, &wfds, &exfds, t);
+
_ecore_loop_time = ecore_time_get();
if (ret < 0)
{
+#ifdef _WIN32
+ fprintf(stderr, "main_loop_select error %d\n", WSAGetLastError());
+ if (WSAEINTR == WSAGetLastError()) return -1;
+#else
if (errno == EINTR) return -1;
else if (errno == EBADF)
_ecore_main_fd_handlers_bads_rem();
+#endif
}
if (ret > 0)
{
@@ -652,7 +663,7 @@ _ecore_main_loop_iterate_internal(int once_only)
if (_ecore_signal_count_get() > 0) have_signal = 1;
if (have_event || have_signal) break;
next_time = _ecore_timer_next_get();
- if (next_time < 0) goto start_loop;
+ if (next_time <= 0) break;
if (do_quit) break;
}
_ecore_loop_time = ecore_time_get();
@@ -680,40 +691,6 @@ _ecore_main_loop_iterate_internal(int once_only)
_ecore_main_fd_handlers_cleanup();
}
while (_ecore_main_fd_handlers_buf_call());
-#if _WIN32
- {
- MSG msg;
- BOOL ret;
- UINT_PTR TmrID = 0;
- if ((next_time > 0) && ((UINT) (next_time * 1000.0) > USER_TIMER_MINIMUM))
-
- {
- TmrID = SetTimer(NULL, 0, (UINT) (next_time * 1000.0), NULL);
- ret = GetMessage(&msg, NULL, 0, 0);
- }
- else
- {
- ret = PeekMessage(&msg, NULL, 0, 0, PM_REMOVE);
- }
-
- if (ret)
- {
- do
- {
- TranslateMessage(&msg);
- DispatchMessageW(&msg);
- Sleep(0); /* Give other threads a chance to run */
- } while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE));
- }
-
- if (TmrID)
- {
- KillTimer(NULL, TmrID);
- TmrID = 0;
- }
- }
-#endif
-
/* ok - too much optimising. let's call idle enterers more often. if we
* have events that place more events or jobs etc. on the event queue
@@ -723,3 +700,105 @@ _ecore_main_loop_iterate_internal(int once_only)
_ecore_idle_enterer_call();
in_main_loop--;
}
+
+#ifdef _WIN32
+static int
+_ecore_main_win32_select(int nfds, fd_set *readfds, fd_set *writefds,
+ fd_set *exceptfds, struct timeval *tv)
+{
+ HANDLE* events[MAXIMUM_WAIT_OBJECTS];
+ int sockets[MAXIMUM_WAIT_OBJECTS];
+ int events_nbr = 0;
+ DWORD result;
+ DWORD timeout;
+ MSG msg;
+ int i;
+ int res;
+
+ /* Create an event object per socket */
+ for(i = 0; i < nfds; i++)
+ {
+ WSAEVENT event;
+ long network_event;
+
+ network_event = 0;
+ if(FD_ISSET(i, readfds))
+ network_event |= FD_READ;
+ if(FD_ISSET(i, writefds))
+ network_event |= FD_WRITE;
+ if(FD_ISSET(i, exceptfds))
+ network_event |= FD_OOB;
+
+ if(network_event)
+ {
+ event = WSACreateEvent();
+ WSAEventSelect(i, event, network_event);
+ events[events_nbr] = event;
+ sockets[events_nbr] = i;
+ events_nbr++;
+ }
+ }
+
+ /* Empty the queue before waiting */
+ while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+
+ /* Wait for any message sent or posted to this queue */
+ /* or for one of the passed handles be set to signaled. */
+ if(tv == NULL)
+ timeout = INFINITE;
+ else
+ timeout = (DWORD)(tv->tv_sec * 1000.0 + tv->tv_usec / 1000.0);
+
+ result = MsgWaitForMultipleObjects(events_nbr, events, FALSE,
+ timeout, QS_ALLINPUT);
+
+ FD_ZERO(readfds);
+ FD_ZERO(writefds);
+ FD_ZERO(exceptfds);
+
+ /* The result tells us the type of event we have. */
+ if (result == WAIT_TIMEOUT)
+ {
+ res = 0;
+ }
+ else if (result == (WAIT_OBJECT_0 + events_nbr))
+ {
+ while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+
+ res = 0;
+ }
+ else if ((result >= 0) && (result < WAIT_OBJECT_0 + events_nbr))
+ {
+ WSANETWORKEVENTS network_event;
+
+ WSAEnumNetworkEvents(sockets[result], events[result], &network_event);
+
+ if(network_event.lNetworkEvents & FD_READ)
+ FD_SET(sockets[result], readfds);
+ if(network_event.lNetworkEvents & FD_WRITE)
+ FD_SET(sockets[result], writefds);
+ if(network_event.lNetworkEvents & FD_OOB)
+ FD_SET(sockets[result], exceptfds);
+
+ res = 1;
+ }
+ else
+ {
+ fprintf(stderr, "unknown result...\n");
+ }
+
+ /* Remove event objects again */
+ for(i = 0; i < events_nbr; i++)
+ WSACloseEvent(events[i]);
+
+ return res;
+}
+#endif
diff --git a/src/lib/ecore/ecore_poll.c b/src/lib/ecore/ecore_poll.c
index 20630d0..cf2c499 100644
--- a/src/lib/ecore/ecore_poll.c
+++ b/src/lib/ecore/ecore_poll.c
@@ -98,8 +98,7 @@ static int
_ecore_poller_cb_timer(void *data __UNUSED__)
{
int i;
- Ecore_List2 *l;
- Ecore_Poller *poller;
+ Ecore_Poller *poller, *l;
int changes = 0;
at_tick++;
@@ -123,9 +122,8 @@ _ecore_poller_cb_timer(void *data __UNUSED__)
* tick interval, so run all pollers hooked to that counter */
if (poller_counters[i] == 0)
{
- for (l = (Ecore_List2 *)pollers[i]; l; l = l->next)
+ EINA_INLIST_FOREACH(pollers[i], poller)
{
- poller = (Ecore_Poller *)l;
if (!poller->delete_me)
{
if (!poller->func(poller->data))
@@ -148,13 +146,13 @@ _ecore_poller_cb_timer(void *data __UNUSED__)
/* FIXME: walk all pollers and remove deleted ones */
for (i = 0; i < 15; i++)
{
- for (l = (Ecore_List2 *)pollers[i]; l;)
+ for (l = pollers[i]; l;)
{
- poller = (Ecore_Poller *)l;
- l = l->next;
+ poller = l;
+ l = (Ecore_Poller *) EINA_INLIST_GET(l)->next;
if (poller->delete_me)
{
- pollers[poller->ibit] = _ecore_list2_remove(pollers[poller->ibit], poller);
+ pollers[i] = (Ecore_Poller *) eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(poller));
free(poller);
poller_delete_count--;
changes++;
@@ -297,7 +295,7 @@ ecore_poller_add(Ecore_Poller_Type type __UNUSED__, int interval, int (*func) (v
poller->ibit = ibit;
poller->func = func;
poller->data = (void *)data;
- pollers[poller->ibit] = _ecore_list2_prepend(pollers[poller->ibit], poller);
+ pollers[poller->ibit] = (Ecore_Poller *) eina_inlist_prepend(EINA_INLIST_GET(pollers[poller->ibit]), EINA_INLIST_GET(poller));
if (poller_walking)
just_added_poller++;
else
@@ -337,7 +335,7 @@ ecore_poller_del(Ecore_Poller *poller)
}
/* not in loop so safe - delete immediately */
data = poller->data;
- pollers[poller->ibit] = _ecore_list2_remove(pollers[poller->ibit], poller);
+ pollers[poller->ibit] = (Ecore_Poller *) eina_inlist_remove(EINA_INLIST_GET(pollers[poller->ibit]), EINA_INLIST_GET(poller));
free(poller);
_ecore_poller_next_tick_eval();
return data;
@@ -347,16 +345,13 @@ void
_ecore_poller_shutdown(void)
{
int i;
- Ecore_List2 *l;
Ecore_Poller *poller;
for (i = 0; i < 15; i++)
{
- for (l = (Ecore_List2 *)pollers[i]; l;)
+ while ((poller = pollers[i]))
{
- poller = (Ecore_Poller *)l;
- l = l->next;
- pollers[poller->ibit] = _ecore_list2_remove(pollers[poller->ibit], poller);
+ pollers[i] = (Ecore_Poller *) eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(pollers[i]));
free(poller);
}
}
diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h
index 2b09627..5a7eee1 100644
--- a/src/lib/ecore/ecore_private.h
+++ b/src/lib/ecore/ecore_private.h
@@ -120,21 +120,6 @@ EAPI void ecore_print_warning(const char *function, const char *sparam);
typedef unsigned int Ecore_Magic;
-typedef struct _Ecore_List2 Ecore_List2;
-typedef struct _Ecore_List2_Data Ecore_List2_Data;
-
-struct _Ecore_List2
-{
- Ecore_List2 *next, *prev;
- Ecore_List2 *last;
-};
-
-struct _Ecore_List2_Data
-{
- Ecore_List2 __list_data;
- void *data;
-};
-
#ifndef _ECORE_H
enum _Ecore_Fd_Handler_Flags
{
@@ -240,7 +225,7 @@ typedef struct _Ecore_Poller Ecore_Poller;
#ifndef _WIN32
struct _Ecore_Exe
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
pid_t pid;
void *data;
@@ -276,7 +261,7 @@ struct _Ecore_Exe
struct _Ecore_Timer
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
double in;
double at;
@@ -290,7 +275,7 @@ struct _Ecore_Timer
struct _Ecore_Idler
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
int delete_me : 1;
int (*func) (void *data);
@@ -299,7 +284,7 @@ struct _Ecore_Idler
struct _Ecore_Idle_Enterer
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
int delete_me : 1;
int (*func) (void *data);
@@ -308,7 +293,7 @@ struct _Ecore_Idle_Enterer
struct _Ecore_Idle_Exiter
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
int delete_me : 1;
int (*func) (void *data);
@@ -335,7 +320,7 @@ struct _Ecore_Fd_Handler
struct _Ecore_Event_Handler
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
int type;
int delete_me : 1;
@@ -345,7 +330,7 @@ struct _Ecore_Event_Handler
struct _Ecore_Event_Filter
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
int delete_me : 1;
void * (*func_start) (void *data);
@@ -357,7 +342,7 @@ struct _Ecore_Event_Filter
struct _Ecore_Event
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
int type;
void *event;
@@ -368,7 +353,7 @@ struct _Ecore_Event
struct _Ecore_Animator
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
unsigned char delete_me : 1;
int (*func) (void *data);
@@ -377,7 +362,7 @@ struct _Ecore_Animator
struct _Ecore_Poller
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
int ibit;
unsigned char delete_me : 1;
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index 2ececa4..fa2c55d 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -227,7 +227,7 @@ ecore_timer_delay(Ecore_Timer *timer, double add)
}
else
{
- timers = _ecore_list2_remove(timers, timer);
+ timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer));
_ecore_timer_set(timer, timer->at + add, timer->in, timer->func, timer->data);
}
}
@@ -277,8 +277,8 @@ ecore_timer_freeze(Ecore_Timer *timer)
if (timer->frozen)
return ;
- timers = _ecore_list2_remove(timers, timer);
- suspended = _ecore_list2_prepend(suspended, timer);
+ timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer));
+ suspended = (Ecore_Timer *) eina_inlist_prepend(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer));
now = ecore_time_get();
@@ -303,7 +303,7 @@ ecore_timer_thaw(Ecore_Timer *timer)
if (!timer->frozen)
return ;
- suspended = _ecore_list2_remove(suspended, timer);
+ suspended = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer));
now = ecore_time_get();
_ecore_timer_set(timer, timer->pending + now, timer->in, timer->func, timer->data);
@@ -312,22 +312,18 @@ ecore_timer_thaw(Ecore_Timer *timer)
void
_ecore_timer_shutdown(void)
{
- while (timers)
- {
- Ecore_Timer *timer;
+ Ecore_Timer *timer;
- timer = timers;
- timers = _ecore_list2_remove(timers, timer);
+ while ((timer = timers))
+ {
+ timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timers));
ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE);
free(timer);
}
- while (suspended)
+ while ((timer = suspended))
{
- Ecore_Timer *timer;
-
- timer = suspended;
- suspended = _ecore_list2_remove(suspended, timer);
+ suspended = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(suspended));
ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE);
free(timer);
}
@@ -336,33 +332,31 @@ _ecore_timer_shutdown(void)
void
_ecore_timer_cleanup(void)
{
- Ecore_List2 *l;
+ Ecore_Timer *l;
if (!timers_delete_me) return;
- for (l = (Ecore_List2 *)timers; l;)
+ for (l = timers; l;)
{
- Ecore_Timer *timer;
+ Ecore_Timer *timer = l;
- timer = (Ecore_Timer *)l;
- l = l->next;
+ l = (Ecore_Timer *) EINA_INLIST_GET(l)->next;
if (timer->delete_me)
{
- timers = _ecore_list2_remove(timers, timer);
+ timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer));
ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE);
free(timer);
timers_delete_me--;
if (timers_delete_me == 0) return;
}
}
- for (l = (Ecore_List2 *)suspended; l;)
+ for (l = suspended; l;)
{
- Ecore_Timer *timer;
+ Ecore_Timer *timer = l;
- timer = (Ecore_Timer *)l;
- l = l->next;
+ l = (Ecore_Timer *) EINA_INLIST_GET(l)->next;
if (timer->delete_me)
{
- suspended = _ecore_list2_remove(suspended, timer);
+ suspended = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer));
ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE);
free(timer);
timers_delete_me--;
@@ -375,26 +369,21 @@ _ecore_timer_cleanup(void)
void
_ecore_timer_enable_new(void)
{
- Ecore_List2 *l;
+ Ecore_Timer *timer;
if (!timers_added) return;
timers_added = 0;
- for (l = (Ecore_List2 *)timers; l; l = l->next)
- {
- Ecore_Timer *timer;
-
- timer = (Ecore_Timer *)l;
+ EINA_INLIST_FOREACH(timers, timer)
timer->just_added = 0;
- }
}
static inline Ecore_Timer *
_ecore_timer_first_get(void)
{
- Ecore_Timer *timer = (Ecore_Timer *)timers;
+ Ecore_Timer *timer = timers;
while ((timer) && ((timer->delete_me) || (timer->just_added)))
- timer = (Ecore_Timer *)((Ecore_List2 *)timer)->next;
+ timer = (Ecore_Timer *) EINA_INLIST_GET(timer)->next;
return timer;
}
@@ -402,11 +391,11 @@ _ecore_timer_first_get(void)
static inline Ecore_Timer *
_ecore_timer_after_get(Ecore_Timer *base)
{
- Ecore_Timer *timer = (Ecore_Timer *)((Ecore_List2 *)base)->next;
+ Ecore_Timer *timer = (Ecore_Timer *) EINA_INLIST_GET(base)->next;
double maxtime = base->at + precision;
while ((timer) && ((timer->delete_me) || (timer->just_added)) && (timer->at <= maxtime))
- timer = (Ecore_Timer *)((Ecore_List2 *)timer)->next;
+ timer = (Ecore_Timer *) EINA_INLIST_GET(timer)->next;
if ((!timer) || (timer->at > maxtime))
return NULL;
@@ -437,28 +426,25 @@ _ecore_timer_next_get(void)
int
_ecore_timer_call(double when)
{
- Ecore_List2 *l;
- Ecore_Timer *timer;
+ Ecore_Timer *timer, *l;
if (!timers) return 0;
if (last_check > when)
{
/* User set time backwards */
- for (l = (Ecore_List2 *)timers; l; l = l->next)
- {
- timer = (Ecore_Timer *)l;
+ EINA_INLIST_FOREACH(timers, timer)
timer->at -= (last_check - when);
- }
}
last_check = when;
- for (l = (Ecore_List2 *)timers; l; l = l->next)
+ for (l = timers; l;)
{
- timer = (Ecore_Timer *)l;
+ timer = l;
+ l = (Ecore_Timer *) EINA_INLIST_GET(l)->next;
if ((timer->at <= when) &&
(timer->just_added == 0) &&
(timer->delete_me == 0))
{
- timers = _ecore_list2_remove(timers, timer);
+ timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer));
_ecore_timer_call(when);
if ((!timer->delete_me) && (timer->func(timer->data)))
{
@@ -492,7 +478,7 @@ _ecore_timer_call(double when)
static void
_ecore_timer_set(Ecore_Timer *timer, double at, double in, int (*func) (void *data), void *data)
{
- Ecore_List2 *l;
+ Ecore_Timer *t2;
timers_added = 1;
timer->at = at;
@@ -504,17 +490,14 @@ _ecore_timer_set(Ecore_Timer *timer, double at, double in, int (*func) (void *da
timer->pending = 0.0;
if (timers)
{
- for (l = ((Ecore_List2 *)(timers))->last; l; l = l->prev)
+ EINA_INLIST_REVERSE_FOREACH(EINA_INLIST_GET(timers), t2)
{
- Ecore_Timer *t2;
-
- t2 = (Ecore_Timer *)l;
if (timer->at > t2->at)
{
- timers = _ecore_list2_append_relative(timers, timer, t2);
+ timers = (Ecore_Timer *) eina_inlist_append_relative(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer), EINA_INLIST_GET(t2));
return;
}
}
}
- timers = _ecore_list2_prepend(timers, timer);
+ timers = (Ecore_Timer *) eina_inlist_prepend(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer));
}
diff --git a/src/lib/ecore_con/ecore_con_dns.c b/src/lib/ecore_con/ecore_con_dns.c
index 4ae6f7c..e1938a9 100644
--- a/src/lib/ecore_con/ecore_con_dns.c
+++ b/src/lib/ecore_con/ecore_con_dns.c
@@ -51,7 +51,7 @@ typedef struct _CB_Data CB_Data;
struct _CB_Data
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
void (*cb_done) (void *data, struct hostent *hostent);
void *data;
Ecore_Fd_Handler *fdh;
@@ -66,7 +66,7 @@ static int _ecore_con_dns_data_handler(void *data, Ecore_Fd_Handler *fd_handler)
static int _ecore_con_dns_exit_handler(void *data, int type __UNUSED__, void *event);
static int dns_init = 0;
-static Ecore_List2 *dns_slaves = NULL;
+static CB_Data *dns_slaves = NULL;
int
ecore_con_dns_init(void)
@@ -81,7 +81,7 @@ ecore_con_dns_shutdown(void)
dns_init--;
if (dns_init == 0)
{
- while (dns_slaves) _ecore_con_dns_slave_free((CB_Data *)dns_slaves);
+ while (dns_slaves) _ecore_con_dns_slave_free(dns_slaves);
}
return dns_init;
}
@@ -151,7 +151,7 @@ ecore_con_dns_lookup(const char *name,
close(fd[0]);
return 0;
}
- dns_slaves = _ecore_list2_append(dns_slaves, cbdata);
+ dns_slaves = (CB_Data *) eina_inlist_append(EINA_INLIST_GET(dns_slaves), EINA_INLIST_GET(cbdata));
return 1;
}
@@ -181,7 +181,7 @@ _ecore_con_dns_readdata(CB_Data *cbdata)
static void
_ecore_con_dns_slave_free(CB_Data *cbdata)
{
- dns_slaves = _ecore_list2_remove(dns_slaves, cbdata);
+ dns_slaves = (CB_Data *) eina_inlist_remove(EINA_INLIST_GET(dns_slaves), EINA_INLIST_GET(cbdata));
close(ecore_main_fd_handler_fd_get(cbdata->fdh));
ecore_main_fd_handler_del(cbdata->fdh);
ecore_event_handler_del(cbdata->handler);
diff --git a/src/lib/ecore_con/ecore_con_info.c b/src/lib/ecore_con/ecore_con_info.c
index 0c33d74..837a097 100644
--- a/src/lib/ecore_con/ecore_con_info.c
+++ b/src/lib/ecore_con/ecore_con_info.c
@@ -32,7 +32,7 @@ typedef struct _CB_Data CB_Data;
struct _CB_Data
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
Ecore_Con_Info_Cb cb_done;
void *data;
Ecore_Fd_Handler *fdh;
@@ -48,7 +48,7 @@ static int _ecore_con_info_data_handler(void *data, Ecore_Fd_Handler *fd_handler
static int _ecore_con_info_exit_handler(void *data, int type __UNUSED__, void *event);
static int info_init = 0;
-static Ecore_List2 *info_slaves = NULL;
+static CB_Data *info_slaves = NULL;
EAPI int
ecore_con_info_init(void)
@@ -63,7 +63,7 @@ ecore_con_info_shutdown(void)
info_init--;
if (info_init == 0)
{
- while (info_slaves) _ecore_con_info_slave_free((CB_Data *)info_slaves);
+ while (info_slaves) _ecore_con_info_slave_free(info_slaves);
}
return info_init;
}
@@ -259,7 +259,7 @@ on_error:
close(fd[0]);
return 0;
}
- info_slaves = _ecore_list2_append(info_slaves, cbdata);
+ info_slaves = (CB_Data *) eina_inlist_append(EINA_INLIST_GET(info_slaves), EINA_INLIST_GET(cbdata));
return 1;
}
@@ -310,7 +310,7 @@ _ecore_con_info_readdata(CB_Data *cbdata)
static void
_ecore_con_info_slave_free(CB_Data *cbdata)
{
- info_slaves = _ecore_list2_remove(info_slaves, cbdata);
+ info_slaves = (CB_Data *) eina_inlist_remove(EINA_INLIST_GET(info_slaves), EINA_INLIST_GET(cbdata));
close(ecore_main_fd_handler_fd_get(cbdata->fdh));
ecore_main_fd_handler_del(cbdata->fdh);
ecore_event_handler_del(cbdata->handler);
diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index ccff83c..5222f09 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -71,7 +71,7 @@ extern "C" {
typedef enum _Ecore_Evas_Engine_Type
{
ECORE_EVAS_ENGINE_SOFTWARE_BUFFER,
- ECORE_EVAS_ENGINE_SOFTWARE_X11,
+ ECORE_EVAS_ENGINE_SOFTWARE_XLIB,
ECORE_EVAS_ENGINE_XRENDER_X11,
ECORE_EVAS_ENGINE_OPENGL_X11,
ECORE_EVAS_ENGINE_SOFTWARE_XCB,
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 8acdef3..47617c3 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -38,8 +38,8 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
#else
return 0;
#endif
- case ECORE_EVAS_ENGINE_SOFTWARE_X11:
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
+ case ECORE_EVAS_ENGINE_SOFTWARE_XLIB:
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_XLIB
return 1;
#else
return 0;
@@ -507,9 +507,6 @@ static const struct ecore_evas_engine _engines[] = {
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
{"opengl_x11", _ecore_evas_constructor_opengl_x11},
#endif
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
- {"software_xcb", _ecore_evas_constructor_software_x11},
-#endif
#ifdef BUILD_ECORE_EVAS_XRENDER_XCB
{"xrender_xcb", _ecore_evas_constructor_xrender_x11},
#endif
diff --git a/src/lib/ecore_evas/ecore_evas_buffer.c b/src/lib/ecore_evas/ecore_evas_buffer.c
index dd43569..b3f7da0 100644
--- a/src/lib/ecore_evas/ecore_evas_buffer.c
+++ b/src/lib/ecore_evas/ecore_evas_buffer.c
@@ -29,8 +29,6 @@ _ecore_evas_buffer_init(void)
static void
_ecore_evas_buffer_free(Ecore_Evas *ee)
{
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
- _ecore_evas_buffer_shutdown();
if (ee->engine.buffer.image)
{
Ecore_Evas *ee2;
@@ -40,7 +38,12 @@ _ecore_evas_buffer_free(Ecore_Evas *ee)
ee2->sub_ecore_evas = eina_list_remove(ee2->sub_ecore_evas, ee);
}
else
- free(ee->engine.buffer.pixels);
+ {
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
+
+ free(ee->engine.buffer.pixels);
+ }
+ _ecore_evas_buffer_shutdown();
}
static void
@@ -90,7 +93,7 @@ _ecore_evas_buffer_shutdown(void)
{
while (ecore_evases)
{
- _ecore_evas_free((Ecore_Evas *)ecore_evases);
+ _ecore_evas_free(ecore_evases);
}
if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_shutdown();
}
@@ -121,7 +124,7 @@ _ecore_evas_buffer_render(Ecore_Evas *ee)
updates = evas_render_updates(ee->evas);
if (ee->engine.buffer.image)
{
- Evas_Rectangle *r;
+ Eina_Rectangle *r;
EINA_LIST_FOREACH(updates, l, r)
if (ee->engine.buffer.image)
@@ -496,7 +499,7 @@ ecore_evas_buffer_new(int w, int h)
evas_event_feed_mouse_in(ee->evas, 0, NULL);
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
return ee;
#else
return NULL;
diff --git a/src/lib/ecore_evas/ecore_evas_directfb.c b/src/lib/ecore_evas/ecore_evas_directfb.c
index 82d0ee4..02e59fc 100644
--- a/src/lib/ecore_evas/ecore_evas_directfb.c
+++ b/src/lib/ecore_evas/ecore_evas_directfb.c
@@ -54,7 +54,7 @@ _ecore_evas_directfb_render(Ecore_Evas *ee)
static int
_ecore_evas_directfb_idle_enter(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
double t1 = 0.0;
double t2 = 0.0;
@@ -63,13 +63,8 @@ _ecore_evas_directfb_idle_enter(void *data __UNUSED__)
{
t1 = ecore_time_get();
}
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
- {
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
+ EINA_INLIST_FOREACH(ecore_evases, ee)
_ecore_evas_directfb_render(ee);
- }
if (_ecore_evas_fps_debug)
{
t2 = ecore_time_get();
@@ -312,7 +307,7 @@ _ecore_evas_directfb_free(Ecore_Evas *ee)
{
eina_hash_del(ecore_evases_hash, _ecore_evas_directfb_winid_str_get(ee->engine.directfb.window->id), ee);
ecore_directfb_window_free(ee->engine.directfb.window);
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
_ecore_evas_directfb_shutdown();
ecore_directfb_shutdown();
}
@@ -577,7 +572,7 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
einfo->info.surface = window->surface;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
if (!ecore_evases_hash)
ecore_evases_hash = eina_hash_string_superfast_new(NULL);
eina_hash_add(ecore_evases_hash, _ecore_evas_directfb_winid_str_get(ee->engine.directfb.window->id), ee);
diff --git a/src/lib/ecore_evas/ecore_evas_fb.c b/src/lib/ecore_evas/ecore_evas_fb.c
index 8a712c9..561ff2f 100644
--- a/src/lib/ecore_evas/ecore_evas_fb.c
+++ b/src/lib/ecore_evas/ecore_evas_fb.c
@@ -76,17 +76,12 @@ _ecore_evas_fb_match(void)
static void
_ecore_evas_fb_lose(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
Eina_List *ll;
Ecore_Fb_Input_Device *dev;
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
- {
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
+ EINA_INLIST_FOREACH(ecore_evases, ee)
ee->visible = 0;
- }
EINA_LIST_FOREACH(ecore_evas_input_devices, ll, dev)
ecore_fb_input_device_listen(dev, 0);
@@ -95,15 +90,12 @@ _ecore_evas_fb_lose(void *data __UNUSED__)
static void
_ecore_evas_fb_gain(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
Eina_List *ll;
Ecore_Fb_Input_Device *dev;
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
+ EINA_INLIST_FOREACH(ecore_evases,ee)
{
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
ee->visible = 1;
if ((ee->rotation == 90) || (ee->rotation == 270))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
@@ -201,7 +193,7 @@ _ecore_evas_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *
static int
_ecore_evas_idle_enter(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
double t1 = 0.0;
double t2 = 0.0;
@@ -210,11 +202,8 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
{
t1 = ecore_time_get();
}
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
+ EINA_INLIST_FOREACH(ecore_evases, ee)
{
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
if (ee->visible)
{
Eina_List *updates;
@@ -333,7 +322,7 @@ _ecore_evas_fb_init(int w, int h)
static void
_ecore_evas_fb_free(Ecore_Evas *ee)
{
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
_ecore_evas_fb_shutdown();
ecore_fb_shutdown();
}
@@ -685,7 +674,7 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
return ee;
}
#else
diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h
index f2c9e6f..199a43b 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -42,7 +42,7 @@
# ifdef HAVE_ECORE_X_XLIB
# include <X11/Xlib.h>
# include <X11/Xutil.h>
-# ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
+# ifdef BUILD_ECORE_EVAS_SOFTWARE_XLIB
# include <Evas_Engine_Software_X11.h>
# endif
# ifdef BUILD_ECORE_EVAS_XRENDER_X11
@@ -157,7 +157,7 @@ struct _Ecore_Evas_Engine
{
Ecore_Evas_Engine_Func *func;
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
struct {
Ecore_X_Window win_root;
Eina_List *win_extra;
@@ -222,7 +222,7 @@ struct _Ecore_Evas_Engine
struct _Ecore_Evas
{
- Ecore_List __list_data;
+ EINA_INLIST;
ECORE_MAGIC;
Evas *evas;
const char *driver;
diff --git a/src/lib/ecore_evas/ecore_evas_quartz.c b/src/lib/ecore_evas/ecore_evas_quartz.c
index 07231f4..cea117c 100644
--- a/src/lib/ecore_evas/ecore_evas_quartz.c
+++ b/src/lib/ecore_evas/ecore_evas_quartz.c
@@ -56,13 +56,10 @@ static NSWindow * main_window;
{
if(ctx != NULL)
{
- Ecore_List2 *l;
+ Ecore_evas *ee;
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
+ EINA_INLIST_FOREACH(ecore_evases, ee)
{
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
if (ee->visible)
evas_damage_rectangle_add(ee->evas, 0, 0, 400, 400);
}
@@ -146,14 +143,12 @@ _ecore_evas_quartz_event_video_expose(void *data __UNUSED__, int type __UNUSED__
static int
_ecore_evas_idle_enter(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
double t1 = 0.;
double t2 = 0.;
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
+ EINA_INLIST_FOREACH(ecore_evases, ee)
{
- Ecore_Evas *ee = (Ecore_Evas *)l;
-
if (ee->visible)
evas_render(ee->evas);
else
@@ -214,7 +209,7 @@ _ecore_evas_quartz_shutdown(void)
static void
_ecore_evas_quartz_free(Ecore_Evas *ee)
{
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_unregister(0);
_ecore_evas_quartz_shutdown();
ecore_quartz_shutdown();
@@ -435,7 +430,7 @@ ecore_evas_quartz_new(const char* name, int w, int h)
evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
return ee;
free_window:
@@ -452,7 +447,7 @@ ecore_evas_quartz_new(const char* name, int w, int h)
return NULL;
#else
- fprintf(stderr, "OUTCH !\n");
+ fprintf(stderr, "OUTCH name='%s' size=%dx%d!\n", name ? name : "", w, h);
return NULL;
#endif
}
diff --git a/src/lib/ecore_evas/ecore_evas_sdl.c b/src/lib/ecore_evas/ecore_evas_sdl.c
index 40adc6b..e45216e 100644
--- a/src/lib/ecore_evas/ecore_evas_sdl.c
+++ b/src/lib/ecore_evas/ecore_evas_sdl.c
@@ -115,7 +115,7 @@ _ecore_evas_render(Ecore_Evas *ee)
static int
_ecore_evas_idle_enter(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
double t1 = 0.0;
double t2 = 0.0;
@@ -126,17 +126,12 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
t1 = ecore_time_get();
}
#endif /* _WIN32 */
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
+ EINA_INLIST_FOREACH(ecore_evases, ee)
{
- Ecore_Evas *ee;
#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
Eina_List *ll;
Ecore_Evas *ee2;
-#endif
-
- ee = (Ecore_Evas *)l;
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
{
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
@@ -229,7 +224,7 @@ _ecore_evas_sdl_shutdown(void)
static void
_ecore_evas_sdl_free(Ecore_Evas *ee)
{
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_unregister(0);
_ecore_evas_sdl_shutdown();
ecore_sdl_shutdown();
@@ -422,13 +417,13 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu
_ecore_evas_sdl_init(w, h);
- ecore_event_window_register(0, ee, ee->evas, _ecore_evas_mouse_move_process);
+ ecore_event_window_register(0, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
SDL_ShowCursor(SDL_DISABLE);
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
return ee;
}
#endif
diff --git a/src/lib/ecore_evas/ecore_evas_win32.c b/src/lib/ecore_evas/ecore_evas_win32.c
index 3497948..168267b 100644
--- a/src/lib/ecore_evas/ecore_evas_win32.c
+++ b/src/lib/ecore_evas/ecore_evas_win32.c
@@ -95,7 +95,7 @@ _ecore_evas_win32_render(Ecore_Evas *ee)
static int
_ecore_evas_win32_idle_enter(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
double t1 = 0.0;
double t2 = 0.0;
@@ -104,14 +104,10 @@ _ecore_evas_win32_idle_enter(void *data __UNUSED__)
{
t1 = ecore_time_get();
}
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
- {
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
+ EINA_INLIST_FOREACH(ecore_evases, ee)
_ecore_evas_win32_render(ee);
- }
-/* ecore_x_flush(); */
+
+ /* ecore_x_flush(); */
if (_ecore_evas_fps_debug)
{
t2 = ecore_time_get();
@@ -406,7 +402,7 @@ _ecore_evas_win32_free(Ecore_Evas *ee)
ecore_win32_window_free(ee->prop.window);
ecore_event_window_unregister(ee->prop.window);
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
_ecore_evas_win32_shutdown();
ecore_win32_shutdown();
}
@@ -1098,7 +1094,7 @@ _ecore_evas_win32_new_internal(int (*_ecore_evas_engine_init)(Ecore_Evas *ee),
return NULL;
}
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_register(ee->prop.window, ee, ee->evas, _ecore_evas_mouse_move_process);
return ee;
diff --git a/src/lib/ecore_evas/ecore_evas_wince.c b/src/lib/ecore_evas/ecore_evas_wince.c
index 66d6a60..bc9c420 100644
--- a/src/lib/ecore_evas/ecore_evas_wince.c
+++ b/src/lib/ecore_evas/ecore_evas_wince.c
@@ -93,7 +93,7 @@ _ecore_evas_wince_render(Ecore_Evas *ee)
static int
_ecore_evas_wince_idle_enter(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
double t1 = 0.0;
double t2 = 0.0;
@@ -102,13 +102,9 @@ _ecore_evas_wince_idle_enter(void *data __UNUSED__)
{
t1 = ecore_time_get();
}
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
- {
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
+ EINA_INLIST_FOREACH(ecore_evases, ee)
_ecore_evas_wince_render(ee);
- }
+
if (_ecore_evas_fps_debug)
{
t2 = ecore_time_get();
@@ -342,7 +338,7 @@ _ecore_evas_wince_free(Ecore_Evas *ee)
ecore_wince_window_free((Ecore_WinCE_Window *)ee->prop.window);
ecore_event_window_unregister(ee->prop.window);
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
_ecore_evas_wince_shutdown();
ecore_wince_shutdown();
}
@@ -853,7 +849,7 @@ ecore_evas_software_wince_new_internal(int backend,
ecore_wince_window_resume_set((Ecore_WinCE_Window *)ee->prop.window, einfo->func.resume);
}
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb)_ecore_evas_mouse_move_process);
return ee;
diff --git a/src/lib/ecore_evas/ecore_evas_x.c b/src/lib/ecore_evas/ecore_evas_x.c
index 7fe922c..f0ee394 100644
--- a/src/lib/ecore_evas/ecore_evas_x.c
+++ b/src/lib/ecore_evas/ecore_evas_x.c
@@ -141,7 +141,7 @@ _ecore_evas_x_gl_window_new(Ecore_Evas *ee, Ecore_X_Window parent, int x, int y,
static int
_ecore_evas_x_render(Ecore_Evas *ee)
{
- Evas_Rectangle *r;
+ Eina_Rectangle *r;
Eina_List *updates, *l;
int rend = 0;
#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
@@ -315,7 +315,7 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
{
if (!strcmp(ee->driver, "software_x11"))
{
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
@@ -337,7 +337,7 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
}
-#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
+#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
@@ -353,9 +353,9 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
foreground = 0;
- ecore_x_gc_new(ee->engine.x.mask,
- ECORE_X_GC_VALUE_MASK_FOREGROUND,
- &foreground);
+ gc = ecore_x_gc_new(ee->engine.x.mask,
+ ECORE_X_GC_VALUE_MASK_FOREGROUND,
+ &foreground);
ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
ecore_x_gc_free(gc);
@@ -375,9 +375,6 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{
- GC gc;
- XGCValues gcv;
-
if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
einfo->info.mask = ee->engine.x.mask;
@@ -998,7 +995,7 @@ _ecore_evas_x_layer_update(Ecore_Evas *ee)
static int
_ecore_evas_x_idle_enter(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_Evas *ee;
double t1 = 0.0;
double t2 = 0.0;
int rend = 0;
@@ -1008,13 +1005,8 @@ _ecore_evas_x_idle_enter(void *data __UNUSED__)
{
t1 = ecore_time_get();
}
- for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
- {
- Ecore_Evas *ee;
-
- ee = (Ecore_Evas *)l;
+ EINA_INLIST_FOREACH(ecore_evases, ee)
rend |= _ecore_evas_x_render(ee);
- }
ecore_x_flush();
if (_ecore_evas_fps_debug)
{
@@ -1071,7 +1063,7 @@ _ecore_evas_x_free(Ecore_Evas *ee)
ecore_event_window_unregister(*winp);
free(winp);
}
- ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_remove(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
_ecore_evas_x_shutdown();
ecore_x_shutdown();
}
@@ -1321,7 +1313,7 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
if (!strcmp(ee->driver, "xrender_x11")) return;
if (!strcmp(ee->driver, "software_x11"))
{
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
@@ -1329,7 +1321,7 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
einfo->info.rotation = rotation;
_ecore_evas_x_rotation_set_internal
(ee, rotation, (Evas_Engine_Info *)einfo);
-#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
+#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
@@ -1353,7 +1345,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
if (!strcmp(ee->driver, "opengl_x11")) return;
if (!strcmp(ee->driver, "software_x11"))
{
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
@@ -1389,7 +1381,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
}
}
-#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
+#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
@@ -1484,7 +1476,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
if (!strcmp(ee->driver, "software_x11"))
{
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
@@ -1553,7 +1545,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
}
-#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
+#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
@@ -2055,7 +2047,7 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
if (!strcmp(ee->driver, "software_x11"))
{
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
Evas_Engine_Info_Software_X11 *einfo;
ee->prop.avoid_damage = on;
@@ -2102,7 +2094,7 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
}
-#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
+#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
@@ -2156,7 +2148,7 @@ _ecore_evas_x_shutdown(void)
_ecore_evas_init_count--;
if (_ecore_evas_init_count == 0)
{
- int i;
+ unsigned int i;
while (ecore_evases) _ecore_evas_free(ecore_evases);
for (i = 0; i < sizeof(ecore_evas_event_handlers) / sizeof(Ecore_Event_Handler*); i++)
@@ -2230,7 +2222,7 @@ static const Ecore_Evas_Engine_Func _ecore_x_engine_func =
*
* FIXME: To be fixed.
*/
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
EAPI Ecore_Evas *
ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
int x, int y, int w, int h)
@@ -2387,11 +2379,11 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
redraw_debug = 0;
}
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
- einfo->info.backend = 1;
+ einfo->info.backend = EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB;
einfo->info.connection = ecore_x_connection_get();
einfo->info.screen = screen;
# else
- einfo->info.backend = 0;
+ einfo->info.backend = EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB;
einfo->info.connection = ecore_x_display_get();
einfo->info.screen = NULL;
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
@@ -2453,7 +2445,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
return ee;
}
@@ -2471,7 +2463,7 @@ ecore_evas_software_x11_new(const char *disp_name __UNUSED__, Ecore_X_Window par
*
* FIXME: To be fixed.
*/
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
EAPI Ecore_X_Window
ecore_evas_software_x11_window_get(const Ecore_Evas *ee)
{
@@ -2490,7 +2482,7 @@ ecore_evas_software_x11_window_get(const Ecore_Evas *ee __UNUSED__)
*
* FIXME: To be fixed.
*/
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
EAPI void
ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on)
{
@@ -2526,7 +2518,7 @@ ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee __UNUSED__, int on __UN
*
* FIXME: To be fixed.
*/
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
EAPI int
ecore_evas_software_x11_direct_resize_get(const Ecore_Evas *ee)
{
@@ -2545,7 +2537,7 @@ ecore_evas_software_x11_direct_resize_get(const Ecore_Evas *ee __UNUSED__)
*
* FIXME: To be fixed.
*/
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
EAPI void
ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
{
@@ -2579,7 +2571,6 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
# ifdef HAVE_ECORE_X_XCB
Ecore_Evas *ee = NULL;
# else
- Evas_Engine_Info_GL_X11 *einfo;
Ecore_Evas *ee;
int rmethod;
@@ -2621,12 +2612,9 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
if (parent == 0) parent = DefaultRootWindow(ecore_x_display_get());
ee->engine.x.win_root = parent;
- einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- ee->prop.window = _ecore_evas_x_gl_window_new(ee, ee->engine.x.win_root, x, y, w, h, 0);
- evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
- }
+
+ ee->prop.window = _ecore_evas_x_gl_window_new(ee, ee->engine.x.win_root, x, y, w, h, 0);
+
if (getenv("DESKTOP_STARTUP_ID"))
{
ecore_x_netwm_startup_id_set(ee->prop.window,
@@ -2637,7 +2625,7 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
// putenv((char*)"DESKTOP_STARTUP_ID=");
}
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
# endif /* HAVE_ECORE_X_XCB */
@@ -2876,7 +2864,7 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
return ee;
}
@@ -3085,7 +3073,7 @@ ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent,
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
- ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
+ ecore_evases = (Ecore_Evas *) eina_inlist_prepend(EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
return ee;
}
diff --git a/src/lib/ecore_file/ecore_file_monitor_inotify.c b/src/lib/ecore_file/ecore_file_monitor_inotify.c
index a505ef3..af68cf7 100644
--- a/src/lib/ecore_file/ecore_file_monitor_inotify.c
+++ b/src/lib/ecore_file/ecore_file_monitor_inotify.c
@@ -47,7 +47,7 @@ struct _Ecore_File_Monitor_Inotify
};
static Ecore_Fd_Handler *_fdh = NULL;
-static Ecore_List2 *_monitors = NULL;
+static Ecore_File_Monitor *_monitors = NULL;
static int _ecore_file_monitor_inotify_handler(void *data, Ecore_Fd_Handler *fdh);
static Ecore_File_Monitor *_ecore_file_monitor_inotify_monitor_find(int wd);
@@ -81,16 +81,9 @@ int
ecore_file_monitor_inotify_shutdown(void)
{
int fd;
- Ecore_List2 *l;
- for (l = _monitors; l;)
- {
- Ecore_File_Monitor *em;
-
- em = ECORE_FILE_MONITOR(l);
- l = l->next;
- ecore_file_monitor_inotify_del(em);
- }
+ while(_monitors)
+ ecore_file_monitor_inotify_del(_monitors);
if (_fdh)
{
@@ -122,7 +115,7 @@ ecore_file_monitor_inotify_add(const char *path,
if (em->path[len - 1] == '/' && strcmp(em->path, "/"))
em->path[len - 1] = 0;
- _monitors = _ecore_list2_append(_monitors, em);
+ _monitors = ECORE_FILE_MONITOR(eina_inlist_append(EINA_INLIST_GET(_monitors), EINA_INLIST_GET(em)));
if (ecore_file_exists(em->path))
{
@@ -143,7 +136,7 @@ ecore_file_monitor_inotify_del(Ecore_File_Monitor *em)
{
int fd;
- _monitors = _ecore_list2_remove(_monitors, em);
+ _monitors = ECORE_FILE_MONITOR(eina_inlist_remove(EINA_INLIST_GET(_monitors), EINA_INLIST_GET(em)));
fd = ecore_main_fd_handler_fd_get(_fdh);
if (ECORE_FILE_MONITOR_INOTIFY(em)->wd)
@@ -181,16 +174,12 @@ _ecore_file_monitor_inotify_handler(void *data __UNUSED__, Ecore_Fd_Handler *fdh
static Ecore_File_Monitor *
_ecore_file_monitor_inotify_monitor_find(int wd)
{
- Ecore_List2 *l;
+ Ecore_File_Monitor *l;
- for (l = _monitors; l; l = l->next)
+ EINA_INLIST_FOREACH(_monitors, l)
{
- Ecore_File_Monitor *em;
-
- em = ECORE_FILE_MONITOR(l);
-
- if (ECORE_FILE_MONITOR_INOTIFY(em)->wd == wd)
- return em;
+ if (ECORE_FILE_MONITOR_INOTIFY(l)->wd == wd)
+ return l;
}
return NULL;
}
diff --git a/src/lib/ecore_file/ecore_file_monitor_poll.c b/src/lib/ecore_file/ecore_file_monitor_poll.c
index 76bdc70..7f2912c 100644
--- a/src/lib/ecore_file/ecore_file_monitor_poll.c
+++ b/src/lib/ecore_file/ecore_file_monitor_poll.c
@@ -22,7 +22,6 @@
*/
typedef struct _Ecore_File_Monitor_Poll Ecore_File_Monitor_Poll;
-typedef struct _Ecore_File Ecore_File;
#define ECORE_FILE_MONITOR_POLL(x) ((Ecore_File_Monitor_Poll *)(x))
@@ -33,21 +32,13 @@ struct _Ecore_File_Monitor_Poll
unsigned char deleted;
};
-struct _Ecore_File
-{
- Ecore_List2 __list_data;
- char *name;
- int mtime;
- unsigned char is_dir;
-};
-
#define ECORE_FILE_INTERVAL_MIN 1.0
#define ECORE_FILE_INTERVAL_STEP 0.5
#define ECORE_FILE_INTERVAL_MAX 5.0
static double _interval = ECORE_FILE_INTERVAL_MIN;
static Ecore_Timer *_timer = NULL;
-static Ecore_List2 *_monitors = NULL;
+static Ecore_File_Monitor *_monitors = NULL;
static int _lock = 0;
static int _ecore_file_monitor_poll_handler(void *data);
@@ -63,16 +54,8 @@ ecore_file_monitor_poll_init(void)
int
ecore_file_monitor_poll_shutdown(void)
{
- Ecore_List2 *l;
-
- for (l = _monitors; l;)
- {
- Ecore_File_Monitor *em;
-
- em = ECORE_FILE_MONITOR(l);
- l = l->next;
- ecore_file_monitor_poll_del(em);
- }
+ while(_monitors)
+ ecore_file_monitor_poll_del(_monitors);
if (_timer)
{
@@ -97,7 +80,7 @@ ecore_file_monitor_poll_add(const char *path,
em = calloc(1, sizeof(Ecore_File_Monitor_Poll));
if (!em) return NULL;
-
+
if (!_timer)
_timer = ecore_timer_add(_interval, _ecore_file_monitor_poll_handler, NULL);
else
@@ -134,10 +117,10 @@ ecore_file_monitor_poll_add(const char *path,
}
snprintf(buf, sizeof(buf), "%s/%s", em->path, file);
- f->name = file;
+ f->name = file;
f->mtime = ecore_file_mod_time(buf);
f->is_dir = ecore_file_is_dir(buf);
- em->files = _ecore_list2_append(em->files, f);
+ em->files = (Ecore_File *) eina_inlist_append(EINA_INLIST_GET(em->files), EINA_INLIST_GET(f));
}
}
}
@@ -147,7 +130,7 @@ ecore_file_monitor_poll_add(const char *path,
return NULL;
}
- _monitors = _ecore_list2_append(_monitors, em);
+ _monitors = ECORE_FILE_MONITOR(eina_inlist_append(EINA_INLIST_GET(_monitors), EINA_INLIST_GET(em)));
return em;
}
@@ -155,7 +138,7 @@ ecore_file_monitor_poll_add(const char *path,
void
ecore_file_monitor_poll_del(Ecore_File_Monitor *em)
{
- Ecore_List2 *l;
+ Ecore_File *l;
if (_lock)
{
@@ -169,20 +152,19 @@ ecore_file_monitor_poll_del(Ecore_File_Monitor *em)
{
for (l = em->files; l;)
{
- Ecore_File *file;
-
- file = (Ecore_File *)l;
- l = l->next;
+ Ecore_File *file = l;
+
+ l = (Ecore_File *) EINA_INLIST_GET(l)->next;
free(file->name);
free(file);
}
}
-
- _monitors = _ecore_list2_remove(_monitors, em);
-
+
+ _monitors = ECORE_FILE_MONITOR(eina_inlist_remove(EINA_INLIST_GET(_monitors), EINA_INLIST_GET(em)));
+
free(em->path);
free(em);
-
+
if (_timer)
{
if (!_monitors)
@@ -198,18 +180,13 @@ ecore_file_monitor_poll_del(Ecore_File_Monitor *em)
static int
_ecore_file_monitor_poll_handler(void *data __UNUSED__)
{
- Ecore_List2 *l;
+ Ecore_File_Monitor *l;
_interval += ECORE_FILE_INTERVAL_STEP;
_lock = 1;
- for (l = _monitors; l; l = l->next)
- {
- Ecore_File_Monitor *em;
-
- em = ECORE_FILE_MONITOR(l);
- _ecore_file_monitor_poll_check(em);
- }
+ EINA_INLIST_FOREACH(_monitors, l)
+ _ecore_file_monitor_poll_check(l);
_lock = 0;
if (_interval > ECORE_FILE_INTERVAL_MAX)
@@ -218,10 +195,9 @@ _ecore_file_monitor_poll_handler(void *data __UNUSED__)
for (l = _monitors; l;)
{
- Ecore_File_Monitor *em;
+ Ecore_File_Monitor *em = l;
- em = ECORE_FILE_MONITOR(l);
- l = l->next;
+ l = ECORE_FILE_MONITOR(EINA_INLIST_GET(l)->next);
if (ECORE_FILE_MONITOR_POLL(em)->deleted)
ecore_file_monitor_del(em);
}
@@ -238,17 +214,16 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
is_dir = ecore_file_is_dir(em->path);
if (mtime < ECORE_FILE_MONITOR_POLL(em)->mtime)
{
- Ecore_List2 *l;
+ Ecore_File *l;
Ecore_File_Event event;
-
+
/* Notify all files deleted */
for (l = em->files; l;)
{
- Ecore_File *f;
+ Ecore_File *f = l;
char buf[PATH_MAX];
-
- f = (Ecore_File *)l;
- l = l->next;
+
+ l = (Ecore_File *) EINA_INLIST_GET(l)->next;
snprintf(buf, sizeof(buf), "%s/%s", em->path, f->name);
if (f->is_dir)
@@ -265,18 +240,17 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
}
else
{
- Ecore_List2 *l;
+ Ecore_File *l;
/* Check for changed files */
for (l = em->files; l;)
{
- Ecore_File *f;
+ Ecore_File *f = l;
char buf[PATH_MAX];
int mtime;
Ecore_File_Event event;
- f = (Ecore_File *)l;
- l = l->next;
+ l = (Ecore_File *) EINA_INLIST_GET(l)->next;
snprintf(buf, sizeof(buf), "%s/%s", em->path, f->name);
mtime = ecore_file_mod_time(buf);
@@ -288,7 +262,7 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
event = ECORE_FILE_EVENT_DELETED_FILE;
em->func(em->data, em, event, buf);
- em->files = _ecore_list2_remove(em->files, f);
+ em->files = (Ecore_File *) eina_inlist_remove(EINA_INLIST_GET(em->files), EINA_INLIST_GET(f));
free(f->name);
free(f);
_interval = ECORE_FILE_INTERVAL_MIN;
@@ -313,22 +287,22 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
/* Files have been added or removed */
files = ecore_file_ls(em->path);
if (files)
- {
+ {
/* Are we a directory? We should check first, rather than rely on null here*/
EINA_LIST_FOREACH(files, l, file)
{
Ecore_File *f;
char buf[PATH_MAX];
Ecore_File_Event event;
-
+
if (_ecore_file_monitor_poll_checking(em, file))
continue;
-
+
snprintf(buf, sizeof(buf), "%s/%s", em->path, file);
f = calloc(1, sizeof(Ecore_File));
if (!f)
continue;
-
+
f->name = strdup(file);
f->mtime = ecore_file_mod_time(buf);
f->is_dir = ecore_file_mod_time(buf);
@@ -337,7 +311,7 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
else
event = ECORE_FILE_EVENT_CREATED_FILE;
em->func(em->data, em, event, buf);
- em->files = _ecore_list2_append(em->files, f);
+ em->files = (Ecore_File *) eina_inlist_append(EINA_INLIST_GET(em->files), EINA_INLIST_GET(f));
}
while (files)
{
@@ -346,7 +320,7 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
files = eina_list_remove_list(files, files);
}
}
-
+
if (!ecore_file_is_dir(em->path))
em->func(em->data, em, ECORE_FILE_EVENT_MODIFIED, em->path);
_interval = ECORE_FILE_INTERVAL_MIN;
@@ -358,14 +332,11 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
static int
_ecore_file_monitor_poll_checking(Ecore_File_Monitor *em, char *name)
{
- Ecore_List2 *l;
+ Ecore_File *l;
- for (l = em->files; l; l = l->next)
+ EINA_INLIST_FOREACH(em->files, l)
{
- Ecore_File *f;
-
- f = (Ecore_File *)l;
- if (!strcmp(f->name, name))
+ if (!strcmp(l->name, name))
return 1;
}
return 0;
diff --git a/src/lib/ecore_file/ecore_file_private.h b/src/lib/ecore_file/ecore_file_private.h
index 0c642ae..22d3b30 100644
--- a/src/lib/ecore_file/ecore_file_private.h
+++ b/src/lib/ecore_file/ecore_file_private.h
@@ -21,9 +21,18 @@ int ecore_file_monitor_shutdown(void);
#define ECORE_FILE_MONITOR(x) ((Ecore_File_Monitor *)(x))
+typedef struct _Ecore_File Ecore_File;
+struct _Ecore_File
+{
+ EINA_INLIST;
+ char *name;
+ int mtime;
+ unsigned char is_dir;
+};
+
struct _Ecore_File_Monitor
{
- Ecore_List2 __list_data;
+ EINA_INLIST;
void (*func) (void *data,
Ecore_File_Monitor *ecore_file_monitor,
Ecore_File_Event event,
@@ -31,7 +40,7 @@ struct _Ecore_File_Monitor
char *path;
void *data;
- Ecore_List2 *files;
+ Ecore_File *files;
};
#ifdef HAVE_INOTIFY
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 1500b18..b3a0164 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -1301,7 +1301,10 @@ EAPI void ecore_x_atom_get_prefetch(const char *name);
EAPI void ecore_x_atom_get_fetch(void);
EAPI Ecore_X_Atom ecore_x_atom_get(const char *name);
EAPI void ecore_x_atoms_get(const char **names, int num, Ecore_X_Atom *atoms);
-
+EAPI void ecore_x_get_atom_name_prefetch(Ecore_X_Atom atom);
+EAPI void ecore_x_get_atom_name_fetch(void);
+EAPI char *ecore_x_atom_name_get(Ecore_X_Atom atom);
+
EAPI void ecore_x_icccm_init(void);
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_atom.c b/src/lib/ecore_x/xcb/ecore_xcb_atom.c
index ac087e8..fa5bf24 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_atom.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_atom.c
@@ -421,3 +421,63 @@ ecore_x_atom_get(const char *name __UNUSED__)
return reply->atom;
}
+
+
+/**
+ * Sends the GetAtomName request.
+ * @param atom Atom to get the name from.
+ * @ingroup Ecore_X_Atom_Group
+ */
+EAPI void
+ecore_x_get_atom_name_prefetch(Ecore_X_Atom atom)
+{
+ xcb_get_atom_name_cookie_t cookie;
+
+ cookie = xcb_get_atom_name_unchecked(_ecore_xcb_conn, atom);
+ _ecore_xcb_cookie_cache(cookie.sequence);
+}
+
+/**
+ * Gets the reply of the GetAtomName request sent by ecore_x_get_atom_name_prefetch().
+ * @ingroup Ecore_X_Atom_Group
+ */
+EAPI void
+ecore_x_get_atom_name_fetch(void)
+{
+ xcb_get_atom_name_cookie_t cookie;
+ xcb_get_atom_name_reply_t *reply;
+
+ cookie.sequence = _ecore_xcb_cookie_get();
+ reply = xcb_get_atom_name_reply(_ecore_xcb_conn, cookie, NULL);
+ _ecore_xcb_reply_cache(reply);
+}
+
+/**
+ * Retrieves the name of the given atom.
+ * @param atom Unused.
+ * @return The name of the atom.
+ *
+ * To use this function, you must call before, and in order,
+ * ecore_x_get_atom_name_prefetch(), which sends the GetAtomName request,
+ * then ecore_x_get_atom_name_fetch(), which gets the reply.
+ * @ingroup Ecore_X_Atom_Group
+ */
+EAPI char *
+ecore_x_atom_name_get(Ecore_X_Atom atom)
+{
+ xcb_get_atom_name_reply_t *reply;
+ char *name;
+ int length;
+
+ reply = _ecore_xcb_reply_get();
+ if (!reply) return NULL;
+
+ length = xcb_get_atom_name_name_length(reply);
+ name = (char *)malloc(sizeof(char) * (length + 1));
+ if (!name) return NULL;
+
+ memcpy(name, xcb_get_atom_name_name(reply), length);
+ name[length] = '\0';
+
+ return name;
+}
diff --git a/src/lib/ecore_x/xlib/ecore_x.c b/src/lib/ecore_x/xlib/ecore_x.c
index 3b033e3..f9f9b79 100644
--- a/src/lib/ecore_x/xlib/ecore_x.c
+++ b/src/lib/ecore_x/xlib/ecore_x.c
@@ -1022,31 +1022,6 @@ ecore_x_window_client_sniff(Ecore_X_Window win)
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
}
-/**
- * Retrieves the atom value associated with the given name.
- * @param name The given name.
- * @return Associated atom value.
- */
-EAPI Ecore_X_Atom
-ecore_x_atom_get(const char *name)
-{
- if (!_ecore_x_disp) return 0;
- return XInternAtom(_ecore_x_disp, name, False);
-}
-
-EAPI void
-ecore_x_atoms_get(const char **names, int num, Ecore_X_Atom *atoms)
-{
- Atom *atoms_int;
- int i;
-
- if (!_ecore_x_disp) return;
- atoms_int = alloca(num * sizeof(Atom));
- XInternAtoms(_ecore_x_disp, (char **)names, num, False, atoms_int);
- for (i = 0; i < num; i++)
- atoms[i] = atoms_int[i];
-}
-
diff --git a/src/lib/ecore_x/xlib/ecore_x_atoms.c b/src/lib/ecore_x/xlib/ecore_x_atoms.c
index e8fda29..a938e4b 100644
--- a/src/lib/ecore_x/xlib/ecore_x_atoms.c
+++ b/src/lib/ecore_x/xlib/ecore_x_atoms.c
@@ -223,3 +223,45 @@ _ecore_x_atoms_init(void)
XInternAtoms(_ecore_x_disp, names, num, False, atoms);
for (i = 0; i < num; i++) *(items[i].atom) = atoms[i];
}
+
+/**
+ * Retrieves the atom value associated with the given name.
+ * @param name The given name.
+ * @return Associated atom value.
+ */
+EAPI Ecore_X_Atom
+ecore_x_atom_get(const char *name)
+{
+ if (!_ecore_x_disp) return 0;
+ return XInternAtom(_ecore_x_disp, name, False);
+}
+
+EAPI void
+ecore_x_atoms_get(const char **names, int num, Ecore_X_Atom *atoms)
+{
+ Atom *atoms_int;
+ int i;
+
+ if (!_ecore_x_disp) return;
+ atoms_int = alloca(num * sizeof(Atom));
+ XInternAtoms(_ecore_x_disp, (char **)names, num, False, atoms_int);
+ for (i = 0; i < num; i++)
+ atoms[i] = atoms_int[i];
+}
+
+EAPI char *
+ecore_x_atom_name_get(Ecore_X_Atom atom)
+{
+ char *name;
+ char *xname;
+
+ if (!_ecore_x_disp) return NULL;
+
+ xname = XGetAtomName(_ecore_x_disp, atom);
+ if (!xname) return NULL;
+
+ name = strdup(xname);
+ XFree(xname);
+
+ return name;
+}
diff --git a/src/lib/ecore_x/xlib/ecore_x_window.c b/src/lib/ecore_x/xlib/ecore_x_window.c
index 97129ff..3877b91 100644
--- a/src/lib/ecore_x/xlib/ecore_x_window.c
+++ b/src/lib/ecore_x/xlib/ecore_x_window.c
@@ -494,7 +494,8 @@ ecore_x_window_focus(Ecore_X_Window win)
{
if (win == 0) win = DefaultRootWindow(_ecore_x_disp);
// XSetInputFocus(_ecore_x_disp, win, RevertToNone, CurrentTime);
- XSetInputFocus(_ecore_x_disp, win, RevertToPointerRoot, CurrentTime);
+// XSetInputFocus(_ecore_x_disp, win, RevertToPointerRoot, CurrentTime);
+ XSetInputFocus(_ecore_x_disp, win, RevertToParent, CurrentTime);
}
/**
@@ -508,7 +509,8 @@ ecore_x_window_focus_at_time(Ecore_X_Window win, Ecore_X_Time t)
{
if (win == 0) win = DefaultRootWindow(_ecore_x_disp);
// XSetInputFocus(_ecore_x_disp, win, RevertToNone, t);
- XSetInputFocus(_ecore_x_disp, win, PointerRoot, t);
+// XSetInputFocus(_ecore_x_disp, win, PointerRoot, t);
+ XSetInputFocus(_ecore_x_disp, win, RevertToParent, t);
}
/**
@@ -789,6 +791,7 @@ _ecore_x_window_tree_walk(Window win)
}
}
}
+ if (list) XFree(list);
return s;
}
diff --git a/src/lib/ecore_x/xlib/ecore_x_window_prop.c b/src/lib/ecore_x/xlib/ecore_x_window_prop.c
index 225b8bf..a091328 100644
--- a/src/lib/ecore_x/xlib/ecore_x_window_prop.c
+++ b/src/lib/ecore_x/xlib/ecore_x_window_prop.c
@@ -63,23 +63,27 @@ ecore_x_window_prop_card32_get(Ecore_X_Window win, Ecore_X_Atom atom,
int num;
prop_ret = NULL;
- XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
- XA_CARDINAL, &type_ret, &format_ret, &num_ret,
- &bytes_after, &prop_ret);
- if (prop_ret && type_ret == XA_CARDINAL && format_ret == 32)
+ if (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
+ XA_CARDINAL, &type_ret, &format_ret, &num_ret,
+ &bytes_after, &prop_ret) != Success)
+ return -1;
+
+ if (type_ret != XA_CARDINAL || format_ret != 32)
+ {
+ num = -1;
+ }
+ else if (num_ret == 0 || !prop_ret)
+ {
+ num = 0;
+ }
+ else
{
if (num_ret < len)
len = num_ret;
-
for (i = 0; i < len; i++)
- val[i] = ((unsigned long*)prop_ret)[i];
-
+ val[i] = ((unsigned long *)prop_ret)[i];
num = len;
}
- else
- {
- num = -1;
- }
if (prop_ret)
XFree(prop_ret);
@@ -104,18 +108,22 @@ ecore_x_window_prop_card32_list_get(Ecore_X_Window win, Ecore_X_Atom atom,
unsigned int i, *val;
int num;
+ *plst = NULL;
prop_ret = NULL;
if (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
XA_CARDINAL, &type_ret, &format_ret, &num_ret,
&bytes_after, &prop_ret) != Success)
return -1;
- if (type_ret == None || num_ret == 0)
+ if (type_ret != XA_CARDINAL || format_ret != 32)
+ {
+ num = -1;
+ }
+ else if (num_ret == 0 || !prop_ret)
{
num = 0;
- *plst = NULL;
}
- else if (prop_ret && type_ret == XA_CARDINAL && format_ret == 32)
+ else
{
val = malloc(num_ret * sizeof(unsigned int));
for (i = 0; i < num_ret; i++)
@@ -123,11 +131,6 @@ ecore_x_window_prop_card32_list_get(Ecore_X_Window win, Ecore_X_Atom atom,
num = num_ret;
*plst = val;
}
- else
- {
- num = -1;
- *plst = NULL;
- }
if (prop_ret)
XFree(prop_ret);
@@ -186,11 +189,15 @@ ecore_x_window_prop_xid_get(Ecore_X_Window win, Ecore_X_Atom atom,
&bytes_after, &prop_ret) != Success)
return -1;
- if (type_ret == None)
+ if (type_ret != type || format_ret != 32)
+ {
+ num = -1;
+ }
+ else if (num_ret == 0 || !prop_ret)
{
num = 0;
}
- else if (prop_ret && type_ret == type && format_ret == 32)
+ else
{
if (num_ret < len)
len = num_ret;
@@ -198,10 +205,6 @@ ecore_x_window_prop_xid_get(Ecore_X_Window win, Ecore_X_Atom atom,
lst[i] = ((unsigned long *)prop_ret)[i];
num = len;
}
- else
- {
- num = -1;
- }
if (prop_ret)
XFree(prop_ret);
@@ -235,21 +238,21 @@ ecore_x_window_prop_xid_list_get(Ecore_X_Window win, Ecore_X_Atom atom,
&bytes_after, &prop_ret) != Success)
return -1;
- if (type_ret == None || num_ret == 0)
+ if (type_ret != type || format_ret != 32)
+ {
+ num = -1;
+ }
+ else if (num_ret == 0 || !prop_ret)
{
num = 0;
}
- else if (prop_ret && type_ret == type && format_ret == 32)
+ else
{
alst = malloc(num_ret * sizeof(Ecore_X_ID));
for (i = 0; i < num_ret; i++)
alst[i] = ((unsigned long *)prop_ret)[i];
- *val = alst;
num = num_ret;
- }
- else
- {
- num = -1;
+ *val = alst;
}
if (prop_ret)
XFree(prop_ret);
--
Core abstraction layer for enlightenment DR 0.17
More information about the Pkg-e-commits
mailing list