this allows improvements to the code which provides hide animations,
allowing clients to begin hiding during their show animations instead
of rendering a black rectangle
it's conceivable that, were there a bug in client refcounting,
this could become an infinite loop and prevent shutdown/restart.
since, at this point, we don't really care about deleting anything,
ensure that the loop will end
this follows 56cabf59c6 then
4e5521b4d8 where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
refs were inconsistent - thus this fixed the fullscreen quit bug by
never freeing a client. this brings the bug back by fixing this client
leak. i'll look again at this later.
the refcoutning for e_comp and e comp clients seemed to be a bit off -
i read over every ref and unref carefully and fix it. this leads to
the com-_data being null (properly now), so now check for that too.
Summary: fixed window focus and keyboard input issues if the to-be-focused window is in an iconized state
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2644
Summary: Sometimes a window has a name that's not like the application name, for example. chromium-browser application will have a window name: Chromium-browser. Most users will try to match the window name with "chromium-browser", but it wont work b/c the e's window name match is case sensitive. Most users, would not know that the window name of chrome is "Chromium-browser", so it is pretty much impossible for them to setup a focus-to-window-name binding properly.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2645
these are specific types of animation for use when toggling window visibility.
they combine with existing compositor window animations to provide nicer integration
for very specific types of windows
see https://www.youtube.com/watch?v=hIVdd0Z2K00 for a demo
this has been in e for ages - someone not noticed, but this fixes
visual artifacts of left over menus on the top-left. this extra ref
really makes no sense. it's not like this ref is then accomoanied by a
matching unref somewhere else (after much debugging).
@fix
it seems that some changes now make the shel menu post callback be
called for older menus not part of the shelf and thus shelf menu
stored != menu the cb is for - thus resulting in deletion of the wrong
menu
Summary:
wl_drm sets up a resize callback, so if the resize occurs before zone setup
wl_drm's call to e_comp_canvas_update will setup extra zones (breaking the
wizard).
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2567
#butts
Summary:
First of all, currently cdata->ptr.x,y contains e_client related pos.
But, cdata is owned by e_comp, not per e_client. So cdata->ptr.x,y should contain
absolute pos.
And, when a pointer resource is created, enter event should be sent to client.
Change-Id: I21cb031e293fe281e35ba89f3a96116a28a48856
Signed-off-by: Boram Park <boram1288.park@samsung.com>
Test Plan:
1. run e as wayland server
2. move cursor to around 50,50
3. run elementary_test
4. click the mouse left button on slide toggle widget.
(Don't move a cursor out of elementary_test. If you do, you can't find bug)
Reviewers: gwanglim, raster, devilhorns, ManMower, zmike
Reviewed By: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2330
Summary: We should just use e_comp->wl_comp_data everywhere we can.
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2507
Summary:
Remove an unnecessary comparison.
It fixes coverity CID 1291841 Same on both sides.
@fix
Reviewers: raster, devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2523
Summary:
If we don't set server mode we can deadlock when trying to use functions
that way for server mode to become set.
This can currently cause a startup freeze in e_scale_init().
Reviewers: zmike, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2520
Summary:
Currently enlightenment-wayland support pointer and keyboard events.(in input)
So I added EVAS_CALLBACK_MULTI_* event handler and hanling functions for wl_touch interface.
This code send wl_touch events to client like a pointer event.
Test Plan:
In wayland + enlightenment environment, generate multi touch events.
The enlightenment will be send wl_touch events to client.
Reviewers: raster, devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2482
Summary:
A parent surface can be destroyed. In this case, ec->comp_data->sub.data->parent has
a wrong address which has already destroyed. Then, it occurs segmentation fault.
To avoid segfault, ec->comp_data->sub.data->parent should be NULL when a parent surface
is destroyed.
Signed-off-by: Boram Park <boram1288.park@samsung.com>
Test Plan: Run attached test program(subsurface)
Reviewers: gwanglim, cedric, devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2484
str(n)dupa are GNU extensions that duplicate a string, using an alloca'd
buffer. This patch removes their definitions from e.h (which should only
contain E's own API, without fallback definitions for libc functions)
which were wrong anyway (they failed in cases where str(n)dupa was an
actual function, not a macro).
Instead, we replace them depending on context with alloca+memcpy+strlen
or a static buffer (used in contexts where we are sure that the buffer
will contain the string entirely)
@fix