strange that nobody except hdante noticed this before, but it was
missing linkage with -lrt in libemotion (due generic being static) and
ecore_evas/extn.
SVN revision: 83007
This was stupid from the start, but now it casuse even more issues.
We'll have to just add a configure option to it when the time comes.
SVN revision: 82989
This commit is for all the poor souls that see no need to update their system
each day with everything the world may offer just to be sure they have the
latest. This commit is for people that like the idea of having something
working when it did so the day before. Kudos fot Tom for pointing out the
function.
SVN revision: 82980
it's basically not testing anything, just calling the API :-( Added
some tests that check if the listed type is of that type (mouse,
touchpad, joystick).
SVN revision: 82949
improve: use ck_assert_str_eq() instead of fail_unless(strcmp() == 0),
it's shorter and will print a proper error message on failure.
fix: timeval changed from seconds to asctime(), cope with that.
fix: hash tests now search for substrings and thus are not prone to
algorithm changes. the format is pretty simple to avoid false results.
SVN revision: 82945
This single test accounted for 1% of my terminology benchmark.
I am considering moving evas_string_char_next_get and
eina_unicode_utf8_get_next to become inline as their function
entry/exit point account for 3% of the same benchmark.
The biggest win would be to get rid of the memcpy _termpty_text_copy
that account for 16%.
In the micro optimization part, we also still do to much malloc
in font_draw_prepare as we don't recycle the array there and account
for 3% of the benchmark in malloc/free there. In the same ballpark
_text_save_top account for 2% of the time in malloc/free.
In that same benchmark, evas_object_textgrid_render account for 5%
where 4% of its time is spend in evas_common_font_draw_prepare. At this
point I am not sure that rewriting textgrid is gona help us at all. We
will win almost as much by just inlining the get_next things in evas
and eina for a minute of development time.
SVN revision: 82927
Expedite biggest test memory win 100KB, average 10KB.
No slow down in proxy test (+/-3%). Speed up in most other
case (average speed up is +5%), likely due to much more
cache hit.
Elementary test show a win between 100KB to 600KB depending
on the test you are considering.
Now, you can see how I intend to use Eina_Cow and the expected
win we can have from it. I don't intend to do more for the
rest of the week so you have time to comment.
SVN revision: 82924
If we add and remove the interfaces in the same mainloop iteration,
there's no point in sending the signals at all. Let's just omit them
since it's likely because the rest of the intialization for having them
failed.
SVN revision: 82907
If ther interface was just added on this mainloop iteration we shouldn't
put it in the reply to GetManagedObjects because we still didn't send
the InterfacesAdded signal for that interface.
SVN revision: 82906
Give the object that originated the signal to use in the idler for
changes in ther interfaces. This greatly simplifies the code,
particularly while removing.
Fix some issues in the previous implementations. There are some races
and corner cases that need to be taken into account in ObjectManager:
- Adding and removing an interface in the same mainloop iteration. We
were previously sending only the signal InterfacesRemoved
- When we dettach an object manager we need to flush its signals
- Since now we store the iface_{added,removed} in the object in which
they happen we also need to flush out signals when attaching an
ObjectManager, but let the previous ObjectManager send the signals
- When we free an Object also flush the changes. Previously we were
omitting the signal.
There are still some places to fix and some improvements to be made. I
let some TODOs and FIXMEs there.
SVN revision: 82903
eeze is just used on linux, where libmount exists and then we
shouldn't make this an option so we can rely on eeze's mount being
there.
(the code keeps the #ifdef's for a while, in case we need to revert that later)
SVN revision: 82901
it was failing:
- leaving missing objects (.edj, .la)
- eo was not building its examples automatically with --enable-always-build-examples
- make dist with '--enable-always-build-examples' was not including 'src/examples'
plus lots of ignored files due test changes.
SVN revision: 82894
Subject: [E-devel] Bug fix : ecore x XI2 handler not to make button
event twice
Dear developers,
I have fixed a bug in ecore x xi2 handler.
Currently, ecore mouse down/move/up event are made twice for a X touch
event.
Among a couple of events, the first one is made by a X touch event and
the other is made
by a button event whose flags has XIPointerEmulated flag.
The (latter) button event is made from the (former) X touch event
whose flags has XITouchEmulatingPointer flag.
Basically, X touch events doesn't have XITouchEmulatingPointer flag in
its flags when it doesn't make a
(XIPointerEmulated) button event.
Thus I correct ecore_x_xi2.c not to make a mouse down/move/up event
when a X touch event has
XITouchEmulatingPointer flag.
SVN revision: 82869
Instead of just making our own "check-local" and calling the binaries
ourselves, just append them into "TESTS" variable. Then they run after
all check_PROGRAMS are compiled.
The reasons for changing are:
1) If we change the test and call "make check" the test is not
compiled again -- and the only way to compile it is to "make clean".
2) There's no need to reinvent the wheel here.
With a recent version of Automake, the test output is redirected to log
files. This is good but unexpected for whom was used to the previous
way. So, be warned.
SVN revision: 82841
This new engine function will only be used in software generic for
now - since it's the only engine used with the async render.
This function has been introduced in order to avoid growing thread
command queue too much to draw a text_props at a time on render calls
from textgrid objects.
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82832
Unfortunately, although the pre-cast code is correct, we need the cast
because of the way gcc handles the types (magic) when passing va_args on
64 bit. This doesn't change anything logically.
SVN revision: 82827
There's no reason to keep a msg after it was sent. Before this patch we
had edbus_service_signal_send() unref'ing its msg and all the others
not. Also, several users (particularly the edbus_proxy_send() ones) were
forgetting to unref the msg.
This patch makes all these methods unref the message after it has been
succesfully sent:
- edbus_connection_send()
- edbus_object_send()
- edbus_proxy_send()
- edbus_service_signal_send()
SVN revision: 82807
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for
the .la, use the EFL_ macros to generate the contents to be used in
automake files.
There is a nasty bit that libtool will parse Makefile*.am and will not
get _DEPENDENCIES from _LIBADD and _LDADD if these are in
@REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The
contents of this is almost the same as _LIBADD or _LDADD with the
"_INTERNAL_" replacement name.
I hope the code will be result will be shorter and consistent as there
is less places to change when we add/remove dependencies.
Statistics are quite impressive (diffstat):
{{{
37 files changed, 663 insertions(+), 1599 deletions(-)
}}}
SVN revision: 82785
Print the name of each test together with the status so it's easier to
check which test failed/passed regardless the test's output:
./src/tests/efreet/efreet_test 2>/dev/null | grep -e "^FINISHED"
The tests themselves should not print to stdout, so we wouldn't need the
grep. But this is already better than we had before.
SVN revision: 82782
This improves the tests on freebsd, which doesn't have clearenv() (
though this commit was untested on such environement). clearenv was
rejected from POSIX so we better aim to stop its usage. However since
tests use setenv() this may lead to leaks, but it's better a leak than a
failing test.
On Linux all tests that were passing continue to pass.
SVN revision: 82779
The follow are left:
{{{
bin/embryo/embryo_cc_sc1.c: In function ‘dowhile’:
bin/embryo/embryo_cc_sc1.c:3524:24: warning: declaration of ‘wq’ shadows a global declaration [-Wshadow]
bin/embryo/embryo_cc_sc1.c:115:21: warning: shadowed declaration is here [-Wshadow]
bin/embryo/embryo_cc_sc1.c: In function ‘dodo’:
bin/embryo/embryo_cc_sc1.c:3546:24: warning: declaration of ‘wq’ shadows a global declaration [-Wshadow]
bin/embryo/embryo_cc_sc1.c:115:21: warning: shadowed declaration is here [-Wshadow]
bin/embryo/embryo_cc_sc1.c: In function ‘dofor’:
bin/embryo/embryo_cc_sc1.c:3565:24: warning: declaration of ‘wq’ shadows a global declaration [-Wshadow]
bin/embryo/embryo_cc_sc1.c:115:21: warning: shadowed declaration is here [-Wshadow]
}}}
looking at their code, they say to alloc a local "wq", but then they
call functions such as delwhile() that changes the global... VERY suspicious!!
SVN revision: 82734
fixed to be byte array instead of void pointer, did this based on the
code of convert... but what I found very strange is that math is "*
32"... really? Shouldn't it be "* 4"?
SVN revision: 82733
- they have no 'all' rule, keep out of SUBDIRS
- they depend on 'all-am', the non-recursive target that builds everything.
- they do not need a directory on its own to declare nothing.x
SVN revision: 82689
This one was a painful bitch. The edbus2 port was quite broken, mainly
leaking eina_stringshare and also not adding the '\0' to the strings
that are represented as bytearray (paths cannot be utf8 to avoid
translations).
Emotion plugin was also quite bogus and the video thumbnail as edje
(animated) is not working yet due bug in Edje_Edit api -- someone
needs to investigate this, seems strange.
Emotion plugin also had a bug that it was deleting the object from
inside object callback.
Now it seems to work. Please report if it does not.
SVN revision: 82675
This patch should make us get a reference on images, maps and glyphs
which are sent in a command to the render thread. Before we were doing
some useless ref and unref operations.
SVN revision: 82666
This is intended to preserve old behavior now that we have
evas_common_font_draw_cb() to handle both sync and async callbacks.
However, we need to check where why we end up with no glyphs in a
text_props even after calling evas_common_font_draw_prepare().
SVN revision: 82664
This sould bring back a little bit of text rendering performance, while at
the same time decreasing memory usage and fragmentation.
Patch by: Leandro Pereira <leandro@profusion.mobi>
SVN revision: 82660
buffer is lightweight and dependency for many engines, merge it back
into core.
extn is a module on its own, and it's the only one linking to
ecore_ipc, no need to add that to ecore_evas.
minor cosmetic changes to configure to make output consistent.
SVN revision: 82648
Change the module infra and allow one to register using the
description structure itself, saves some work.
Replace module_open and module_close with add() and del(), that are
more descriptive.
Move stuff to init/shutdown where it was a better fit.
Since add() now receives the first parameter being the owning
structure we can create one structure per generic player and they will
merge transparently with other modules, then we can use a simple
algorithm that considers the plugin priority. ALL DYNAMIC!
Future work could be done to load the plugin priority specified by
user from configuration file. But this is not in my plans right now.
SVN revision: 82602
Removed the engine handling out from smart object, later the module
API will change and we'll be able to simplify many things.
My plan is to allow generic players to register along as regular
modules.
SVN revision: 82597
* strings.h: is very useful, very old and very standard. The only place
that checks for that is simple_xml_parser and I have no idea why
SVN revision: 82576
no - not planning a backport of this at this stage. small thing. maybe
backport (and chlog/news) if this doesnt cause any new issues?
SVN revision: 82549
* emotion_init() and emotion_shutdown() now exist, let's do our
initialization from there.
* smart_add/smart_free will call init/shutdown for legacy apps.
* use eina_prefix to determine runtime location.
* use eina_module_arch_list_get()
SVN revision: 82509
we were using "" for locale that made eina_prefix think that we did
not had a common prefix.
take the time and add a magic file "checkme" to be checked at runtime
to validate stuff.
also made the binaries be searched in MODULE_ARCH namespace.
SVN revision: 82507
this one was quite a huge work, but hopefully it's correct.
NOTES:
* removed vlc generic module, it should go into a separate package.
* gstreamer is enabled by default (see --disable-gstreamer)
* xine is disabled by default (see --enable-gstreamer)
* generic is always built statically if supported
* gstreamer and xine can't be configured as static (just lacks command line options, build system supports it)
* v4l2 is enabled by default on linux if eeze is built (see --disable-v4l2)
* emotion_test moved to src/tests/emotion and depends on EFL_ENABLE_TESTS (--with-tests), but is still installed if enabled.
TODO (need your help!):
* fix warnings with gstreamer and xine engine
* call engine shutdown functions if building as static
* remove direct usage of PACKAGE_*_DIR and use eina_prefix
* add eina_prefix checkme file as evas and others
* add support for $EFL_RUN_IN_TREE
* create separate package for emotion_generic_modules
* check docs hierarchy (doxygen is segv'in here)
SVN revision: 82501
do not include Ecore_Input.h just to get Ecore_Window and Ecore_Getopt
to get handful typedefs.
NOTE: why do we have the #ifdefs around these predefs? At least GCC does not warn if we typedef twice the same thing (if they are identical)
SVN revision: 82499
This made no sense... as HAVE_ECORE_IMF was defined in a local (not
installed) config.h. With single-tree it is defined and will bring in
one useless include in our public header.
SVN revision: 82498
These binaries are called by efreetd and should be under MODULE_ARCH
dir.
And actually fix the path to efreet_desktop_cache_create that was wrong.
SVN revision: 82489
We must check whether source image has been loaded or not before
enqueueing draw commands. Otherwise, cserve2 may not have a specific
loader and then it does not load the source image and the enqueued draw
commands dereference the NULL pointer "data" from source image.
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82483
* Split out ecore_imf_xim to do its own check
* Fixed problem with xcb's makekeys, no rule for
$(top_builddir)/src/utils/ecore/makekeys$(EXEEXT) exists so make
used an implicit rule (ignoring any cflags of course)
* Fixed gl_x11 engine to build with either Xlib or XCB (xcb flags were
missing)
* Added EFL_FIND_X and replace any used of AC_PATH_X{,TRA}. First
looks for Xorg pkg-config files then if those arn't found it falls
back to old AC_PATH_X. Also generalized common header and lib
checks. Could probably use some polishing (the AC_CACHE_VAL cruft
especially) but this is what I have time for tonight.
Now X11 should be found on non-standard locations by means of xmkmf,
--x-includes/--x-libraries and also pkg-config.
SVN revision: 82475
the warning didn't exist because we were not using cflags, now we will.
all these variables are not used outside main(), so keep them local.
SVN revision: 82473
_try_proc() is how to find a symbol based on /proc/self/maps, not
related to argv0.
change _try_proc() to ifdef inside... avoiding the need to ifdef at
definition and call site.
SVN revision: 82469
* tests will run locally now, not just from installed files.
* efreet_init_new(NULL) is valid, actually used by efreet_desktop_save()
SVN revision: 82428
efreet used an uncommon PACKAGE_DATA_DIR without the package name
because it used that to populate default variables.
Add another variable for that and make PACKAGE_DATA_DIR more common.
Tests still fails like crazy, and they assume installed data :-(
SVN revision: 82426
Date: Sat, 5 Jan 2013 10:50:19 +0800
Subject: [PATCH] ecore-wayland: Improve opaque setting logic.
1. Update win->region.opaque in ecore_wl_window_update_size, so that
the opaque info is synced with the geometry.
2. Add win->surface checking in ecore_wl_window_buffer_attach
before send any wl_surface related request, it will avoid segfault
in case that calling ecore_wl_window_buffer_attach() before
ecore_wl_window_show().
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82385
1. Update win->region.opaque in ecore_wl_window_update_size, so that
the opaque info is synced with the geometry.
2. Add win->surface checking in ecore_wl_window_buffer_attach
before send any wl_surface related request, it will avoid segfault
in case that calling ecore_wl_window_buffer_attach() before
ecore_wl_window_show().
SVN revision: 82384