This fixes runtime errors such as:
ERR<29027>:edje lib/edje/edje_calc.c:756 _edje_part_description_apply()
Cannot find description "normal" in part "text2" from group
"elm/segment_control/item/default". Fallback to default description.
The "normal" (non-existant) state corresponds to a disabled state,
which is provided by the "default" state.
so there were a few issues. one we had a spinlokc on the eoid table
for shared objects AND then had a mutex for accessing those objects
(released on return from any eo function). BUT this missed some funcs
like eo_ref, eo_unref and so on in eo.c ... oops. so fixed. but then i
realized there was a race condition. we locked the eoid table then
unlocked with our pointer THEN locked the sharted object mutex ...
then unlocked it. that was a race condtion gap. so we should share the
same lock anyway - if it's a shared object, grab the shared object
mutex then do a lookup and if the lookup does not fail, KEEP the lock
until it is released by the return from eo function or by some special
macro/funcs that released a matching lock. since its a recursive lock
this is all fine. as its also a universal single lock for all objects
we just need the eoid to know if it's shared and needs locking based
on the domain bits. so now do this locking properly with just a single
mutex, not both a spinlock and mutex and keep the lock around until
totally done with the object. this plugs the race condition holes and
goes from 1 spinlock lock and unlock then a mutex lock and unlokc to
just a single mutex lock and unlock. this means shared objects are
actually truly safe across threads and only have the overhead of a
single recursive mutex to lock and unlock in every api call.
Summary: Need to NULL check before using surface like other cases.
Test Plan: N/A
Reviewers: jpeg, raster, ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4301
Summary:
1. Fix wrong logic of ELM_PANEL_ORIENT_RIGHT case in _state_sync.
2. Move pre calc function in anim_cb to sizing_eval function.
This code have caused problem that scrollable panel is not animated during drawer open and close.
3. Maintain content size ratio when orient is changed.
4. Freeze scroller when orient is changed.
This code will need to change orientation when drawer opened.
Reviewers: cedric, eunue
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4320
this is quick to get evas working again. this disables part of
7e2d700d06 that creates deadlocks. this
thread waits on mainloop. mainloop waits on this render thread. BOOM.
deadlock.
This series adds the Ecore_Evas multi-seat VNC support
using the software X11 backend.
This implementation tries to mimic the Wayland's multi-seat support.
This series also introduces two new kinds of EFL events, which are:
* EFL_CANVAS_EVENT_DEVICE_ADDED - Which is emitted every
time an Evas_Device is created.
* EFL_CANVAS_EVENT_DEVICE_REMOVED - Which is emmited every
time an Evas_Device is removed/deleted.
The new events are useful when one wants to monitor how many
and what kind of devices are connected to the system.
Patches by iscaro.
Differential Revision: https://phab.enlightenment.org/D4295
@feature
This patch adds the support for Ecore events from a remove
VNC client. Every time it happens a VNC mouse move/click/wheel or a
VNC keyboard event an Ecore event event will be created and dispatched.
The Efl_Input_Device will contain the device which originated the event,
this will be useful for dealing with multi-seat environment. When the device
is NULL it means that the event originated from the default seat.
the makefile was wrong making multip.edj for the multitouch test in
elm the wrong src thus breaking the crosshairs. this fixes that again
so the test is right.
@fix
Summary:
Active descendant changed signal send function checks for wrong object,
hence always returns with out actually sending signal.
The state is set to pd->object_broadcast_mask and not
pd->object_children_broadcast_mask in _set_broadcast_flag function.
Test Plan:
Send the active descandant changed signal from any widget, but signal
is not sent.
Reviewers: kimcinoo, lukasz.stanislawski, cedric
Reviewed By: cedric
Subscribers: jpeg, govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D4318
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
If we fail to allocate memory for savedtypes.types here, then the
"known" array would end up leaking. Defer creation of 'known' array
until after savedtypes.types is allocated, this way we don't leak.
Fixes CID1363216
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
If entry edje should be changed according to scrollable mode,
the signal will be used. The following signals are added.
"elm,scroll,enable"
"elm,scroll,disable"
Test Plan: N/A
Reviewers: raster, tasn, herdsman, cedric
Subscribers: minkyu, jpeg, akanad, z-wony, Blackmole
Differential Revision: https://phab.enlightenment.org/D4254
if we dont get the userdata of a offer something in the protocol went
very very bad, we should not emit there a error, just return.
Also if we are getting a null offer we should dereference the nulled out
offer object.
This fixes CID 1363214
Since _config_load() is called and _elm_config is not initialized, NULL
check for _elm_config is not necessary.
The unnecessary NULL check causes false alarm because _elm_config is not
checked in other cases.
so by chance i discovered efreet is doing bad things(tm) when
expanding/appending to string buffers to generate commands based off
desktop files. the string append basically was buggy, so fixed it by
making it a lot simpler and more obvious and now reliable.
@fix
The callbacks are never invoked due to sd->play equal to 0. The
function _emotion_decode_stop is called before and resets this field.
Before the change to Efl.Canvas.Video, sd->play was not checked.
if a dnd operation enters a surface the window_id is clear, so a offer
is always specific to a window. If we have a source we try to fetch the
id from the focus/prevfocus or keyboardfocus.
This fixes dropping into a efl app which never got focus before.
the format can also be the result of mutliple or´ed values.
The new code now also uses the same mimetypes to format type relation
than the selection code.
This fixes dragging onto a container with multiple formats.
Spotted by ApBBB while dragging from ephoto to terminology.
This also fixes T3320
as per other recent benchmarking, moving rearely run code (in this
case code to init the op etc.) out of the l1 cacheline prefetch inot a
blob of code at the end of the function where we goto and goto back
again should provide decent-ish speedups for the resolv cache in
avoding this code. yes it makes the code less pretty to read but at
this really low level hot path ... evil things must happen to get the
speed we want/need.
As we always set this flag in the drm2_fb_flip function, having this
check here is now pointless.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
before the format was not passed correctly, now the format is passed
correctly to the callback.
Also if a dnd operation was started while a cnp receive call was
going on (this happend because weston-editor failed to close the fd, so
EOF was never sent), then elm_cnp would behave wrong, since the
requestwidget, action, format would be different.