From: Anas Nashif Date: Sat, 22 Dec 2012 00:25:00 +0000 (-0800) Subject: Imported Upstream version 1.7.4 X-Git-Tag: upstream/1.7.4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2Fupstream%2F1.7.4;p=platform%2Fupstream%2Fecore.git Imported Upstream version 1.7.4 --- diff --git a/ChangeLog b/ChangeLog index 9807112..dbeefef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1007,4 +1007,38 @@ * 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 diff --git a/Makefile.am b/Makefile.am index 9f16aeb..8f103f8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/Makefile.in b/Makefile.in index ca8ec82..b783257 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 --- 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 --- a/README +++ b/README @@ -1,4 +1,4 @@ -Ecore 1.7.0 +Ecore 1.7.4 ****************************************************************************** diff --git a/configure b/configure index 6827c09..45811d2 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.68 for ecore 1.7.3. +# Generated by GNU Autoconf 2.68 for ecore 1.7.4. # # Report bugs to . # @@ -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\\" diff --git a/configure.ac b/configure.ac index 82d05ac..c5a4326 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 43e73c1..eac0983 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -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 = diff --git a/doc/Makefile.am b/doc/Makefile.am index 8bffa14..b8d23af 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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 diff --git a/doc/Makefile.in b/doc/Makefile.in index d88aa74..20c636a 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -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: diff --git a/ecore-cocoa.pc.in b/ecore-cocoa.pc.in index 91fc4ee..1414ca6 100644 --- a/ecore-cocoa.pc.in +++ b/ecore-cocoa.pc.in @@ -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 diff --git a/ecore-con.pc.in b/ecore-con.pc.in index 9b188aa..0a6e614 100644 --- a/ecore-con.pc.in +++ b/ecore-con.pc.in @@ -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 diff --git a/ecore-directfb.pc.in b/ecore-directfb.pc.in index 9eb104a..58765ca 100644 --- a/ecore-directfb.pc.in +++ b/ecore-directfb.pc.in @@ -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 diff --git a/ecore-evas.pc.in b/ecore-evas.pc.in index 155abbe..88e1718 100644 --- a/ecore-evas.pc.in +++ b/ecore-evas.pc.in @@ -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 diff --git a/ecore-fb.pc.in b/ecore-fb.pc.in index 4e70c48..2273828 100644 --- a/ecore-fb.pc.in +++ b/ecore-fb.pc.in @@ -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 diff --git a/ecore-file.pc.in b/ecore-file.pc.in index 833ff1e..556a6af 100644 --- a/ecore-file.pc.in +++ b/ecore-file.pc.in @@ -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 diff --git a/ecore-imf-evas.pc.in b/ecore-imf-evas.pc.in index 23451c8..913c02b 100644 --- a/ecore-imf-evas.pc.in +++ b/ecore-imf-evas.pc.in @@ -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 diff --git a/ecore-imf.pc.in b/ecore-imf.pc.in index cc155ed..edac558 100644 --- a/ecore-imf.pc.in +++ b/ecore-imf.pc.in @@ -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 diff --git a/ecore-input-evas.pc.in b/ecore-input-evas.pc.in index f95325c..b2579e2 100644 --- a/ecore-input-evas.pc.in +++ b/ecore-input-evas.pc.in @@ -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 diff --git a/ecore-input.pc.in b/ecore-input.pc.in index b670b71..23adf86 100644 --- a/ecore-input.pc.in +++ b/ecore-input.pc.in @@ -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 diff --git a/ecore-ipc.pc.in b/ecore-ipc.pc.in index d66f404..db0869d 100644 --- a/ecore-ipc.pc.in +++ b/ecore-ipc.pc.in @@ -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 diff --git a/ecore-psl1ght.pc.in b/ecore-psl1ght.pc.in index e81f4e8..d444686 100644 --- a/ecore-psl1ght.pc.in +++ b/ecore-psl1ght.pc.in @@ -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 diff --git a/ecore-sdl.pc.in b/ecore-sdl.pc.in index 78170c1..6a6e08b 100644 --- a/ecore-sdl.pc.in +++ b/ecore-sdl.pc.in @@ -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 diff --git a/ecore-wayland.pc.in b/ecore-wayland.pc.in index f4f5cf3..a1178f2 100644 --- a/ecore-wayland.pc.in +++ b/ecore-wayland.pc.in @@ -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 diff --git a/ecore-win32.pc.in b/ecore-win32.pc.in index ac5ab32..baee9f5 100644 --- a/ecore-win32.pc.in +++ b/ecore-win32.pc.in @@ -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 diff --git a/ecore-wince.pc.in b/ecore-wince.pc.in index c937e88..acf6b52 100644 --- a/ecore-wince.pc.in +++ b/ecore-wince.pc.in @@ -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 diff --git a/ecore-x.pc.in b/ecore-x.pc.in index a02b42b..987c396 100644 --- a/ecore-x.pc.in +++ b/ecore-x.pc.in @@ -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 diff --git a/ecore.pc.in b/ecore.pc.in index db67e7a..8feb6a9 100644 --- a/ecore.pc.in +++ b/ecore.pc.in @@ -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 diff --git a/ecore.spec b/ecore.spec index 1d8245b..b75385b 100644 --- a/ecore.spec +++ b/ecore.spec @@ -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 diff --git a/po/cs.gmo b/po/cs.gmo index aa49b1f..1f4d877 100644 Binary files a/po/cs.gmo and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index ff21604..3f5fcde 100644 --- 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 \n" "Language-Team: Czech \n" diff --git a/po/de.gmo b/po/de.gmo index 9e90456..ae4d7c1 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 167b11e..5280a2f 100644 --- 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 \n" "Language-Team: German \n" diff --git a/po/ecore.pot b/po/ecore.pot index c7fadc1..022ad5f 100644 --- a/po/ecore.pot +++ b/po/ecore.pot @@ -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 \n" "Language-Team: LANGUAGE \n" diff --git a/po/el.gmo b/po/el.gmo index 2702d71..16ab0bf 100644 Binary files a/po/el.gmo and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po index 2ad5ce8..7ed8c41 100644 --- 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 \n" "Language-Team: Greek\n" diff --git a/po/fr.gmo b/po/fr.gmo index 3d3d632..eed680b 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 251eed4..6811ba8 100644 --- 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 \n" "Language-Team: Enlightenment French Team \n" diff --git a/po/it.gmo b/po/it.gmo index 44edbeb..3e29433 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index 031c914..1cbe62b 100644 --- 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 \n" "Language-Team: none\n" diff --git a/po/nl.gmo b/po/nl.gmo index 03cf2b6..b84cc0e 100644 Binary files a/po/nl.gmo and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po index 465c193..4ee46f0 100644 --- 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 \n" "Language-Team: \n" diff --git a/po/pt.gmo b/po/pt.gmo index 325099a..f737578 100644 Binary files a/po/pt.gmo and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po index ff62de1..d0fdca8 100644 --- 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 \n" "Language-Team: \n" diff --git a/po/sl.gmo b/po/sl.gmo index ee7ae2f..5d78fea 100644 Binary files a/po/sl.gmo and b/po/sl.gmo differ diff --git a/po/sl.po b/po/sl.po index 7bb4024..08293d2 100644 --- 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 \n" "Language-Team: Slovenian \n" diff --git a/src/lib/ecore_con/ecore_con_info.c b/src/lib/ecore_con/ecore_con_info.c index e3f35f0..4526c08 100644 --- a/src/lib/ecore_con/ecore_con_info.c +++ b/src/lib/ecore_con/ecore_con_info.c @@ -38,6 +38,7 @@ void *alloca (size_t); #include #include #include +#include #include #ifdef __OpenBSD__ # include diff --git a/src/lib/ecore_evas/Makefile.am b/src/lib/ecore_evas/Makefile.am index cd7f37b..707ca0f 100644 --- a/src/lib/ecore_evas/Makefile.am +++ b/src/lib/ecore_evas/Makefile.am @@ -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 = diff --git a/src/lib/ecore_evas/Makefile.in b/src/lib/ecore_evas/Makefile.in index aae1fe7..87db36e 100644 --- a/src/lib/ecore_evas/Makefile.in +++ b/src/lib/ecore_evas/Makefile.in @@ -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 = diff --git a/src/lib/ecore_evas/ecore_evas_extn.c b/src/lib/ecore_evas/ecore_evas_extn.c index 13af5ec..bec246b 100644 --- a/src/lib/ecore_evas/ecore_evas_extn.c +++ b/src/lib/ecore_evas/ecore_evas_extn.c @@ -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, diff --git a/src/lib/ecore_evas/ecore_evas_wayland_egl.c b/src/lib/ecore_evas/ecore_evas_wayland_egl.c index 5671592..c58af88 100644 --- a/src/lib/ecore_evas/ecore_evas_wayland_egl.c +++ b/src/lib/ecore_evas/ecore_evas_wayland_egl.c @@ -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; } diff --git a/src/lib/ecore_evas/ecore_evas_wayland_shm.c b/src/lib/ecore_evas/ecore_evas_wayland_shm.c index 6681607..c5a0ee5 100644 --- a/src/lib/ecore_evas/ecore_evas_wayland_shm.c +++ b/src/lib/ecore_evas/ecore_evas_wayland_shm.c @@ -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; } diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h b/src/lib/ecore_wayland/Ecore_Wayland.h index c3268b2..4568d88 100644 --- a/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/src/lib/ecore_wayland/Ecore_Wayland.h @@ -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; diff --git a/src/lib/ecore_wayland/ecore_wl.c b/src/lib/ecore_wayland/ecore_wl.c index 4c3a26d..02d1db2 100644 --- a/src/lib/ecore_wayland/ecore_wl.c +++ b/src/lib/ecore_wayland/ecore_wl.c @@ -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; } diff --git a/src/lib/ecore_x/xcb/ecore_xcb_image.c b/src/lib/ecore_x/xcb/ecore_xcb_image.c index 81d32d0..b094b73 100644 --- a/src/lib/ecore_x/xcb/ecore_xcb_image.c +++ b/src/lib/ecore_x/xcb/ecore_xcb_image.c @@ -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; diff --git a/src/lib/ecore_x/xcb/ecore_xcb_randr.c b/src/lib/ecore_x/xcb/ecore_xcb_randr.c index a96b047..cc7d6a4 100644 --- a/src/lib/ecore_x/xcb/ecore_xcb_randr.c +++ b/src/lib/ecore_x/xcb/ecore_xcb_randr.c @@ -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; diff --git a/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c b/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c index b48cb9a..d22f1cd 100644 --- a/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c +++ b/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c @@ -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; diff --git a/src/lib/ecore_x/xlib/ecore_x_image.c b/src/lib/ecore_x/xlib/ecore_x_image.c index 8f823a4..df6bb15 100644 --- a/src/lib/ecore_x/xlib/ecore_x_image.c +++ b/src/lib/ecore_x/xlib/ecore_x_image.c @@ -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; diff --git a/src/lib/ecore_x/xlib/ecore_x_randr_12_edid.c b/src/lib/ecore_x/xlib/ecore_x_randr_12_edid.c index 5bda332..4c37a2c 100644 --- a/src/lib/ecore_x/xlib/ecore_x_randr_12_edid.c +++ b/src/lib/ecore_x/xlib/ecore_x_randr_12_edid.c @@ -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++) {