Carsten Haitzler (Rasterman) [Mon, 5 Oct 2015 09:30:34 +0000 (18:30 +0900)]
evas rectangle - ensure centers of rects that just move/resize dont rend
calculating updates has been re-rendering centers fo solid rects if
the solid rects moves/resizes with a lot of overlap and objects
underneath changes - their changes show through. this fixes that
@fix
Carsten Haitzler (Rasterman) [Mon, 5 Oct 2015 07:04:31 +0000 (16:04 +0900)]
ecore docs - adjust docs to be explicit about ecore main loops nesting
it seems some people think ecore main loops can nest. they can't. be
explicit in docs.
Carsten Haitzler (Rasterman) [Mon, 5 Oct 2015 07:00:47 +0000 (16:00 +0900)]
ecore - detect nested ecore_main_loop_begins from silly code
@feature
Carsten Haitzler (Rasterman) [Mon, 5 Oct 2015 06:51:02 +0000 (15:51 +0900)]
evas - cutouts - use less cpu by skipping non-intersecting cutout objs
@feature
Cedric BAIL [Sun, 4 Oct 2015 15:36:42 +0000 (17:36 +0200)]
ector: fix leak of dash info in Cairo backend.
CID 1316270
Tom Hacohen [Sun, 4 Oct 2015 15:27:52 +0000 (16:27 +0100)]
Ecore con: Prevent possible use of uninitialised buffer on the stack.
I'm not actually sure if it's a false, because finding the possible
options is hard. Just to be safe, it's better to set buf to "" in the
else case. I'm doing this instead of initialising the variable so the
compiler/static analyser will be able to warn us if there are other code
paths that should probably set buf, but don't.
CID 1316016
@fix
Tom Hacohen [Sun, 4 Oct 2015 15:16:04 +0000 (16:16 +0100)]
Ecore Con: Fix possible timing attacks.
Gist of it: we check, and then there's a window between our check and
the mkdir. We don't really need it anyway, because we just want to mkdir
and if it exists, just go on and do nothing.
CID 1039559
CID 1039558
@fix
Tom Hacohen [Sun, 4 Oct 2015 14:34:48 +0000 (15:34 +0100)]
Ecore pipe: clean up handling of already read information.
Coverity was complaining about a possible integer overflow. This isn't
actually possible, but coverity has no way to know that because we were
in fact using a too big of a type. I fixed it to be the right type so
now everything should work.
CID 98384
@fix
perepelits.m [Sun, 4 Oct 2015 14:37:17 +0000 (16:37 +0200)]
evas-3d: fix primitives
Summary:
There were warnings after adding primitive in the same frame more then once, the check was added to avoid it
@fix
Reviewers: cedric, raster, Hermet
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D3090
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Subodh Kumar [Sun, 4 Oct 2015 13:23:49 +0000 (15:23 +0200)]
evas_box: fix children size and position calculation when padding is used for horizontal flow layout
Summary:
Fix children size and position calculation when padding is used
For each child size calculation padding is adjusted
but box height should include padding.
Secondly, x and y position of children should not include
the vertical and horizonatal padding as child size has already
included the given paddings.
@fix
Test Plan:
Please modify test_box.c file in
function test_box_vert2 as follows:
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
elm_box_padding_set(bx, 50, 50);
elm_box_layout_set(bx, evas_object_box_layout_flow_horizontal, NULL, NULL);
evas_object_show(bx);
Now,
1. open elementary_test
2. box
3. Box vert 2 (observe box is broken)
4. Try resizing the window (observe)
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3049
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Cedric BAIL [Sun, 4 Oct 2015 08:43:54 +0000 (10:43 +0200)]
eio: make poll backend pass eio_test_monitor.c test suite.
Summary: The current poll backend code uses only filename when reporting changes, while eio tests (and presumably other backends) use absolute path. This makes poll backends behavior more consistent with other backends.
Test Plan: Ran eio test suite with poll backend.
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3083
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Tom Hacohen [Sun, 4 Oct 2015 14:01:08 +0000 (15:01 +0100)]
Edje test: remove unused variable.
Tom Hacohen [Sun, 4 Oct 2015 13:56:57 +0000 (14:56 +0100)]
Eo: Remove dead code.
This removes code that became dead in commit:
389c6d35f2908018e8b6ae3f8294c02c6b5073a0
The commit doesn't explain why we don't shrink or grow when using mmap,
but this is how it is. No reason to keep old code there.
CID 1240224
@fix
Daniel Kolesa [Sun, 4 Oct 2015 13:52:36 +0000 (14:52 +0100)]
eolian: fix out-of-bounds indexing on tokens
Fixes CID 1324818 @fix
Carsten Haitzler (Rasterman) [Sun, 4 Oct 2015 08:56:07 +0000 (17:56 +0900)]
Revert "eina: change default log level at which we display backtrace."
This reverts commit
05c18876b3e2dba5dd7caea2517aaf24d92ab614.
i endabled backtraces by DEFAULT because it is otherwise pretty damned
hard to get them from things like enlightenment, or on tizen apps as
running them on the cmdline and having them work is close to
impossible. yes it's noise. FIX THE ERRORS then. this commit is just
like turning off gcc etc. warnings because the code is too noisy in
compilation with them on. it's a bug. fix it. the bt lets you do that
without gdb or re-executing AGAIN with an env var and HOPING to find
the bug the next time around.
not to mention efl programming docs cover this backtrace and say it
is on by default and how to get useful info out of this. this makes
the elf docs a lie by removing what is documented as default.
@fix
Carsten Haitzler (Rasterman) [Sun, 4 Oct 2015 08:53:46 +0000 (17:53 +0900)]
eldbus - make method calls less crasy since libdbus likes to abort
changes zmike made to e's systray make e abort due to libdbus seeing
the bus name as invalid. it actually is. it's
/org/ayatana/NotificationItem/steam for example - instead of
or.whatever.blah - thuis e aborts continually if you run steam at all.
eldbus should be more crash-proof thus this adds checks so dbus fun
doesnt cause an app to crash if it happens to call incorrect dbus names.
@fix
Carsten Haitzler (Rasterman) [Sun, 4 Oct 2015 07:50:58 +0000 (16:50 +0900)]
evas render - async sw - fix context duplication by using proper dup call
valgrind pointed this one out. we access freed memory when we dup a
context because the context CONTAINS ptrs to things like rects for
cutouts. we didnt dup these. use the proper context dup call (and
properly ref pixman color image too). this was a random bug/crash
waiting to happen and valgrind caught it. suprising it hasnt turned up
before :/
@fix
Stefan Schmidt [Sun, 4 Oct 2015 07:19:53 +0000 (09:19 +0200)]
examples: fix eina_tmpstr example after revert of strftime
Was left broken after the eina_tmpstr_strftime revert.
Tom Hacohen [Fri, 2 Oct 2015 08:30:49 +0000 (09:30 +0100)]
Revert "eina_tmpstr: add eina_tmpstr_strftime"
As agreed on the ML, eina_tmpstr_strftime() should be removed.
This reverts commit
abaf29cb768375957c9ee0b64d36034c21c618ea.
Jean-Philippe Andre [Fri, 2 Oct 2015 07:51:43 +0000 (16:51 +0900)]
Evas GL: Fix render: force pixel_get if dirty
All examples and docs point to using only the dirty flag in
order to trigger a redraw of an Evas GL surface. The commit
21c43528234 broke this behaviour (for a good reason, but not
related to Evas GL).
This is a compatibility fix.
Jean-Philippe Andre [Fri, 2 Oct 2015 06:15:40 +0000 (15:15 +0900)]
Evas GL: Add new API to get current Evas GL
While this seems to go against the rest of the API (because we
always pass in the Evas GL object), there is no way right now
fully restore a context if there are multiple Evas GL objects.
For instance, an app can use Evas GL from an Elm GLView, and also
use Cairo with another Evas GL at the same time. In that case Cairo
needs to restore the previous Evas GL but the library had no way
of getting the current Evas GL. This is the equivalent of
eglGetCurrentDisplay().
@feature
Jean-Philippe Andre [Fri, 2 Oct 2015 07:32:05 +0000 (16:32 +0900)]
Evas image: Simplify updates if adding whole region at once
Marcel Hollerbach [Fri, 2 Oct 2015 07:13:48 +0000 (09:13 +0200)]
eldbus: fix _eldbus_message_iter_arguments_vget
Summary:
there is a problem with _eldbus_message_iter_arguments_vget.
Assume: We have a array of type y, there are 3 elements in the array.
Lets say we are iterating with
printf("%c", dbus_message_iter_get_arg_type(iter));
and
dbus_message_iter_next(iter);
throuw the iter.
You will see that this will output yyy. As we are having 3 times v.
While the signature of the message iterator is y.
If you now call eldbus_message_iter_arguments_get(message, "y", &cont)
it will return false, with the errormessage in line 766, reason for this
is that the type of the signature iterator differs from the message
iterator. Because of the upper example.
So all in all: The signature given to the method has not to be equal to
the signature of the message iterator, it has to be equal to the
iterated signature, which cannot be found easily with the eldbus api.
The solution is to only iterate in the message iterator that long until
the signature iterator is at the end, if the type differs in this
region, give a error and return false. Otherwise return true.
The sad thing about this is that it is a behaviour break, but the
behaviour is borked, so its a fix.
I tested this over a week now, without any problem in efl/elm/e.
Reviewers: stefan_schmidt, zmike
Reviewed By: stefan_schmidt
Subscribers: zmike, ceolin, simotek, DaveMDS, cedric
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3074
Jean-Philippe Andre [Fri, 2 Oct 2015 03:21:56 +0000 (12:21 +0900)]
Edje tests: Test inheritance of flag no_render
Jean-Philippe Andre [Fri, 2 Oct 2015 03:17:34 +0000 (12:17 +0900)]
edje_cc: Fix inheritance of "no_render" flag
@fix
Jean-Philippe Andre [Fri, 2 Oct 2015 03:13:56 +0000 (12:13 +0900)]
edje_cc: Add "render" keyword for lazEDC
Since @zmike also thought this could be useful, let's add it.
Cedric BAIL [Fri, 2 Oct 2015 00:18:54 +0000 (17:18 -0700)]
ector: don't leak cairo context.
Cedric BAIL [Thu, 1 Oct 2015 21:12:50 +0000 (14:12 -0700)]
eio: improve documentation.
This set of documentation update basically make it clearer that Eio
use Eina and do cross linking of function used by Eio to Eina. It
also copy some of the warning coming from Eina documentation into Eio.
Cedric BAIL [Thu, 1 Oct 2015 21:11:02 +0000 (14:11 -0700)]
eina: fix misleading documentation regarding enum values.
Chris Michael [Thu, 1 Oct 2015 19:51:21 +0000 (15:51 -0400)]
evas-wayland-shm: Reduce size of resize pool during resize events
Summary: We really don't need to be allocating a shm pool this large
during resize, so reduce the size of the pool.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Amitesh Singh [Thu, 1 Oct 2015 19:53:13 +0000 (01:23 +0530)]
ecore_ipc: fix typo in ecore_ipc_server_send() API doc
Amitesh Singh [Thu, 1 Oct 2015 19:46:07 +0000 (01:16 +0530)]
ecore_imf: ibus - remove logically dead code
fixes CID: 1261460
Jean-Philippe Andre [Thu, 1 Oct 2015 13:20:48 +0000 (22:20 +0900)]
edje_cc: Add "norender;" as lazEDC for "no_render: 1;"
Jean-Philippe Andre [Thu, 1 Oct 2015 12:58:18 +0000 (21:58 +0900)]
edje_cc: Allow PROXY as clipper (clip_to and desc.clip_to)
This arbitrary limitation can now be lifted since masking
is well supported (ie. clip_to can point to an IMAGE rather than
a RECT).
@feature
Chris Michael [Thu, 1 Oct 2015 13:00:44 +0000 (09:00 -0400)]
evas-gl-drm: Add support for 'smart' merge mode
Summary: This just adds support for 'smart' merge mode in the evas
gl_drm engine to keep in line with gl_x11 engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 1 Oct 2015 12:59:00 +0000 (08:59 -0400)]
evas-wayland-egl: Add support for 'smart' merge mode
Summary: This just adds support for 'smart' merge mode in the wayland
egl engine to keep in line with the gl x11 engine
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Jean-Philippe Andre [Thu, 1 Oct 2015 12:28:32 +0000 (21:28 +0900)]
edje_cc: Check default state as well
Strangely only the other states were checked for errors. Errors
include:
- no name for state, or "description with missing state"
- invalid clip_to
Also improve the error message a bit
Jean-Philippe Andre [Thu, 1 Oct 2015 11:27:36 +0000 (20:27 +0900)]
Edje: Fix big oopsie in previous commit
Jean-Philippe Andre [Thu, 1 Oct 2015 11:01:52 +0000 (20:01 +0900)]
Edje: Turn SNAPSHOT objects into filled images for now
Without that, the image has no fill information. Fill properties
may need to be added to SNAPHOT parts but the default behaviour
should make sense. Before this patch you just get a black rectangle.
Considering how image filters currently work, marking snapshots
as filled by default is not the best solution (need padding_set(0)
to render nicely).
Jean-Philippe Andre [Thu, 1 Oct 2015 10:59:22 +0000 (19:59 +0900)]
Evas filters: Fix handling of FILL for image filters
Note: Image filters still need a LOT of work to be usable.
Jean-Philippe Andre [Tue, 15 Sep 2015 09:10:51 +0000 (18:10 +0900)]
Edje: Fix invalid loading of snapshot parts
Jean-Philippe Andre [Mon, 7 Sep 2015 10:08:50 +0000 (19:08 +0900)]
Edje: Add test case for SNAPSHOT
This is mostly an edje_cc compilation test.
Jean-Philippe Andre [Mon, 7 Sep 2015 08:22:07 +0000 (17:22 +0900)]
Edje: Add filter support to SNAPSHOT parts
This makes SNAPSHOT a part type on it own, combining the
common and filter subtypes.
This means it is now possible to set an evas filter on
a SNAPSHOT object, just like for TEXT, IMAGE and PROXY.
@feature
Jean-Philippe Andre [Tue, 18 Aug 2015 12:37:42 +0000 (21:37 +0900)]
Edje tests: Add PROXY part to the filters test case
Only compilation is tested here.
Use edje_player to check the resulting edj if you wanna see what
happens.
Jean-Philippe Andre [Tue, 18 Aug 2015 12:35:55 +0000 (21:35 +0900)]
Edje: Fix IMAGE filters
Some invalid logic made filters work only in a rare situation.
@fix
Jean-Philippe Andre [Tue, 18 Aug 2015 12:14:11 +0000 (21:14 +0900)]
Edje: Add support for filters to PROXY parts
Same syntax as for IMAGE and TEXT: description.filter
Jean-Philippe Andre [Tue, 18 Aug 2015 12:07:53 +0000 (21:07 +0900)]
Edje: Fix filters for IMAGE parts inherited states
Jean-Philippe Andre [Tue, 18 Aug 2015 12:05:51 +0000 (21:05 +0900)]
Edje: Move internal struct filter around (refactor)
Thiep Ha [Thu, 1 Oct 2015 10:29:23 +0000 (19:29 +0900)]
doc/eldbus: fix parameter in document
Summary:
The allow_initial_call apprears two times in
eldbus_name_owner_changed_callback_add api.
@fix
Reviewers: seoz, Hermet
Reviewed By: Hermet
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D3110
Stefan Schmidt [Thu, 1 Oct 2015 10:21:33 +0000 (12:21 +0200)]
po: update po files
Stefan Schmidt [Thu, 1 Oct 2015 10:19:52 +0000 (12:19 +0200)]
evas: include new header file in build to fix distcheck
Introduced in
72b13c3ebb0b5f117f3602871ec2842d4baac786 the new header was
not deployed and thus not available in the tarball.
Oleksandr Shcherbina [Thu, 1 Oct 2015 10:08:14 +0000 (19:08 +0900)]
evas_canvas3d: Unification algorithm generation shadow
Summary:
Change type of texdepth from GL_R(doesn't support with GLES) to GL_RGBA.
Don't use useless additional framebuffers for shadows.
Use same shader code for generation shadow map texture.
Turn always using software alpha-test.
It reduce and simplify code in general.
Reviewers: cedric, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3115
Jean-Philippe Andre [Thu, 1 Oct 2015 08:34:20 +0000 (17:34 +0900)]
edje_cc: Fix TEXT part validation for aliased parts
Not 100% sure of this fix but it "works". This is just compile-time
safety checking code after all, so it won't impact any existing
application.
This fixes commit
d4444bf7a0e368097bec555. Tested with empc.
Thanks @zmike for the report and test case.
Nicolas Aguirre [Thu, 1 Oct 2015 06:54:47 +0000 (08:54 +0200)]
evas: Add defines for GL_COLOR_EXT, GL_DEPTH_EXT, GL_STENCIL_EXT
Dongyeon Kim [Thu, 1 Oct 2015 01:05:28 +0000 (10:05 +0900)]
evas/gl_common: Fix memory leak for font glyph extension image
Evas_GL_Image created for font glyphs in evas_common_font_rgba_draw
is sometimes freed after Evas_Engine_GL_Context is freed.
Since gc is already freed, pt_unref returns and leaves pt behind.
Felipe Magno de Almeida [Wed, 30 Sep 2015 22:55:16 +0000 (17:55 -0500)]
eolian-cxx: Fix inheritance from C++ classes after Eo ABI breakage
Fixed removal of op field from Eo_Op_Description and removed
unnecessary use of internal Eo API to implement the Eo API function
for theh constructor of the inherited class.
Cedric BAIL [Wed, 30 Sep 2015 22:12:13 +0000 (15:12 -0700)]
evas: move all GL safe define to a common header and use it.
Cedric BAIL [Wed, 30 Sep 2015 22:00:25 +0000 (15:00 -0700)]
evas: use void * instead of struct wl_* to avoid compilation issue on system without Wayland extention.
Cedric BAIL [Wed, 30 Sep 2015 21:59:24 +0000 (14:59 -0700)]
edje: fix a memory leak while iterating used color class.
Mike Blumenkrantz [Wed, 30 Sep 2015 20:23:55 +0000 (16:23 -0400)]
ecore-audio: defer deletion of pulseaudio timer until after event processing
==27523== Invalid write of size 8
==27523== at 0x9E855F5: _ecore_time_wrapper (ecore_audio_pulse_ml.c:132)
==27523== by 0x647E5CF: _ecore_call_task_cb (ecore_private.h:336)
==27523== by 0x647FB8B: _ecore_timer_expired_call (ecore_timer.c:733)
==27523== by 0x647F9EE: _ecore_timer_expired_timers_call (ecore_timer.c:686)
==27523== by 0x647B4CE: _ecore_main_loop_iterate_internal (ecore_main.c:1814)
==27523== by 0x647998E: ecore_main_loop_begin (ecore_main.c:983)
==27523== by 0x4E4F676: elm_run (elm_main.c:1099)
==27523== by 0x12801B: elm_main (test.c:1010)
==27523== by 0x1280C4: main (test.c:1021)
==27523== Address 0x20537208 is 8 bytes inside a block of size 56 free'd
==27523== at 0x4A07D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==27523== by 0x9E858ED: _ecore_pa_time_free (ecore_audio_pulse_ml.c:204)
==27523== by 0x108DB350: free_events (socket-client.c:109)
==27523== by 0x108DBA53: do_call (socket-client.c:157)
==27523== by 0x9E855F0: _ecore_time_wrapper (ecore_audio_pulse_ml.c:131)
==27523== by 0x647E5CF: _ecore_call_task_cb (ecore_private.h:336)
==27523== by 0x647FB8B: _ecore_timer_expired_call (ecore_timer.c:733)
==27523== by 0x647F9EE: _ecore_timer_expired_timers_call (ecore_timer.c:686)
==27523== by 0x647B4CE: _ecore_main_loop_iterate_internal (ecore_main.c:1814)
==27523== by 0x647998E: ecore_main_loop_begin (ecore_main.c:983)
==27523== by 0x4E4F676: elm_run (elm_main.c:1099)
==27523== by 0x12801B: elm_main (test.c:1010)
==27523== by 0x1280C4: main (test.c:1021)
@fix
Tom Hacohen [Wed, 30 Sep 2015 12:22:53 +0000 (13:22 +0100)]
Ecore win32: Fix compilation.
Broke in commit
015040d13f1340529cf31ee73d6b25987c23a670.
Please compile check before pushing.
ChunEon Park [Wed, 30 Sep 2015 11:31:30 +0000 (20:31 +0900)]
ecore_win32: fix the mouse out behavior.
Current win32 let the mouse out regardless of mouse down status.
This is not quitely same with the x system so widget behaviors were not properly working.
Make the widget behaviors about mouse-out same to x window system
to keep the same behaviors on all window system always.
@fix
ChunEon Park [Wed, 30 Sep 2015 11:28:45 +0000 (20:28 +0900)]
ecore_win32: code refactoring.
replace to ECORE_CALLBACK_PASS_ON from 1 for readability.
Tom Hacohen [Wed, 30 Sep 2015 07:37:31 +0000 (08:37 +0100)]
Eo: Clean up windows code a bit more.
Merge more parts of it with the non-windows code.
Thiep Ha [Wed, 30 Sep 2015 02:57:16 +0000 (11:57 +0900)]
po: Add Vietnamese translation
Summary: Add translation for Vietnamese.
Reviewers: seoz, stefan_schmidt, Hermet
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D3117
Mike Blumenkrantz [Tue, 29 Sep 2015 19:24:29 +0000 (15:24 -0400)]
upower: free version string splits
@fix
Daniel Kolesa [Tue, 29 Sep 2015 13:11:52 +0000 (14:11 +0100)]
eolian generator: refactoring of file reads
Daniel Kolesa [Tue, 29 Sep 2015 12:54:11 +0000 (13:54 +0100)]
eolian generator: no need to replace newlines on win32 (lexer can deal with it)
Amitesh Singh [Tue, 29 Sep 2015 03:56:40 +0000 (09:26 +0530)]
ecore_buffer: fix typos in documentation
Note by TAsn: I accidentally reverted this commit, bringing it back.
Tom Hacohen [Tue, 29 Sep 2015 08:14:32 +0000 (09:14 +0100)]
Eo: add a regression test for broken callback comparison.
This bug was fixed in
d889da6b12e6123073edb54d766c9af1fc6db822, but it was too
late at night to start hacking on extracting a regression test and adding it to
the suite, so adding it now.
This test makes sure that we only fallback to string comparison with legacy
events.
Amitesh Singh [Tue, 29 Sep 2015 03:56:40 +0000 (09:26 +0530)]
ecore_buffer: fix typos in documentation
Amitesh Singh [Tue, 29 Sep 2015 03:44:28 +0000 (09:14 +0530)]
evas: fix typos in documentation
Tom Hacohen [Mon, 28 Sep 2015 23:45:34 +0000 (00:45 +0100)]
Eo legacy events: Fix broken callback comparison
Commit
37f84b7e966372384e2dfe5d191a6f907a17962e introduced a few changes
to the callback matching mechanism that made it so sometimes callbacks
would be triggered for the wrong events. The problem was there because
of the support for legacy events that forces to do string comparison
instead of the usual pointer comparison. We should only do string
comparison when we are certain one of the callbacks is a legacy
generated one.
Regression tests will follow tomorrow. Way too late here for that.
Thanks to cedric for reporting.
Tom Hacohen [Mon, 28 Sep 2015 16:18:43 +0000 (17:18 +0100)]
Eo: reduce memory usage across applications.
As described by Carsten in his email to edev ML titled:
"[E-devel] eo stability - i think we need to postpone that"
with the switch to Eo2 we significantly increased our usage of RW memory
pages, and thus significantly increased our memory usage when running
multiple applications.
The problem was that during the migration to Eo2 the op id cache and the
op description arrays were merged, causing the op description arrays to
no longer be RO. This patch enables users of Eo (mainly Eolian) to
declare those arrays as const (RO) again, saving that memory.
There might be performance implications with this patch. I had to remove
the op desc array sorting, and I used a hash table for the lookup. I
think the op desc sorting doesn't really affect performance because that
array is seldom accessed and is usually pretty short. The hash table
is not a problem either, because it's behind the scenes, so it can be
changed to a more efficient data structure if the hash table is not good
enough. The hash table itself is also rarely accessed, so it's mostly
about memory.
Please keep an eye for any bugs, performance or excessive memory usage.
I believe this should be better on all fronts.
This commit *BREAKS ABI*.
@fix
Daniel Kolesa [Mon, 28 Sep 2015 17:50:07 +0000 (18:50 +0100)]
eolian tests: strip trailing newlines for ref file compare
Amitesh Singh [Mon, 28 Sep 2015 16:37:26 +0000 (22:07 +0530)]
ecore_con: fix typo in documentation
Amitesh Singh [Mon, 28 Sep 2015 16:29:34 +0000 (21:59 +0530)]
eldbus: fix typos in documentation
Amitesh Singh [Mon, 28 Sep 2015 16:27:35 +0000 (21:57 +0530)]
eio: fix typo in documentation
Amitesh Singh [Mon, 28 Sep 2015 16:24:26 +0000 (21:54 +0530)]
emotion: fix typo in documentation
Amitesh Singh [Mon, 28 Sep 2015 16:20:51 +0000 (21:50 +0530)]
eet: fix typo in documentation
Daniel Kolesa [Mon, 28 Sep 2015 14:59:16 +0000 (15:59 +0100)]
Eolian generator: remove sentinel generation
Tom Hacohen [Mon, 28 Sep 2015 15:05:08 +0000 (16:05 +0100)]
Eo: Fix examples and benchmarks according to recent Eo changes.
Tom Hacohen [Mon, 28 Sep 2015 14:48:17 +0000 (15:48 +0100)]
Eo: Remove EO_SENTINEL.
This was never really needed because we always had the count.
Removing this now because we are already breaking API and ABI.
Tom Hacohen [Mon, 28 Sep 2015 14:26:51 +0000 (15:26 +0100)]
Eo: Clean up windows code.
We were keeping a struct member that wasn't really needed on windows.
Since we already broke ABI, we can afford to clean this up.
Tom Hacohen [Mon, 28 Sep 2015 14:24:44 +0000 (15:24 +0100)]
Eo: Fix eo function name getter on windows.
Tom Hacohen [Mon, 28 Sep 2015 14:11:12 +0000 (15:11 +0100)]
Eo: rename EO_HOT_EVENT_DESCRIPTION to EO_EVENT_DESCRIPTION_HOT.
The old naming is inconsistent with the rest of the EFL. This fixes that.
Since we are already breaking ABI (and possibly API), we should fix this too.
Tom Hacohen [Mon, 28 Sep 2015 13:15:15 +0000 (14:15 +0100)]
Eo: Drop doc field from ops and events.
This hasn't been used for a while. Since we are going to break Eo a bit anyway
it's a good opportunity to drop this.
This may cause a slight performance issues with legacy events, such as
smart callbacks. This shouldn't really be a problem as we've migrated away from
them. If it does, we need to migrate the remaining parts. Only relevant
for callbacks that are added before the classes are created, which
shouldn't be possible except for smart, only for old evas callbacks.
Amitesh Singh [Mon, 28 Sep 2015 10:19:11 +0000 (15:49 +0530)]
ecore: fix typos in documentation
Amitesh Singh [Mon, 28 Sep 2015 10:15:44 +0000 (15:45 +0530)]
edje_edit: fix typo in error message
Amitesh Singh [Mon, 28 Sep 2015 10:12:51 +0000 (15:42 +0530)]
edje: fix typos in documentation
Carsten Haitzler (Rasterman) [Mon, 28 Sep 2015 06:19:32 +0000 (15:19 +0900)]
evas - protect against invalid obj id in legacy wrapper func
@fix
Carsten Haitzler (Rasterman) [Sun, 27 Sep 2015 17:56:28 +0000 (02:56 +0900)]
evas - lock render updates as this happesn to be accesed from threads
Carsten Haitzler (Rasterman) [Sun, 27 Sep 2015 17:55:13 +0000 (02:55 +0900)]
evas - software x11 - lock shmpool as now shm pool entities are threaded
recent changes moved shm buffer pushig to a thread and thus shm pool
has to be locked too
Daniel Zaoui [Sat, 26 Sep 2015 19:37:03 +0000 (22:37 +0300)]
Eo: fix double callback deletion
Scenario:
- Same signal/function/data registered twice on e.g mouse_down
- On mouse_down, register mouse_move and mouse_up
- On mouse_up, unregister mouse_move
Result: mouse_move still invoked after mouse_up
Reason:
- When the mouse_move callback deletion is required, the cb is
flagged as deleted but is not freed as walking_list blocks.
- When the second (and same) has to be deleted, it will try to delete
the first again because the delete_me flag is not checked.
This patch fixes it by checking the delete_me flag when determining the
candidate.
@fix
Mike Blumenkrantz [Sat, 26 Sep 2015 02:21:25 +0000 (22:21 -0400)]
ecore_evas-x11: unset withdrawn flag when showing the ecore evas
while the window map event seemed like a reasonable place to unset
the withdrawn state at the time, studies and further tests have proven
that the direct show callback is even more reasonable and effective
ref T2745
Mike Blumenkrantz [Sat, 26 Sep 2015 01:19:12 +0000 (21:19 -0400)]
ecore_evas-x11: unset withdrawn state when window is mapped
according to ICCCM 4.1.4:
Newly created top-level windows are in the Withdrawn state.
Once the window has been provided with suitable properties,
the client is free to change its state...
...
Only the client can effect a transition into or out of the Withdrawn state
given that no external force can (according to spec) transition a
window out of the withdrawn state, this must be done at a reasonable
point. mapping the window seems like a reasonable point to me.
fix T2745
ref
5954289c6ce1cd55ff212428291604b981438439
@fix
Subodh Kumar [Fri, 25 Sep 2015 08:49:18 +0000 (09:49 +0100)]
Edje entry: Make cursors to null after free
Summary:
Edje entry: Make cursors to null after free
To prevent any illegal access of cursors
can lead to crash
@fix
Test Plan: NA
Reviewers: tasn
Reviewed By: tasn
Subscribers: shilpasingh, cedric
Differential Revision: https://phab.enlightenment.org/D3093
Andrii Kroitor [Fri, 25 Sep 2015 07:33:04 +0000 (10:33 +0300)]
edje_adit: fix typos in header
Summary: @fix
Reviewers: cedric, raster, Hermet, reutskiy.v.v, FurryMyad
Reviewed By: FurryMyad
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3108
Carsten Haitzler (Rasterman) [Fri, 25 Sep 2015 05:38:21 +0000 (14:38 +0900)]
evas gl - optimize updates
@feature
this makes the gl engine by default not do bounding box, but instead
try and smartly merge nearby update regions. this means multiple
render passes IF your drivers support buffer age, but it seems to
actually help. in my test case on nvidia drivers which support buffer
age, i saw compositor cpu overhead drop by about 30%
Carsten Haitzler (Rasterman) [Fri, 25 Sep 2015 05:31:28 +0000 (14:31 +0900)]
evas image object - dont update just if image is dirty
marking images as dirty is only meant to have the pixle get callback
called IF rendered. you ADD update regions to get it to be called.
this is how it has always meant to work, but evas image objects where
adding updates just if dirty. this ends up with e as a compositor
redrawing ENTIRE eindows if even a single blinking cursor is blinking.
oh so bad.
@fix