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
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
All examples and docs point to using only the dirty flag in
order to trigger a redraw of an Evas GL surface. The commit
21c4352823 broke this behaviour (for a good reason, but not
related to Evas GL).
This is a compatibility fix.
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
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
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.
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>
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>
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>
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
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).
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
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
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 d4444bf7a0. Tested with empc.
Thanks @zmike for the report and test case.
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.
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.
==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
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