Imported Upstream version 1.7.4 upstream/1.7.4
authorAnas Nashif <anas.nashif@intel.com>
Sat, 22 Dec 2012 00:25:00 +0000 (16:25 -0800)
committerAnas Nashif <anas.nashif@intel.com>
Sat, 22 Dec 2012 00:25:00 +0000 (16:25 -0800)
59 files changed:
ChangeLog
Makefile.am
Makefile.in
NEWS
README
configure
configure.ac
doc/Doxyfile.in
doc/Makefile.am
doc/Makefile.in
ecore-cocoa.pc.in
ecore-con.pc.in
ecore-directfb.pc.in
ecore-evas.pc.in
ecore-fb.pc.in
ecore-file.pc.in
ecore-imf-evas.pc.in
ecore-imf.pc.in
ecore-input-evas.pc.in
ecore-input.pc.in
ecore-ipc.pc.in
ecore-psl1ght.pc.in
ecore-sdl.pc.in
ecore-wayland.pc.in
ecore-win32.pc.in
ecore-wince.pc.in
ecore-x.pc.in
ecore.pc.in
ecore.spec
po/cs.gmo
po/cs.po
po/de.gmo
po/de.po
po/ecore.pot
po/el.gmo
po/el.po
po/fr.gmo
po/fr.po
po/it.gmo
po/it.po
po/nl.gmo
po/nl.po
po/pt.gmo
po/pt.po
po/sl.gmo
po/sl.po
src/lib/ecore_con/ecore_con_info.c
src/lib/ecore_evas/Makefile.am
src/lib/ecore_evas/Makefile.in
src/lib/ecore_evas/ecore_evas_extn.c
src/lib/ecore_evas/ecore_evas_wayland_egl.c
src/lib/ecore_evas/ecore_evas_wayland_shm.c
src/lib/ecore_wayland/Ecore_Wayland.h
src/lib/ecore_wayland/ecore_wl.c
src/lib/ecore_x/xcb/ecore_xcb_image.c
src/lib/ecore_x/xcb/ecore_xcb_randr.c
src/lib/ecore_x/xcb/ecore_xcb_screensaver.c
src/lib/ecore_x/xlib/ecore_x_image.c
src/lib/ecore_x/xlib/ecore_x_randr_12_edid.c

index 9807112..dbeefef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * 1.7.3 release
 
+2012-12-09  Cedric Bail
+
+       * Fix build without IPv6.
+
+2012-12-12  Daniel Willmann
+
+       * Fix possible memory corruption in xrandr EDID functions.
+
+2012-12-12  Nicolas Aguirre
+
+       * Fix build on win32
+
+2012-12-17 Vincent Torri
+
+       * Add XML output to doc
+       * Add installation rule for doc
+
+2012-12-19 Luis Felipe Strano Moraes
+
+       * Backport 81304 which fixes memory errors on ecore_evas_extn
+
+2012-12-19 Christopher Michael
+
+        * Fix XCB compile with screensaver support
+
+2012-12-20  Carsten Haitzler (The Rasterman)
+
+        * Fixed 24bpp ximage convert back from 24bpp to 32bpp in
+        ecore-x. Only shows itself in qemu/kvm.
+                
+
+2012-12-21  Luis Felipe Strano Moraes
+
+       * 1.7.4 release
 
index 9f16aeb..8f103f8 100644 (file)
@@ -197,7 +197,7 @@ if BUILD_ECORE_WAYLAND
 pkgconfig_DATA += ecore-wayland.pc
 endif
 
-.PHONY: doc coverage
+.PHONY: doc install-doc coverage
 
 # Documentation
 
@@ -205,6 +205,10 @@ doc:
        @echo "entering doc/"
        make -C doc doc
 
+install-doc:
+       @echo "entering doc/"
+       make -C doc install-doc
+
 # Unit tests
 
 if EFL_ENABLE_TESTS
index ca8ec82..b783257 100644 (file)
@@ -1240,7 +1240,7 @@ uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA
        uninstall-pkgconfigDATA
 
 
-.PHONY: doc coverage
+.PHONY: doc install-doc coverage
 
 # Documentation
 
@@ -1248,6 +1248,10 @@ doc:
        @echo "entering doc/"
        make -C doc doc
 
+install-doc:
+       @echo "entering doc/"
+       make -C doc install-doc
+
 # Unit tests
 
 @EFL_ENABLE_TESTS_TRUE@check-local:
diff --git a/NEWS b/NEWS
index 145d9b6..d8d81b9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,16 @@
+Ecore 1.7.4
+
+Changes since Ecore 1.7.3:
+--------------------------
+
+Fixes:
+    * Fix XCB compile with screensaver support
+    * Fix build without IPv6.
+    * Fix possible memory corruption in xrandr EDID functions.
+    * Backport 81304, which fixes memory errors in ecore_evas_extn
+    * Fix big rendering/conversion problem in kvm/qemu 24bpp.
+
+
 Ecore 1.7.3
 
 Changes since Ecore 1.7.2:
diff --git a/README b/README
index e0712b4..4e3b583 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Ecore 1.7.0
+Ecore 1.7.4
 
 ******************************************************************************
 
index 6827c09..45811d2 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for ecore 1.7.3.
+# Generated by GNU Autoconf 2.68 for ecore 1.7.4.
 #
 # Report bugs to <enlightenment-devel@lists.sourceforge.net>.
 #
@@ -570,8 +570,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ecore'
 PACKAGE_TARNAME='ecore'
-PACKAGE_VERSION='1.7.3'
-PACKAGE_STRING='ecore 1.7.3'
+PACKAGE_VERSION='1.7.4'
+PACKAGE_STRING='ecore 1.7.4'
 PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1794,7 +1794,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 1.7.3 to adapt to many kinds of systems.
+\`configure' configures ecore 1.7.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1868,7 +1868,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ecore 1.7.3:";;
+     short | recursive ) echo "Configuration of ecore 1.7.4:";;
    esac
   cat <<\_ACEOF
 
@@ -2275,7 +2275,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ecore configure 1.7.3
+ecore configure 1.7.4
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -3127,7 +3127,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 1.7.3, which was
+It was created by ecore $as_me 1.7.4, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -3952,7 +3952,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ecore'
- VERSION='1.7.3'
+ VERSION='1.7.4'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12986,7 +12986,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define VERS_MIC 3
+#define VERS_MIC 4
 _ACEOF
 
 
@@ -12994,7 +12994,7 @@ cat >>confdefs.h <<_ACEOF
 #define VERS_REV 0
 _ACEOF
 
-version_info="8:3:7"
+version_info="8:4:7"
 release_info=""
 
 
@@ -32743,7 +32743,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ecore $as_me 1.7.3, which was
+This file was extended by ecore $as_me 1.7.4, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32809,7 +32809,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ecore config.status 1.7.3
+ecore config.status 1.7.4
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
index 82d05ac..c5a4326 100644 (file)
@@ -2,7 +2,7 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [1])
 m4_define([v_min], [7])
-m4_define([v_mic], [3])
+m4_define([v_mic], [4])
 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n' | sed 's/Unversioneddirectory/0/' | tr -d '\n']))
 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
 ##--   When released, remove the dnl on the below line
index 43e73c1..eac0983 100644 (file)
@@ -167,7 +167,7 @@ GENERATE_MAN           = YES
 MAN_OUTPUT             = man
 MAN_EXTENSION          = .3
 MAN_LINKS              = YES
-GENERATE_XML           = NO
+GENERATE_XML           = YES
 XML_OUTPUT             = xml
 XML_SCHEMA             =
 XML_DTD                =
index 8bffa14..b8d23af 100644 (file)
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES = Makefile.in ecore.dox
 
-.PHONY: doc
+.PHONY: doc install-doc
 
 PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
 
@@ -9,13 +9,15 @@ if EFL_BUILD_DOC
 doc-clean:
        rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar*
 
-doc: all doc-clean
+doc-build: all
        $(efl_doxygen)
-       cp $(srcdir)/img/* html/
-       cp $(srcdir)/img/* latex/
+       cp img/* html/
+       cp img/* latex/
+
+doc: doc-build
        rm -rf $(PACKAGE_DOCNAME).tar*
        mkdir -p $(PACKAGE_DOCNAME)/doc
-       cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
+       cp -R html/ latex/ man/ xml/ $(PACKAGE_DOCNAME)/doc
        tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
        bzip2 -9 $(PACKAGE_DOCNAME).tar
        rm -rf $(PACKAGE_DOCNAME)/
@@ -23,11 +25,20 @@ doc: all doc-clean
 
 clean-local: doc-clean
 
+install-doc: doc-build
+       install -d $(docdir)
+       cp -R html latex man xml $(docdir)
+
+uninstall-local:
+       rm -rf $(docdir)/html $(docdir)/latex $(docdir)/man $(docdir)/xml
+
 else
 
 doc:
        @echo "Documentation not built. Run ./configure --help"
 
+install-doc: doc
+
 endif
 
 EXTRA_DIST = Doxyfile.in $(wildcard img/*.*) e.css head.html foot.html ecore.dox.in examples.dox
index d88aa74..20c636a 100644 (file)
@@ -546,6 +546,7 @@ maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+@EFL_BUILD_DOC_FALSE@uninstall-local:
 @EFL_BUILD_DOC_FALSE@clean-local:
 clean: clean-am
 
@@ -611,7 +612,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am:
+uninstall-am: uninstall-local
 
 .MAKE: install-am install-strip
 
@@ -625,21 +626,23 @@ uninstall-am:
        install-strip installcheck installcheck-am installdirs \
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am
+       uninstall uninstall-am uninstall-local
 
 
-.PHONY: doc
+.PHONY: doc install-doc
 
 @EFL_BUILD_DOC_TRUE@doc-clean:
 @EFL_BUILD_DOC_TRUE@   rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar*
 
-@EFL_BUILD_DOC_TRUE@doc: all doc-clean
+@EFL_BUILD_DOC_TRUE@doc-build: all
 @EFL_BUILD_DOC_TRUE@   $(efl_doxygen)
-@EFL_BUILD_DOC_TRUE@   cp $(srcdir)/img/* html/
-@EFL_BUILD_DOC_TRUE@   cp $(srcdir)/img/* latex/
+@EFL_BUILD_DOC_TRUE@   cp img/* html/
+@EFL_BUILD_DOC_TRUE@   cp img/* latex/
+
+@EFL_BUILD_DOC_TRUE@doc: doc-build
 @EFL_BUILD_DOC_TRUE@   rm -rf $(PACKAGE_DOCNAME).tar*
 @EFL_BUILD_DOC_TRUE@   mkdir -p $(PACKAGE_DOCNAME)/doc
-@EFL_BUILD_DOC_TRUE@   cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
+@EFL_BUILD_DOC_TRUE@   cp -R html/ latex/ man/ xml/ $(PACKAGE_DOCNAME)/doc
 @EFL_BUILD_DOC_TRUE@   tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
 @EFL_BUILD_DOC_TRUE@   bzip2 -9 $(PACKAGE_DOCNAME).tar
 @EFL_BUILD_DOC_TRUE@   rm -rf $(PACKAGE_DOCNAME)/
@@ -647,9 +650,18 @@ uninstall-am:
 
 @EFL_BUILD_DOC_TRUE@clean-local: doc-clean
 
+@EFL_BUILD_DOC_TRUE@install-doc: doc-build
+@EFL_BUILD_DOC_TRUE@   install -d $(docdir)
+@EFL_BUILD_DOC_TRUE@   cp -R html latex man xml $(docdir)
+
+@EFL_BUILD_DOC_TRUE@uninstall-local:
+@EFL_BUILD_DOC_TRUE@   rm -rf $(docdir)/html $(docdir)/latex $(docdir)/man $(docdir)/xml
+
 @EFL_BUILD_DOC_FALSE@doc:
 @EFL_BUILD_DOC_FALSE@  @echo "Documentation not built. Run ./configure --help"
 
+@EFL_BUILD_DOC_FALSE@install-doc: doc
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index 91fc4ee..1414ca6 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-cocoa
 Description: E core library, Cocoa module
index 9b188aa..0a6e614 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-con
 Description: E core library, Con module
index 9eb104a..58765ca 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-directfb
 Description: E core library, DirectFB module
index 155abbe..88e1718 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-evas
 Description: E core library, Evas module
index 4e70c48..2273828 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-fb
 Description: E core library, FB module
index 833ff1e..556a6af 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-file
 Description: E core library, File module
index 23451c8..913c02b 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-imf-evas
 Description: E core library, IMF Evas module
index cc155ed..edac558 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-imf
 Description: E core library, IMF module
index f95325c..b2579e2 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-input-evas
 Description: E core library, Input module Evas extension
index b670b71..23adf86 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-input
 Description: E core library, Input module
index d66f404..db0869d 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-ipc
 Description: E core library, IPC module
index e81f4e8..d444686 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-psl1ght
 Description: E core library, PSL1GHT module
index 78170c1..6a6e08b 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-sdl
 Description: E core library, SDL module
index f4f5cf3..a1178f2 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-wayland
 Description: E core library, Wayland module
index ac5ab32..baee9f5 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-win32
 Description: E core library, Win32 module
index c937e88..acf6b52 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-wince
 Description: E core library, WinCE module
index a02b42b..987c396 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore-x
 Description: E core library, X module
index db67e7a..8feb6a9 100644 (file)
@@ -1,7 +1,9 @@
+PACKAGE_TARNAME=@PACKAGE_TARNAME@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+docdir=@docdir@
 
 Name: ecore
 Description: Ecore event abstraction library
index 1d8245b..b75385b 100644 (file)
@@ -39,7 +39,7 @@
 
 Summary: Enlightened Core X interface library
 Name: ecore
-Version: 1.7.3
+Version: 1.7.4
 Release: %{_rel}
 License: BSD
 Group: User Interface/X
index aa49b1f..1f4d877 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index ff21604..3f5fcde 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2011-10-23 01:28+0100\n"
 "Last-Translator: Daniel Kolesa <quaker66@gmail.com>\n"
 "Language-Team: Czech <kde-i18n-doc@kde.org>\n"
index 9e90456..ae4d7c1 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 167b11e..5280a2f 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore 0.9.9.063-2\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2010-01-03 21:52+GMT\n"
 "Last-Translator: Fabian Nowak <timystery@arcor.de>\n"
 "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
index c7fadc1..022ad5f 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: ecore 1.7.3\n"
+"Project-Id-Version: ecore 1.7.4\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
index 2702d71..16ab0bf 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index 2ad5ce8..7ed8c41 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2011-11-20 22:42+0200\n"
 "Last-Translator: George Rizopoulos <george.rizopoulos.1@gmail.com>\n"
 "Language-Team: Greek\n"
index 3d3d632..eed680b 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 251eed4..6811ba8 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2010-07-11 11:01+0400\n"
 "Last-Translator: batden <batden@orange.fr>\n"
 "Language-Team: Enlightenment French Team <pourunmondesansgourou@gmail.com>\n"
index 44edbeb..3e29433 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 031c914..1cbe62b 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2009-10-27 19:36+0100\n"
 "Last-Translator: quaker66 <quaker66@gmail.com>\n"
 "Language-Team: none\n"
index 03cf2b6..b84cc0e 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index 465c193..4ee46f0 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2011-09-03 15:48+0100\n"
 "Last-Translator: Heimen Stoffels <vistausss@gmail.com>\n"
 "Language-Team:  <vistausss@gmail.com>\n"
index 325099a..f737578 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index ff62de1..d0fdca8 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2012-08-23 00:30+0100\n"
 "Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
 "Language-Team: \n"
index ee7ae2f..5d78fea 100644 (file)
Binary files a/po/sl.gmo and b/po/sl.gmo differ
index 7bb4024..08293d2 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore 1.0\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-12-07 11:42-0200\n"
+"POT-Creation-Date: 2012-12-21 03:38-0800\n"
 "PO-Revision-Date: 2011-02-24 16:54+0100\n"
 "Last-Translator: r1to <renato.rener@gmail.com>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
index e3f35f0..4526c08 100644 (file)
@@ -38,6 +38,7 @@ void *alloca (size_t);
 #include <string.h>
 #include <sys/types.h>
 #include <unistd.h>
+#include <fcntl.h>
 #include <ctype.h>
 #ifdef __OpenBSD__
 # include <sys/types.h>
index cd7f37b..707ca0f 100644 (file)
@@ -26,7 +26,7 @@ endif
 
 if BUILD_ECORE_WIN32
 ECORE_WIN32_INC = -I$(top_srcdir)/src/lib/ecore_win32
-ECORE_WIN32_LIB = $(top_builddir)/src/lib/ecore_win32/libecore_win32.la
+ECORE_WIN32_LIB = $(top_builddir)/src/lib/ecore_win32/libecore_win32.la -lgdi32
 else
 ECORE_WIN32_INC =
 ECORE_WIN32_LIB =
index aae1fe7..87db36e 100644 (file)
@@ -533,7 +533,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_WIN32_FALSE@ECORE_WIN32_INC = 
 @BUILD_ECORE_WIN32_TRUE@ECORE_WIN32_INC = -I$(top_srcdir)/src/lib/ecore_win32
 @BUILD_ECORE_WIN32_FALSE@ECORE_WIN32_LIB = 
-@BUILD_ECORE_WIN32_TRUE@ECORE_WIN32_LIB = $(top_builddir)/src/lib/ecore_win32/libecore_win32.la
+@BUILD_ECORE_WIN32_TRUE@ECORE_WIN32_LIB = $(top_builddir)/src/lib/ecore_win32/libecore_win32.la -lgdi32
 @BUILD_ECORE_SDL_FALSE@ECORE_SDL_INC = 
 @BUILD_ECORE_SDL_TRUE@ECORE_SDL_INC = -I$(top_srcdir)/src/lib/ecore_sdl @SDL_CFLAGS@
 @BUILD_ECORE_SDL_FALSE@ECORE_SDL_LIB = 
index 13af5ec..bec246b 100644 (file)
@@ -478,7 +478,7 @@ static void
 _ecore_evas_extn_plug_image_obj_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
 {
    Ecore_Evas *ee = data;
-   if (ee) ecore_evas_free(ee);
+   ecore_evas_free(ee);
 }
 
 static void
@@ -529,6 +529,7 @@ _ecore_evas_extn_free(Ecore_Evas *ee)
    if (extn)
      {
         Ecore_Event_Handler *hdl;
+        Ipc_Data_Update *ipc;
 
         if (extn->file.have_lock)
           _ecore_evas_socket_unlock(ee);
@@ -557,6 +558,9 @@ _ecore_evas_extn_free(Ecore_Evas *ee)
                shmfile_close(extn->file.shmfile);
           }
 
+        EINA_LIST_FREE(extn->file.updates, ipc)
+          free(ipc);
+
         EINA_LIST_FREE(extn->ipc.handlers, hdl)
           ecore_event_handler_del(hdl);
         free(extn);
@@ -939,15 +943,6 @@ _ecore_evas_extn_cb_multi_move(void *data, Evas *e __UNUSED__, Evas_Object *obj
 }
 
 static void
-_ecore_evas_extn_cb_free(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
-   Ecore_Evas *ee;
-
-   ee = data;
-   if (ee->driver) _ecore_evas_free(ee);
-}
-
-static void
 _ecore_evas_extn_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
 {
    Ecore_Evas *ee = data;
@@ -1281,6 +1276,7 @@ _ipc_server_data(void *data, int type __UNUSED__, void *event)
                      evas_object_image_data_update_add(ee->engine.buffer.image,
                                                        ipc->x, ipc->y,
                                                        ipc->w, ipc->h);
+                   free(ipc);
                 }
            }
          break;
@@ -1457,9 +1453,6 @@ ecore_evas_extn_plug_new(Ecore_Evas *ee_target)
                                   EVAS_CALLBACK_MULTI_MOVE,
                                   _ecore_evas_extn_cb_multi_move, ee);
    evas_object_event_callback_add(ee->engine.buffer.image,
-                                  EVAS_CALLBACK_FREE,
-                                  _ecore_evas_extn_cb_free, ee);
-   evas_object_event_callback_add(ee->engine.buffer.image,
                                   EVAS_CALLBACK_KEY_DOWN,
                                   _ecore_evas_extn_cb_key_down, ee);
    evas_object_event_callback_add(ee->engine.buffer.image,
index 5671592..c58af88 100644 (file)
@@ -929,10 +929,13 @@ _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *eve
    ee = ecore_event_window_match(ev->window);
    if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON;
    if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
+
    if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
    ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers);
    evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL);
    _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp);
+   ee->in = EINA_TRUE;
+
    return ECORE_CALLBACK_PASS_ON;
 }
 
index 6681607..c5a0ee5 100644 (file)
@@ -1099,14 +1099,13 @@ _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *eve
    ee = ecore_event_window_match(ev->window);
    if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON;
    if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
-   if (!ee->in)
-     {
-        if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
-        ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers);
-        evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL);
-//        _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp);
-        ee->in = EINA_TRUE;
-     }
+
+   if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
+   ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers);
+   evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL);
+   _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp);
+   ee->in = EINA_TRUE;
+
    return ECORE_CALLBACK_PASS_ON;
 }
 
index c3268b2..4568d88 100644 (file)
@@ -87,6 +87,7 @@ struct _Ecore_Wl_Display
    unsigned int mask;
    unsigned int serial;
    Ecore_Fd_Handler *fd_hdl;
+   Ecore_Idle_Enterer *idle_enterer;
 
    struct wl_list inputs;
    struct wl_list outputs;
index 4c3a26d..02d1db2 100644 (file)
@@ -33,6 +33,7 @@ void *alloca (size_t);
 
 /* local function prototypes */
 static Eina_Bool _ecore_wl_shutdown(Eina_Bool close);
+static Eina_Bool _ecore_wl_cb_idle_enterer(void *data);
 static Eina_Bool _ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl);
 static void _ecore_wl_cb_handle_global(void *data, struct wl_registry *registry, unsigned int id, const char *interface, unsigned int version __UNUSED__);
 static Eina_Bool _ecore_wl_xkb_init(Ecore_Wl_Display *ewd);
@@ -162,12 +163,15 @@ ecore_wl_init(const char *name)
 
    _ecore_wl_disp->fd = wl_display_get_fd(_ecore_wl_disp->wl.display);
 
-   _ecore_wl_disp->fd_hdl = 
-     ecore_main_fd_handler_add(_ecore_wl_disp->fd, 
-                               ECORE_FD_READ | ECORE_FD_WRITE,
-                               _ecore_wl_cb_handle_data, _ecore_wl_disp, 
+   _ecore_wl_disp->fd_hdl =
+     ecore_main_fd_handler_add(_ecore_wl_disp->fd,
+                               ECORE_FD_READ,
+                               _ecore_wl_cb_handle_data, _ecore_wl_disp,
                                NULL, NULL);
 
+   _ecore_wl_disp->idle_enterer =
+     ecore_idle_enterer_add(_ecore_wl_cb_idle_enterer, _ecore_wl_disp);
+
    wl_list_init(&_ecore_wl_disp->inputs);
    wl_list_init(&_ecore_wl_disp->outputs);
 
@@ -382,6 +386,8 @@ _ecore_wl_shutdown(Eina_Bool close)
 
    if (_ecore_wl_disp->fd_hdl) 
      ecore_main_fd_handler_del(_ecore_wl_disp->fd_hdl);
+   if (_ecore_wl_disp->idle_enterer)
+      ecore_idle_enterer_del(_ecore_wl_disp->idle_enterer);
 
    if (close) 
      {
@@ -422,10 +428,33 @@ _ecore_wl_shutdown(Eina_Bool close)
    return _ecore_wl_init_count;
 }
 
-static Eina_Bool 
+static Eina_Bool
+_ecore_wl_cb_idle_enterer(void *data)
+{
+   Ecore_Wl_Display *ewd;
+   int ret;
+
+   if (!(ewd = data)) return ECORE_CALLBACK_RENEW;
+
+   ret = wl_display_flush(ewd->wl.display);
+   if ((ret < 0) && (errno == EAGAIN))
+     {
+        ecore_main_fd_handler_active_set(ewd->fd_hdl, 
+                                         (ECORE_FD_READ | ECORE_FD_WRITE));
+     }
+   else if (ret < 0)
+     {
+      /* FIXME: need do error processing? */
+     }
+
+   return ECORE_CALLBACK_RENEW;
+}
+
+static Eina_Bool
 _ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl)
 {
    Ecore_Wl_Display *ewd;
+   int ret;
 
    /* LOGFN(__FILE__, __LINE__, __FUNCTION__); */
 
@@ -438,7 +467,15 @@ _ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl)
    if (ecore_main_fd_handler_active_get(hdl, ECORE_FD_READ))
      wl_display_dispatch(ewd->wl.display);
    else if (ecore_main_fd_handler_active_get(hdl, ECORE_FD_WRITE))
-     wl_display_flush(ewd->wl.display);
+     {
+        ret = wl_display_flush(ewd->wl.display);
+        if (ret == 0)
+          ecore_main_fd_handler_active_set(hdl, ECORE_FD_READ);
+        else if ((ret == -1) && (errno != EAGAIN))
+          {
+            /* FIXME: need do error processing? */
+          }
+     }
 
    return ECORE_CALLBACK_RENEW;
 }
index 81d32d0..b094b73 100644 (file)
@@ -279,8 +279,10 @@ ecore_x_image_is_argb32_get(Ecore_X_Image *im)
 
    if (((vis->_class == XCB_VISUAL_CLASS_TRUE_COLOR) ||
         (vis->_class == XCB_VISUAL_CLASS_DIRECT_COLOR)) &&
-       (im->depth >= 24) && (vis->red_mask == 0xff0000) &&
-       (vis->green_mask == 0x00ff00) && (vis->blue_mask == 0x0000ff))
+       (im->bpp == 4) &&
+       (vis->red_mask == 0xff0000) &&
+       (vis->green_mask == 0x00ff00) && 
+       (vis->blue_mask == 0x0000ff))
      {
 #ifdef WORDS_BIGENDIAN
         if (im->xim->byte_order == XCB_IMAGE_ORDER_MSB_FIRST) return EINA_TRUE;
@@ -317,6 +319,8 @@ ecore_x_image_to_argb_convert(void            *src,
       rgb565,
       bgr565,
       rgbx555,
+      rgb888,
+      bgr888,
       argbx888,
       abgrx888,
       rgba888x,
@@ -376,40 +380,56 @@ ecore_x_image_to_argb_convert(void            *src,
    else if ((vis->_class == XCB_VISUAL_CLASS_TRUE_COLOR) ||
             (vis->_class == XCB_VISUAL_CLASS_DIRECT_COLOR))
      {
-        if ((vis->red_mask == 0x00ff0000) &&
-            (vis->green_mask == 0x0000ff00) &&
-            (vis->blue_mask == 0x000000ff))
-          mode = argbx888;
-        else if ((vis->red_mask == 0x000000ff) &&
+        if (sbpp == 24)
+          {
+             if ((vis->red_mask == 0x00ff0000) &&
                  (vis->green_mask == 0x0000ff00) &&
-                 (vis->blue_mask == 0x00ff0000))
-          mode = abgrx888;
-        else if ((vis->red_mask == 0xff000000) &&
-                 (vis->green_mask == 0x00ff0000) &&
-                 (vis->blue_mask == 0x0000ff00))
-          mode = rgba888x;
-        else if ((vis->red_mask == 0x0000ff00) &&
-                 (vis->green_mask == 0x00ff0000) &&
-                 (vis->blue_mask == 0xff000000))
-          mode = bgra888x;
-        else if ((vis->red_mask == 0x0003f000) &&
-                 (vis->green_mask == 0x00000fc0) &&
-                 (vis->blue_mask == 0x0000003f))
-          mode = argbx666;
-        else if ((vis->red_mask == 0x0000f800) &&
-                 (vis->green_mask == 0x000007e0) &&
-                 (vis->blue_mask == 0x0000001f))
-          mode = rgb565;
-        else if ((vis->red_mask == 0x0000001f) &&
-                 (vis->green_mask == 0x000007e0) &&
-                 (vis->blue_mask == 0x0000f800))
-          mode = bgr565;
-        else if ((vis->red_mask == 0x00007c00) &&
-                 (vis->green_mask == 0x000003e0) &&
-                 (vis->blue_mask == 0x0000001f))
-          mode = rgbx555;
+                 (vis->blue_mask == 0x000000ff))
+               mode = rgb888;
+             else if ((vis->red_mask == 0x000000ff) &&
+                      (vis->green_mask == 0x0000ff00) &&
+                      (vis->blue_mask == 0x00ff0000))
+               mode = bgr888;
+             else
+               return EINA_FALSE;
+          }
         else
-          return EINA_FALSE;
+          {
+             if ((vis->red_mask == 0x00ff0000) &&
+                 (vis->green_mask == 0x0000ff00) &&
+                 (vis->blue_mask == 0x000000ff))
+               mode = argbx888;
+             else if ((vis->red_mask == 0x000000ff) &&
+                      (vis->green_mask == 0x0000ff00) &&
+                      (vis->blue_mask == 0x00ff0000))
+               mode = abgrx888;
+             else if ((vis->red_mask == 0xff000000) &&
+                      (vis->green_mask == 0x00ff0000) &&
+                      (vis->blue_mask == 0x0000ff00))
+               mode = rgba888x;
+             else if ((vis->red_mask == 0x0000ff00) &&
+                      (vis->green_mask == 0x00ff0000) &&
+                      (vis->blue_mask == 0xff000000))
+               mode = bgra888x;
+             else if ((vis->red_mask == 0x0003f000) &&
+                      (vis->green_mask == 0x00000fc0) &&
+                      (vis->blue_mask == 0x0000003f))
+               mode = argbx666;
+             else if ((vis->red_mask == 0x0000f800) &&
+                      (vis->green_mask == 0x000007e0) &&
+                      (vis->blue_mask == 0x0000001f))
+               mode = rgb565;
+             else if ((vis->red_mask == 0x0000001f) &&
+                      (vis->green_mask == 0x000007e0) &&
+                      (vis->blue_mask == 0x0000f800))
+               mode = bgr565;
+             else if ((vis->red_mask == 0x00007c00) &&
+                      (vis->green_mask == 0x000003e0) &&
+                      (vis->blue_mask == 0x0000001f))
+               mode = rgbx555;
+             else
+               return EINA_FALSE;
+          }
      }
    for (row = 0; row < h; row++)
      {
@@ -491,6 +511,29 @@ ecore_x_image_to_argb_convert(void            *src,
              break;
 
            case 24:
+            s8 = ((unsigned char *)(((unsigned char *)src) + ((y + row) * sbpl))) + (x * (sbpp / 8));
+             switch (mode)
+               {
+                case rgb888:
+                  while (dp < de)
+                    {
+                       *dp = 0xff000000 | (s8[2] << 16) | (s8[1] << 8) | s8[0];
+                       s8 += 3; dp++;
+                    }
+                  break;
+                case bgr888:
+                  while (dp < de)
+                    {
+                       *dp = 0xff000000 | (s8[0] << 16) | (s8[1] << 8) | s8[2];
+                       s8 += 3; dp++;
+                    }
+                  break;
+                default:
+                  return EINA_FALSE;
+                  break;
+               }
+             break;
+             
            case 32:
              s32 = ((unsigned int *)(((unsigned char *)src) +
                                      ((y + row) * sbpl))) + x;
@@ -553,7 +596,6 @@ ecore_x_image_to_argb_convert(void            *src,
                   break;
                }
              break;
-             break;
 
            default:
              return EINA_FALSE;
index a96b047..cc7d6a4 100644 (file)
@@ -2761,12 +2761,11 @@ ecore_x_randr_edid_display_name_get(unsigned char *edid, unsigned long edid_leng
              edid_name = (const char *)block + 
                _ECORE_X_RANDR_EDID_OFFSET_DESCRIPTOR_BLOCK_CONTENT;
              name = 
-               malloc(sizeof(char) * 
-                      _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
+               malloc(_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX + 1);
              if (!name) return NULL;
 
              strncpy(name, edid_name, 
-                     (_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX - 1));
+                     _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
              name[_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX] = 0;
              for (p = name; *p; p++)
                if ((*p < ' ') || (*p > '~')) *p = 0;
index b48cb9a..d22f1cd 100644 (file)
@@ -348,7 +348,7 @@ ecore_x_screensaver_custom_blanking_enable(void)
      (_ecore_xcb_conn,
          ((xcb_screen_t *)_ecore_xcb_screen)->root,
          -9999, -9999, 1, 1, 0,
-         XCB_WINDOW_CLASS_INPUT_ONLY.
+         XCB_WINDOW_CLASS_INPUT_ONLY,
          XCB_COPY_FROM_PARENT, XCB_COPY_FROM_PARENT,
          0, mask_list);
    return EINA_TRUE;
index 8f823a4..df6bb15 100644 (file)
@@ -218,7 +218,9 @@ _ecore_x_image_shm_create(Ecore_X_Image *im)
      im->bpp = 1;
    else if (im->xim->bits_per_pixel <= 16)
      im->bpp = 2;
-   else
+   else if (im->xim->bits_per_pixel <= 24)
+     im->bpp = 3;
+   else 
      im->bpp = 4;
 }
 
@@ -358,7 +360,7 @@ ecore_x_image_is_argb32_get(Ecore_X_Image *im)
    if (!im->xim) _ecore_x_image_shm_create(im);
    if (((vis->class == TrueColor) ||
         (vis->class == DirectColor)) &&
-       (im->depth >= 24) &&
+       (im->bpp == 4) &&
        (vis->red_mask == 0xff0000) &&
        (vis->green_mask == 0x00ff00) &&
        (vis->blue_mask == 0x0000ff))
@@ -397,6 +399,8 @@ ecore_x_image_to_argb_convert(void *src,
       rgb565,
       bgr565,
       rgbx555,
+      rgb888,
+      bgr888,
       argbx888,
       abgrx888,
       rgba888x,
@@ -439,40 +443,56 @@ ecore_x_image_to_argb_convert(void *src,
    else if ((vis->class == TrueColor) ||
             (vis->class == DirectColor))
      {
-        if ((vis->red_mask == 0x00ff0000) &&
-            (vis->green_mask == 0x0000ff00) &&
-            (vis->blue_mask == 0x000000ff))
-          mode = argbx888;
-        else if ((vis->red_mask == 0x000000ff) &&
+        if (sbpp == 24)
+          {
+             if ((vis->red_mask == 0x00ff0000) &&
                  (vis->green_mask == 0x0000ff00) &&
-                 (vis->blue_mask == 0x00ff0000))
-          mode = abgrx888;
-        else if ((vis->red_mask == 0xff000000) &&
-                 (vis->green_mask == 0x00ff0000) &&
-                 (vis->blue_mask == 0x0000ff00))
-          mode = rgba888x;
-        else if ((vis->red_mask == 0x0000ff00) &&
-                 (vis->green_mask == 0x00ff0000) &&
-                 (vis->blue_mask == 0xff000000))
-          mode = bgra888x;
-        else if ((vis->red_mask == 0x0003f000) &&
-                 (vis->green_mask == 0x00000fc0) &&
-                 (vis->blue_mask == 0x0000003f))
-          mode = argbx666;
-        else if ((vis->red_mask == 0x0000f800) &&
-                 (vis->green_mask == 0x000007e0) &&
-                 (vis->blue_mask == 0x0000001f))
-          mode = rgb565;
-        else if ((vis->red_mask == 0x0000001f) &&
-                 (vis->green_mask == 0x000007e0) &&
-                 (vis->blue_mask == 0x0000f800))
-          mode = bgr565;
-        else if ((vis->red_mask == 0x00007c00) &&
-                 (vis->green_mask == 0x000003e0) &&
-                 (vis->blue_mask == 0x0000001f))
-          mode = rgbx555;
+                 (vis->blue_mask == 0x000000ff))
+               mode = rgb888;
+             else if ((vis->red_mask == 0x000000ff) &&
+                      (vis->green_mask == 0x0000ff00) &&
+                      (vis->blue_mask == 0x00ff0000))
+               mode = bgr888;
+             else
+               return EINA_FALSE;
+          }
         else
-          return EINA_FALSE;
+          {
+             if ((vis->red_mask == 0x00ff0000) &&
+                 (vis->green_mask == 0x0000ff00) &&
+                 (vis->blue_mask == 0x000000ff))
+               mode = argbx888;
+             else if ((vis->red_mask == 0x000000ff) &&
+                      (vis->green_mask == 0x0000ff00) &&
+                      (vis->blue_mask == 0x00ff0000))
+               mode = abgrx888;
+             else if ((vis->red_mask == 0xff000000) &&
+                      (vis->green_mask == 0x00ff0000) &&
+                      (vis->blue_mask == 0x0000ff00))
+               mode = rgba888x;
+             else if ((vis->red_mask == 0x0000ff00) &&
+                      (vis->green_mask == 0x00ff0000) &&
+                      (vis->blue_mask == 0xff000000))
+               mode = bgra888x;
+             else if ((vis->red_mask == 0x0003f000) &&
+                      (vis->green_mask == 0x00000fc0) &&
+                      (vis->blue_mask == 0x0000003f))
+               mode = argbx666;
+             else if ((vis->red_mask == 0x0000f800) &&
+                      (vis->green_mask == 0x000007e0) &&
+                      (vis->blue_mask == 0x0000001f))
+               mode = rgb565;
+             else if ((vis->red_mask == 0x0000001f) &&
+                      (vis->green_mask == 0x000007e0) &&
+                      (vis->blue_mask == 0x0000f800))
+               mode = bgr565;
+             else if ((vis->red_mask == 0x00007c00) &&
+                      (vis->green_mask == 0x000003e0) &&
+                      (vis->blue_mask == 0x0000001f))
+               mode = rgbx555;
+             else
+               return EINA_FALSE;
+          }
      }
    for (row = 0; row < h; row++)
      {
@@ -553,6 +573,29 @@ ecore_x_image_to_argb_convert(void *src,
              break;
 
            case 24:
+             s8 = ((unsigned char *)(((unsigned char *)src) + ((y + row) * sbpl))) + (x * (sbpp / 8));
+             switch (mode)
+               {
+                case rgb888:
+                  while (dp < de)
+                    {
+                       *dp = 0xff000000 | (s8[2] << 16) | (s8[1] << 8) | s8[0];
+                       s8 += 3; dp++;
+                    }
+                  break;
+                case bgr888:
+                  while (dp < de)
+                    {
+                       *dp = 0xff000000 | (s8[0] << 16) | (s8[1] << 8) | s8[2];
+                       s8 += 3; dp++;
+                    }
+                  break;
+                default:
+                  return EINA_FALSE;
+                  break;
+               }
+             break;
+             
            case 32:
              s32 = ((unsigned int *)(((unsigned char *)src) + ((y + row) * sbpl))) + x;
              switch (mode)
@@ -614,7 +657,6 @@ ecore_x_image_to_argb_convert(void *src,
                   break;
                }
              break;
-             break;
 
            default:
              return EINA_FALSE;
index 5bda332..4c37a2c 100644 (file)
@@ -184,9 +184,9 @@ ecore_x_randr_edid_display_name_get(unsigned char *edid,
            const char *edid_name;
 
            edid_name = (const char *)block + _ECORE_X_RANDR_EDID_OFFSET_DESCRIPTOR_BLOCK_CONTENT;
-           name = malloc(sizeof(char) * _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
+           name = malloc(_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX + 1);
            if (!name) return NULL;
-           strncpy(name, edid_name, (_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX - 1));
+           strncpy(name, edid_name, _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
            name[_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX] = 0;
            for (p = name; *p; p++)
              {
@@ -288,9 +288,9 @@ ecore_x_randr_edid_display_ascii_get(unsigned char *edid,
             * TODO: Two of these in a row, in the third and fourth slots,
             * seems to be specified by SPWG: http://www.spwg.org/
             */
-           ascii = malloc(sizeof(char) * _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
+           ascii = malloc(_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX + 1);
            if (!ascii) return NULL;
-           strncpy(ascii, edid_ascii, (_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX - 1));
+           strncpy(ascii, edid_ascii, _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
            ascii[_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX] = 0;
            for (p = ascii; *p; p++)
              {
@@ -321,9 +321,9 @@ ecore_x_randr_edid_display_serial_get(unsigned char *edid,
             * TODO: Two of these in a row, in the third and fourth slots,
             * seems to be specified by SPWG: http://www.spwg.org/
             */
-           serial = malloc(sizeof(char) * _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
+           serial = malloc(_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX + 1);
            if (!serial) return NULL;
-           strncpy(serial, edid_serial, (_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX - 1));
+           strncpy(serial, edid_serial, _ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX);
            serial[_ECORE_X_RANDR_EDID_DISPLAY_DESCRIPTOR_BLOCK_CONTENT_LENGTH_MAX] = 0;
            for (p = serial; *p; p++)
              {