raster [Tue, 27 Apr 2010 23:53:08 +0000 (23:53 +0000)]
better debug/error output for foreign fd issues.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@48370
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 27 Apr 2010 10:53:25 +0000 (10:53 +0000)]
handle url set better
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@48358
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 27 Apr 2010 04:30:55 +0000 (04:30 +0000)]
formatting.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@48354
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 17 Apr 2010 05:35:13 +0000 (05:35 +0000)]
fix vc++ compilation
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@48064
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 17 Apr 2010 05:34:55 +0000 (05:34 +0000)]
fix warning with vc++
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@48063
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
billiob [Wed, 14 Apr 2010 21:02:37 +0000 (21:02 +0000)]
ecore: enable XIM by default
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@48008
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
sachiel [Mon, 12 Apr 2010 21:51:35 +0000 (21:51 +0000)]
Release lock before returning
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47980
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 12 Apr 2010 08:24:19 +0000 (08:24 +0000)]
dump and flush protocol added.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47948
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
devilhorns [Sun, 11 Apr 2010 20:37:11 +0000 (20:37 +0000)]
New function/atoms for Toggle of Quickpanel (for cases where we do not know
the current quickpanel state).
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47935
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
jeffdameth [Fri, 9 Apr 2010 04:52:04 +0000 (04:52 +0000)]
make ecore thread cancel work. someone knowing the internals should check this again.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47866
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
sachiel [Wed, 7 Apr 2010 22:09:26 +0000 (22:09 +0000)]
'tis an array of pointers, not just a string
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47824
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 5 Apr 2010 18:20:49 +0000 (18:20 +0000)]
revert. does not work
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47771
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 5 Apr 2010 17:48:08 +0000 (17:48 +0000)]
remove C99 features and use beautiful C89/BSD code
makes vc++ and win32 gcc/g++ happy
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47766
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 5 Apr 2010 13:22:40 +0000 (13:22 +0000)]
missing AC_SUBST call
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47762
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 5 Apr 2010 08:38:11 +0000 (08:38 +0000)]
include process.h for vc++
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47760
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 5 Apr 2010 08:26:48 +0000 (08:26 +0000)]
various fixes for vc++. I'll add the Visual Studio projects later
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47758
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 27 Mar 2010 19:01:31 +0000 (19:01 +0000)]
quartz -> cocoa renaming
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47508
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 27 Mar 2010 18:32:03 +0000 (18:32 +0000)]
remove unused files
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47507
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 27 Mar 2010 18:28:50 +0000 (18:28 +0000)]
more quartz -> cocoa renaming
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47506
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Mar 2010 17:35:22 +0000 (17:35 +0000)]
add debugs and warnings to ecore_evas_new().
Sometimes it might be useful for the tester to detect the engine that
is being used.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47391
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 22 Mar 2010 09:37:27 +0000 (09:37 +0000)]
formatting.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47369
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 22 Mar 2010 09:20:33 +0000 (09:20 +0000)]
formatting.... fix.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47368
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 22 Mar 2010 03:30:40 +0000 (03:30 +0000)]
--enable-glib-integration-always <- option. can be disabled by
ecore_main_loop_glib_always_integrate_disable() before ecore_init()
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47360
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 19 Mar 2010 06:57:47 +0000 (06:57 +0000)]
Second part of the renaming 'quartz' -> 'cocoa'
API break. Not really important for now as that port
is in a very bad shape anyway
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47340
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 19 Mar 2010 06:48:08 +0000 (06:48 +0000)]
First part of the renaming 'quartz' -> 'cocoa'
Quartz is the name of the graphic library
Cocoa is the Objective C API to build applications
I can't test this so maybe I have forgotten some
modifications to do. Please report any problem in
that thread
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47339
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 18 Mar 2010 14:43:39 +0000 (14:43 +0000)]
* ecore: Add memory statistic support. Set ECORE_MEM_STAT environment
variable to get them.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47319
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 16 Mar 2010 12:31:09 +0000 (12:31 +0000)]
only send rend done if syncing.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47288
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
davemds [Sun, 14 Mar 2010 10:53:14 +0000 (10:53 +0000)]
More doxy for ecore_file_download() and ecore_file_download_abort()
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47200
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
maxerba [Sat, 13 Mar 2010 11:00:30 +0000 (11:00 +0000)]
updating french translation
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47173
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
lfelipe [Thu, 11 Mar 2010 19:22:42 +0000 (19:22 +0000)]
Removing leftover reference to ecore-data
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47139
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 9 Mar 2010 12:57:38 +0000 (12:57 +0000)]
remove ecore_con_dns
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@47077
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 8 Mar 2010 12:03:50 +0000 (12:03 +0000)]
no more ecore-data - as warned before. going going oging... gone!
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46994
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 8 Mar 2010 08:34:18 +0000 (08:34 +0000)]
ecore_job has gone too
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46991
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 8 Mar 2010 08:21:25 +0000 (08:21 +0000)]
and update doc
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46990
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 8 Mar 2010 08:19:51 +0000 (08:19 +0000)]
update debian files too
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46989
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 8 Mar 2010 08:16:31 +0000 (08:16 +0000)]
ecore_job and ecore_txt has gone
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46988
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 8 Mar 2010 08:12:45 +0000 (08:12 +0000)]
update to latest scb-util version (xcb icccm api changed)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46987
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 8 Mar 2010 08:11:27 +0000 (08:11 +0000)]
update po
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46986
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Mon, 8 Mar 2010 08:08:04 +0000 (08:08 +0000)]
remove ecore_txt
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46985
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 8 Mar 2010 01:14:12 +0000 (01:14 +0000)]
init values with null.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46973
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 7 Mar 2010 12:14:19 +0000 (12:14 +0000)]
typo
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46948
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 7 Mar 2010 12:07:08 +0000 (12:07 +0000)]
when pthread is found, don't abort if spin lock is not found but not reqested
Patch by Albin Tonnerre
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46943
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 7 Mar 2010 11:47:11 +0000 (11:47 +0000)]
bug--
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46937
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 4 Mar 2010 21:39:21 +0000 (21:39 +0000)]
include Ecore.h before ecore_private.h
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46879
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 4 Mar 2010 08:21:21 +0000 (08:21 +0000)]
no need to set want_ecore_con to yes for darwin and generic OS
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46864
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 4 Mar 2010 08:19:26 +0000 (08:19 +0000)]
ecore_con not ready for Windows yet
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46863
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 2 Mar 2010 08:06:37 +0000 (08:06 +0000)]
oops! screen 0 not 1!
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46779
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 2 Mar 2010 01:43:45 +0000 (01:43 +0000)]
missing call if gl enigne not built.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46763
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 1 Mar 2010 12:01:57 +0000 (12:01 +0000)]
set win to 0 - in case
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46684
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 1 Mar 2010 04:44:36 +0000 (04:44 +0000)]
allow alpha ee windows.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46678
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 28 Feb 2010 23:27:47 +0000 (23:27 +0000)]
warnings--
Ecore now goes clean on -Wall -Wextra :-)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46672
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 28 Feb 2010 17:38:24 +0000 (17:38 +0000)]
F_SETFL and O_NONBLOCK are supported by evil
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46658
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 28 Feb 2010 17:28:05 +0000 (17:28 +0000)]
abort when pthread is requested but not found
patch by Albin Tonnerre
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46656
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 27 Feb 2010 16:45:20 +0000 (16:45 +0000)]
Revert EINA_(TRUE|FALSE) as requested by vincent.
windows have TRUE/FALSE and he wants it to be like that, if required
he will replace the efl-specific places later.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46586
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 27 Feb 2010 14:40:10 +0000 (14:40 +0000)]
hmm fix resize before change alpha...
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46579
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 27 Feb 2010 14:25:48 +0000 (14:25 +0000)]
yes yes yes!
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46578
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 27 Feb 2010 01:10:26 +0000 (01:10 +0000)]
ecore_txt is also a thin and picky wrapper around eina_str_convert()
this remove explicit dependency on iconv, so no checks are required
anymore.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46546
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 27 Feb 2010 01:01:03 +0000 (01:01 +0000)]
be picky about ecore_data even during runtime.
let's try to remove ecore_data from code asap, so we can remove it
from svn as well.
If you need help ask mail list or #edevelop.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46545
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 27 Feb 2010 00:56:36 +0000 (00:56 +0000)]
be picky even during runtime, let's try to spot and remove these ASAP.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46544
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 27 Feb 2010 00:53:58 +0000 (00:53 +0000)]
ecore_data is deprecated, flag everything as such.
those functions with drop-in replacement are just calls to the eina version.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46543
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 27 Feb 2010 00:33:19 +0000 (00:33 +0000)]
follow vtorri's advice and mark txt and config as deprecated in the summary
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46542
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 27 Feb 2010 00:01:10 +0000 (00:01 +0000)]
Convert everything to EINA_(TRUE|FALSE)
make it consistent.
By: Lucas de Marchi.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46539
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
devilhorns [Fri, 26 Feb 2010 05:56:49 +0000 (05:56 +0000)]
Patch from Brian Wang to fix the TRUE/FALSE --> EINA_TRUE/EINA_FALSE mess.
(NB: Win32/CE people may need to fix some TRUE/FALSE parts...couldn't test
those).
Thanks Brian :)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46503
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 26 Feb 2010 00:20:34 +0000 (00:20 +0000)]
turn off build of ecore-txt and ecore-config by default.
These are deprecated and will be killed in short time, stop using them!
Recommendations:
* ecore-txt: use eina_str_convert, drop in replacement, just sed.
* ecore-config: convert your code to use eet + Eet_Data_Descriptors
directly, it is simpler and faster, but requires you to change your
code. Consider using eet_data_descriptor_file_new() and
eet_eina_file_data_descriptor_class_set() or
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(). Then describe your type
with EET_DATA_DESCRIPTOR_ADD_*().
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46494
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 25 Feb 2010 21:26:32 +0000 (21:26 +0000)]
fix help string.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46488
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 25 Feb 2010 20:28:15 +0000 (20:28 +0000)]
maximum log level option.
this will have compilers to completely compile out log statements
using levels greater than the given number.
this is defined in config.h, thus C files should include this before
including Eina.h, as should be the case for all files (IOW: if it does
not work for some file, that file already have a bug).
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46482
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 25 Feb 2010 19:38:32 +0000 (19:38 +0000)]
couple of simple positive tests.
This is far from real unit testing, just simple cases are covered, but
it's better than nothing.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46477
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 25 Feb 2010 15:26:38 +0000 (15:26 +0000)]
* ecore: Match what doc when disabling thread support in ecore.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46467
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 25 Feb 2010 12:26:25 +0000 (12:26 +0000)]
why do a round trip for local info like.. root window # 0...
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46460
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 25 Feb 2010 12:19:02 +0000 (12:19 +0000)]
add lots of logging functions - for trackign x overhead when u cant get
symbols... booo! - disabled of course.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46458
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 25 Feb 2010 08:05:56 +0000 (08:05 +0000)]
add unit tests framework with some examples.
pass --enable-tests to configure to enable them,
then 'make check' to run the tests.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46456
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
ulisses [Wed, 24 Feb 2010 22:48:55 +0000 (22:48 +0000)]
Checking init count before actually freeing ecore evases.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46447
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 24 Feb 2010 20:59:44 +0000 (20:59 +0000)]
Fix fd_handlers when using recursive main loops.
If an fd_handler created a recursive main loop (just called
ecore_main_loop_begin()), then this recursive main loop should
continue to process fd_handlers from there and on, thus
fd_handler_current (and win32_handler_current) was added. When going
back from recursion, the current iterator should be updated properly.
This patch also fixes the deletion of fd_handler from recursive main
loops by reference counting them. This way, the node will not be
free()d inside inner loop cleanups and then crash when going back to
outer loop.
PS: win32 code is untested (or even compiled).
The following test case used to crash but not anymore:
#include <Ecore.h>
#include <Eina.h>
#include <unistd.h>
static int _log_dom;
#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
static Ecore_Fd_Handler *handle;
static int a[2], b[2];
static int cb2(void *data, Ecore_Fd_Handler *h)
{
INF("cb2 - delete cb1 handle");
ecore_main_fd_handler_del(handle);
ecore_main_loop_quit(); /* quits inner main loop */
return 0;
}
static int cb1(void *data, Ecore_Fd_Handler *h)
{
unsigned char ch = 222;
INF("cb1: begin");
INF(" add cb2");
ecore_main_fd_handler_add(b[0], ECORE_FD_READ, cb2, NULL, NULL, NULL);
INF(" wake up pipe b");
if (write(b[1], &ch, 1) != 1)
ERR("could not write to pipe b");
INF(" inner main loop begin (recurse)");
ecore_main_loop_begin(); /* will it crash due
* ecore_main_fd_handler_del(handle)
* inside cb2()? It used to!
*/
INF("cb1: end");
ecore_main_loop_quit(); /* quits outer main loop */
return 0;
}
int main(void)
{
unsigned char ch = 111;
ecore_init();
_log_dom = eina_log_domain_register("test", EINA_COLOR_CYAN);
pipe(a);
pipe(b);
/*
* Creating a new main loop from inside an fd_handler callback,
* and inside this new (inner) main loop deleting the caller
* callback used to crash since the handle would be effectively
* free()d, but when the recursion is over the pointer would be
* used.
*/
INF("main: begin");
handle = ecore_main_fd_handler_add
(a[0], ECORE_FD_READ, cb1, NULL, NULL, NULL);
INF("main: wake up pipe a");
if (write(a[1], &ch, 1) != 1)
ERR("could not write to pipe a");
ecore_main_loop_begin();
INF("main: end");
return 0;
}
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46443
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 24 Feb 2010 17:52:54 +0000 (17:52 +0000)]
fix declaration of struct addrinfo
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46434
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 24 Feb 2010 07:35:32 +0000 (07:35 +0000)]
-n - not -z!
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46424
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 24 Feb 2010 04:36:22 +0000 (04:36 +0000)]
some roundtrips--
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46420
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 24 Feb 2010 02:30:27 +0000 (02:30 +0000)]
Fix events when using recursive main loops.
If an event handler/filter created a recursive main loop (just called
ecore_main_loop_begin()), then this recursive main loop should
continue to process events/handlers/filters from there and on, thus
event_current/event_filter_current/event_handler_current were
added. When going back from recursion, the current iterator should be
updated properly.
The following test case used to crash but not anymore:
#include <Ecore.h>
#include <Eina.h>
static int _log_dom;
#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
static Ecore_Event_Handler *handle;
static int cb2(void *data, int type, void *event)
{
INF("cb2 - delete cb1 handle");
ecore_event_handler_del(handle);
ecore_main_loop_quit(); /* quits inner main loop */
return 0;
}
static int cb1(void *data, int type, void *event)
{
Ecore_Event *e;
INF("cb1: begin");
INF(" add cb2");
type = ecore_event_type_new();
ecore_event_handler_add(type, cb2, NULL);
e = ecore_event_add(type, NULL, NULL, NULL);
INF(" add event to trigger cb2: event=%p", e);
INF(" inner main loop begin (recurse)");
ecore_main_loop_begin(); /* will it crash due
* ecore_event_handler_del(handle) inside
* cb2()? It used to!
*/
INF("cb1: end");
ecore_main_loop_quit(); /* quits outer main loop */
return 0;
}
int main(void)
{
Ecore_Event *e;
int type;
ecore_init();
_log_dom = eina_log_domain_register("test", EINA_COLOR_CYAN);
/*
* Creating a new main loop from inside an event callback, and inside
* this new (inner) main loop deleting the caller callback used to
* crash since the handle would be effectively free()d, but when the
* recursion is over the pointer would be used.
*/
type = ecore_event_type_new();
INF("main: begin");
handle = ecore_event_handler_add(type, cb1, NULL);
e = ecore_event_add(type, NULL, NULL, NULL);
INF(" add event to trigger cb1: event=%p", e);
INF(" main loop begin");
ecore_main_loop_begin();
INF("main: end");
return 0;
}
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46419
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 24 Feb 2010 01:16:00 +0000 (01:16 +0000)]
events (also filters and handlers) now have reference counting.
Add reference counting to events, event filters and event handlers so
they can recurse main loops.
Note that the required "continuation" when entering main loops is not
there, thus recursion will restart and this will fail badly in lots of
cases. This should be fixed in future commits.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46417
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 24 Feb 2010 00:27:04 +0000 (00:27 +0000)]
rewrite ecore_timer internals to make it simpler and do better with
recursive main loops.
Unlike idlers, timers seems to work reasonably well with main loops, I
*think* they might fail since it used a boolean to flag running as
opposed to a reference count with incremental increments/decrements. I
could not write a test case to demonstrate so.
The now code should be simpler, particularly the
_ecore_timer_call(). It will also consider the previous position when
entering recursive main loops, preserving the order.
Deletion of timers are delegated to ecore_main.c, that was already
calling _ecore_timer_cleanup() after timers were executed.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46416
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
devilhorns [Tue, 23 Feb 2010 23:32:30 +0000 (23:32 +0000)]
Actually send the events wrt randr changes.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46414
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Feb 2010 22:49:15 +0000 (22:49 +0000)]
move bitfield booleans to Eina_Bool.
using one bit with integers will just have room for 0 and -1, not 0 and 1.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46412
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Feb 2010 22:25:35 +0000 (22:25 +0000)]
Fix idle_exiters when using recursive main loops.
If an idle_exiter created a recursive main loop (just called
ecore_main_loop_begin()), then this recursive main loop should
continue to process idle_exiters from there and on, thus
idle_exiter_current was added. When going back from recursion, the
current iterator should be updated properly.
This patch also fixes the deletion of idle_exiters from recursive
main loops by reference counting them. This way, the node will not be
free()d inside inner loop cleanups and then crash when going back to
outer loop.
The following test case used to crash but not anymore:
#include <Ecore.h>
#include <Eina.h>
static int _log_dom;
#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
static Ecore_Idle_Exiter *handle;
static int idler(void *data)
{
INF("idler");
return 1;
}
static int timer(void *data)
{
INF("timer (exited idle!)");
return 0;
}
static int exit_idle(void *data)
{
INF("add request (timer) to exit idle");
ecore_timer_add(0.0, timer, NULL);
return 0;
}
static int cb2(void *data)
{
INF("cb2 - delete cb1 handle");
ecore_idle_exiter_del(handle);
ecore_main_loop_quit(); /* quits inner main loop */
return 0;
}
static int cb1(void *data)
{
INF("cb1: begin");
INF(" add cb2");
ecore_idle_exiter_add(cb2, NULL);
INF(" add exit idler");
ecore_idler_add(exit_idle, NULL);
INF(" inner main loop begin (recurse)");
ecore_main_loop_begin(); /* will it crash due ecore_idle_exiter_del(handle)
* inside cb2()? It used to!
*/
INF("cb1: end");
ecore_main_loop_quit(); /* quits outer main loop */
return 0;
}
int main(void)
{
ecore_init();
_log_dom = eina_log_domain_register("test", EINA_COLOR_CYAN);
/*
* Creating a new main loop from inside an idle_exiter callback,
* and inside this new (inner) main loop deleting the caller
* callback used to crash since the handle would be effectively
* free()d, but when the recursion is over the pointer would be
* used.
*/
INF("main: begin");
handle = ecore_idle_exiter_add(cb1, NULL);
ecore_idler_add(idler, NULL);
ecore_idler_add(exit_idle, NULL);
ecore_main_loop_begin();
INF("main: end");
return 0;
}
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46410
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Feb 2010 22:13:42 +0000 (22:13 +0000)]
Fix idle_enterers when using recursive main loops.
If an idle_enterer created a recursive main loop (just called
ecore_main_loop_begin()), then this recursive main loop should
continue to process idle_enterers from there and on, thus
idle_enterer_current was added. When going back from recursion, the
current iterator should be updated properly.
This patch also fixes the deletion of idle_enterers from recursive
main loops by reference counting them. This way, the node will not be
free()d inside inner loop cleanups and then crash when going back to
outer loop.
The following test case used to crash but not anymore:
#include <Ecore.h>
#include <Eina.h>
static int _log_dom;
#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
static Ecore_Idle_Enterer *handle;
static int idler(void *data)
{
INF("idler");
return 1;
}
static int cb2(void *data)
{
INF("cb2 - delete cb1 handle");
ecore_idle_enterer_del(handle);
ecore_main_loop_quit(); /* quits inner main loop */
return 0;
}
static int cb1(void *data)
{
INF("cb1: begin");
INF(" add cb2");
ecore_idle_enterer_add(cb2, NULL);
INF(" inner main loop begin (recurse)");
ecore_main_loop_begin(); /* will it crash due ecore_idle_enterer_del(handle)
* inside cb2()? It used to!
*/
INF("cb1: end");
ecore_main_loop_quit(); /* quits outer main loop */
return 0;
}
int main(void)
{
ecore_init();
_log_dom = eina_log_domain_register("test", EINA_COLOR_CYAN);
/*
* Creating a new main loop from inside an idle_enterer callback,
* and inside this new (inner) main loop deleting the caller
* callback used to crash since the handle would be effectively
* free()d, but when the recursion is over the pointer would be
* used.
*/
INF("main: begin");
handle = ecore_idle_enterer_add(cb1, NULL);
ecore_idler_add(idler, NULL);
ecore_main_loop_begin();
INF("main: end");
return 0;
}
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46408
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Feb 2010 21:27:04 +0000 (21:27 +0000)]
Fix idlers when using recursive main loops.
If an idler created a recursive main loop (just called
ecore_main_loop_begin()), then this recursive main loop should
continue to process idlers from there and on, thus idler_current was
added. When going back from recursion, the current iterator should be
updated properly.
This patch also fixes the deletion of idlers from recursive main loops
by reference counting them. This way, the node will not be free()d
inside inner loop cleanups and then crash when going back to outer
loop.
The following test case used to crash but not anymore:
#include <Ecore.h>
#include <Eina.h>
static int _log_dom;
#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
static Ecore_Idler *handle;
static int idler(void *data)
{
INF("idler");
return 1;
}
static int cb2(void *data)
{
INF("cb2 - delete cb1 handle");
ecore_idler_del(handle);
ecore_main_loop_quit(); /* quits inner main loop */
return 0;
}
static int cb1(void *data)
{
INF("cb1: begin");
INF(" add cb2");
ecore_idler_add(cb2, NULL);
INF(" inner main loop begin (recurse)");
ecore_main_loop_begin(); /* will it crash due ecore_idler_del(handle)
* inside cb2()? It used to!
*/
INF("cb1: end");
ecore_main_loop_quit(); /* quits outer main loop */
return 0;
}
int main(void)
{
ecore_init();
_log_dom = eina_log_domain_register("test", EINA_COLOR_CYAN);
/*
* Creating a new main loop from inside an idler callback, and inside
* this new (inner) main loop deleting the caller callback used to
* crash since the handle would be effectively free()d, but when the
* recursion is over the pointer would be used.
*/
INF("main: begin");
handle = ecore_idler_add(cb1, NULL);
ecore_idler_add(idler, NULL);
ecore_main_loop_begin();
INF("main: end");
return 0;
}
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46406
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 23 Feb 2010 21:04:38 +0000 (21:04 +0000)]
Fix the bug of the first timer being added from idler.
We should start doing unit-test for ecore, accumulating these
problems. Follows the test case:
#include <Ecore.h>
#include <Eina.h>
static int _log_dom;
#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
static int quiter(void *data)
{
INF("quit!");
ecore_main_loop_quit();
return 1;
}
static int idler(void *data)
{
INF("idler");
return 1;
}
static int cb1(void *data)
{
INF("cb1");
ecore_timer_add(0.0, quiter, NULL);
return 0;
}
int main(void)
{
ecore_init();
_log_dom = eina_log_domain_register("test", EINA_COLOR_CYAN);
/*
* Create a main loop with just idlers, there is a special case
* for just idlers without timers in ecore.
*
* From idler, add a timer that quits the application. It should
* always quit.
*
* If it does not quit, then there is a bug of new timers not
* being immediately detected and system never exits idle.
*/
INF("main: begin");
ecore_idler_add(cb1, NULL);
ecore_idler_add(idler, NULL);
ecore_main_loop_begin();
INF("main: end");
return 0;
}
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46405
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
devilhorns [Tue, 23 Feb 2010 20:53:34 +0000 (20:53 +0000)]
Add atoms/functions for keyboard geometry. This will be used w/ conformant
apps to notify them of keyboard changes so they can move widgets around,
etc, etc.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46402
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 23 Feb 2010 13:11:54 +0000 (13:11 +0000)]
never use macro defined by configure in an exported header
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46387
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Mon, 22 Feb 2010 20:09:44 +0000 (20:09 +0000)]
fix my coding style errors...
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46362
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Mon, 22 Feb 2010 20:09:03 +0000 (20:09 +0000)]
fix ecore-glib reentrance
if using ecore_main_loop_begin() multiple times (reentrant/recursive)
with glib doing threads, then it would deadlock since the same thread
would get the lock it already have.
multiple ecore_main_loop_begin() is required to implement WebKit's
alert/confirm/prompt dialogs since there is no async reply with
callbacks, rather one must return the value.
By: Lucas de Marchi
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46361
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
devilhorns [Mon, 22 Feb 2010 17:12:24 +0000 (17:12 +0000)]
Readd zone_list functions and atoms. (Needed for some elm apps like
elm_indicator & elm_softkey).
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46357
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 22 Feb 2010 08:08:04 +0000 (08:08 +0000)]
even tho its going to be killed... fix it anyway.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46352
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 20 Feb 2010 19:12:52 +0000 (19:12 +0000)]
* instead of including headers wrt to the OS, include them if
they are available
* compilation on Windows XP minimum only
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46338
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 20 Feb 2010 18:01:50 +0000 (18:01 +0000)]
First steps towards the Windows port of ecore_con.
ecore_con_dns will be hard to port (fork+exec).
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46337
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 20 Feb 2010 09:35:48 +0000 (09:35 +0000)]
On Windows, ecore_exe_auto_limits_set() does nothing
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46331
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 20 Feb 2010 09:20:04 +0000 (09:20 +0000)]
Windows: Add priority support when a child process is created
and add documentation for that.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46330
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 19 Feb 2010 19:23:47 +0000 (19:23 +0000)]
improvements of the stderr and stdout redirections. There are
still lots of work to be done:
* allow several redirections (only one for now...)
* fix stdin redirection
* fill empty functions
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46319
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 19 Feb 2010 08:00:44 +0000 (08:00 +0000)]
rfiddling wiht lop to try and get rid of pauses. i think i found it... plus a
bit of streamlining. need to test more widely now.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46303
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
devilhorns [Fri, 19 Feb 2010 02:27:18 +0000 (02:27 +0000)]
Ecore_X changes for new illume2 code.
NB: This will break current PROTO/elm_* apps for illume2. They will be fixed
up shortly.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46284
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 17 Feb 2010 08:13:30 +0000 (08:13 +0000)]
aaaah bummer. (see comment)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46243
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 17 Feb 2010 05:05:56 +0000 (05:05 +0000)]
and put those back too.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@46237
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33