Previously, if the window had no frame object, then this could would
have been setting opaque region twice (for the alpha case). We can
avoid this if we move the alpha check to below the frame check.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Problem: crash in assert() in terminology.
Scenario:
Open Terminology,
Split V by keyboard,
Move mouse to split 2,
Create tab by keyboard
--> abort() in terminology
Cause:
An extra mouse,in event happens during edje_object_unswallow
inside elm_layout_content_unset.
Root cause:
efl_part() in elm_layout had a side effect: edje_recalc on the
edje object. Causing its geometry to be "properly" defined and
the mouse event to trigger callbacks.
Solution:
Avoid calling recalc... somehow.
Conclusion:
Without adding any new API, edje edit provides internally the
information that we want: type of an edje part (for box & table).
Fixes T4221
See T4028
See T3509
so e is being stupid and creating an ecore-x image forevery single
window if in x11 mode if it needs it or not. this results in having ti
allocate an actual x image and shm segments. work around this and get
bit order from somewhere else than the x image itself thus avoiding
the allocation until a real get or put is done.
@fix
Since session recovery can cause apps to constantly try and reconnect
to the display server, we probably should not be filling logs here. On
the other hand, any failures on first connect are now not going to
display any error messages.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
What a mess... Assuming efl_part() had no side effect on the
object it took me hours to figure out that there was a wrong
call to _edje_recalc_do in the efl_part() function itself.
That was bad, and existed because efl_part() used to be
efl_content_get().
efl_part() should not have any side effect.
Also, fix a return value in content_remove.
Fixes T4214 (invalid redraw and crash in terminology).
this PARTLY addresses T3556 ... this handles our own conversion of
makrup to string then to a windows newlined string. this half. i wrote
the conversion code for the other way but it's unused as i am unsure
where exactly to plug in it. following the cnp code makes me not sure
where it goes so for now - not there, but ready to go.
to be clear. out API is unix text. utf8 strings at our api with UNIX
newlines. that is our api. that is the text we accept and produce. if
you deal with another file or interface that does not provide this
then the job of conversion is AT THAT POINT. eg elm_cnp.c has to do
this. as would file loads of text files (and saves) etc. - anything
else like forgivingly handling anything at the api level makes it
totally unclear what our api is and what should go in and come out.
to be portable we have to define what it is and the most portable
thing to do is at the api level within a process we define one and
only one format. UNIX \n format.
@fix - partial
This fixes the following error message:
Object '0x40000002f0000030' still has a parent at the time of destruction.
Though I actually wonder why ref == 0 and there was a parent.
Something is still a bit fishy here.
so our sysv shm segments were both over-permissive (nothing bad
really, just other users could read and write to/from our pixel data
destined for the screen... they could do this to x11 directly anyway
so no real issue), but be more restrictive and use 0600 as xserver
runs as root so can read/write anyway and we only want our own uid
access. but even more - fix our shm segment flushing to not keep lots
of segments floating about like a bad smell when we don't need them.
we had a cache but it wasnt flushed when it should be since async
rendering turned up. this fixes that and we're back to agressively
flushing them out when idle.
@fix
Summary:
- In the callback for ELM_PLUG_EVENT_IMAGE_DELETED,
it tries to get elm_conform's data from NULL.
@fix
Reviewers: Hermet, woohyun, cedric, jpeg
Reviewed By: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4177
is_visible returns 0 if no_render is true, so should
was_visible as well. Yeah, there will be problems if
no_render changes on the fly. Don't do that.
Fixes T4193
This is annoying to see key events flooding a terminal ... so comment
out this debug statement. If a developer really needs this, then
enable it locally.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This reverts commit 57d77c9041.
We are in freeze right now and this is a new feature. Considering the access
API is still in beta I might have let this slip by but its does not even build
../../../src/tests/elementary/elm_test_popup.c:27:1: error: conflicting types for ‘elm_object_part_access_object_get’
START_TEST (elm_object_part_access_object_get)
^
In file included from ../../../src/lib/elementary/Elementary.h:240:0,
from ../../../src/tests/elementary/elm_test_popup.c:6:
../../../src/lib/elementary/elm_object.h:521:54: note: previous declaration of ‘elm_object_part_access_object_get’ was here
EAPI Evas_Object *elm_object_part_access_object_get(const Evas_Object *obj, const char *part);
^
../../../src/tests/elementary/elm_test_popup.c: In function ‘elm_object_part_access_object_get’:
../../../src/tests/elementary/elm_test_popup.c:39:47: warning: passing argument 1 of ‘elm_object_part_access_object_get’ makes integer from pointer without a cast [-Wint-conversion]
access = elm_object_part_access_object_get(popup, "access.title");
^
../../../src/tests/elementary/elm_test_popup.c:27:1: note: expected ‘int’ but argument is of type ‘Evas_Object * {aka struct _Eo_Opaque *}’
START_TEST (elm_object_part_access_object_get)
^
../../../src/tests/elementary/elm_test_popup.c:39:13: error: too many arguments to function ‘elm_object_part_access_object_get’
access = elm_object_part_access_object_get(popup, "access.title");
^
../../../src/tests/elementary/elm_test_popup.c:27:1: note: declared here
START_TEST (elm_object_part_access_object_get)
^
../../../src/tests/elementary/elm_test_popup.c:39:11: error: void value not ignored as it ought to be
access = elm_object_part_access_object_get(popup, "access.title");
^
Makefile:43996: recipe for target 'tests/elementary/tests_elementary_elm_suite-elm_test_popup.o' failed
make[5]: *** [tests/elementary/tests_elementary_elm_suite-elm_test_popup.o] Error 1
If you still want this in make sure it actually can compile the tests you added.
The edje text example covers the translation functionality which need the mo
and po files during edje_cc compilation. Further more the folder need to be
writable to create the new mo/po files.
We need to ensure that this is the case during a distcheck which is read only
on the source tree.
When we are adding new input devices, if we already have an existing
one (keyboard, pointer, touch, etc) then we should just be
incrementing the device count and returning from the init function.
Previous code here would increment the device count, then continue on
and create a new internal representation of the device. This was
causing issues when a device gets removed.
Fixes T4192
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
so if an img obj had some update regions and was opaque, it didnt del
an update region first before adding the updates, thus possibly
letting update regions pass through the opaque image area
@fix
This seems the only way to disable subtitles embedded in the video file.
WIthout this patch calling em_spu_mute_set/get do not work, thus I consider this a @fix
using map_bo/unmap_bo instead of gem_map_bo_gtt/gem_unmap_bo_gtt
results in a cacheable mapping and a large performance boost.
(dmabuf will still remain turned off by default for the release)
This commit introduces a new state per input, this state is just for the
keymap and no modifieres, the state is used to get the keysym from a
keycode. This is done to stay compatible with x since keyname in efl is
the characters which are describing the key which is pressed, without
the transformation of shift etc.
This also escapes keycodes from beeing a utf8 character, and passes out
a keyname instead of the utf8 symbol.
fix T3976
fix T4184
Summary: We use int from 0 to 255 for color, not float
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D4182
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
In all code paths leading to this goto statement being called,
'iter_array' variable will already be NULL, so checking it's validity
is just logically dead code.
Fixes Coverity CID1357392
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that eina_safepointer_get returns a NULL promise here
(checked 20 out of 21 times). As eina_safepointer_get can return NULL,
we should check the validity of 'promise' here before trying to
derefernce it later.
Fixes Coverity CID1356625
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that this is logically dead code. As we check the
validity of 'model' above this function, then testing 'model' for
validity again in this expression is just logically dead.
Fixes Coverity CID1356617
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that this is logically dead code. As eo_item has been
dereferenced on all paths leading here, and it is also set above, then
it cannot be NULL at this point, thus this check is logically dead.
Fixes Covierty CID1355585
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that we do not check the return value of
_eldbus_model_proxy_load here. We likely should be checking that in
case the model proxy fails to load so we can return proper values here.
Fixes Coverity CID1355233
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that we call _circular_dependency_find here without
checking the return value
Fixes Coverity CID1349867
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that we are missing breaks in the switch blocks here,
so add missing breaks.
Fixes Coverity CID1347413 and CID1347414
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
this fixes over-rendering (where we render the whole image) if it has
a border set. do proper region updates if the image has a border but
is not scaled and the fill is at 0 0 and sams size as the object etc.
etc. so this is simple and doable.
this fixes T4123
this just makes it more obvious where its handling the opaque middle
fill case. see T4123 - i was just reding the code and this seemingly
does the right thing.
Summary: change specular color to ambient int the function of ambient color
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D4169
Parts can use enother groups as source, for example textblock. If source
groups does not exist - group is not valid. This patch extend the group
copy process and copy dependend group too.
@fix
This reverts commit fb24955782.
While this patch did fix the issue of toggling window Borderless state
in EFl-Wl client applications, it is "Enlightenment's" stance that it
will not change to match this fix, so this has to be reverted else
internal E dialogs show up with no border (due to them using SSD).
This is going to re-open T4092 sadly :( and now leave that bug with no
possible fix.
ref T4092
Fixes T4126
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This is a (minor) API & ABI break in Eo.h!
I say minor as eo_override shouldn't be used yet (EO is unstable
and this patch includes all the use cases in EFL).
I'm not very happy about the new form of the macro, but it avoids
two things:
- passing in a struct (valid in C, but never used in EFL)
- using a GCC construct to create structs on the fly
It was inspired by the event array define, but I don't think
we need the runtime memcpy here.
See also:
https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html
This fixes the following ERR message:
ERR<30400>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:462 _eo_call_resolve()
in ../src/lib/evas/canvas/efl_event_input.eo.c:3: func 'efl_event_flags_get'
(1483) could not be resolved for class 'Efl_Event_Hold'.
This is an EO-API only fix.
This fixes the following ERR:
ERR<23969>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:462
_eo_call_resolve() in ../src/lib/efl/interfaces/efl_event.eo.c:5:
func 'efl_event_instance_get' (1479) could not be resolved for class 'Efl_Event_Hold'.
i don't know for sure if this fixes T4103 but in theory i think it
might given a reading of the backtrace and a guess at what might
happen, so try this fix. it doesn't hurt and can only help.
@fix
there was a leak of elements on the itrator stack when the stack was
flushed still having some items on it, thus losing their pointers and
never freeing them.
@fix
This is to show that proxies can proxy more than just other
images, and also this was done to test D4159 (alternatively
changed into the previous commit).