registering and unregsitering caused a few issues.
- Relations are recalculated even if they should not be
- We unfocus a element just to refocus it again
- We loose any iinformation about custom chains that have been set meanwhile
This fixes it
Summary:
Seding ipc messages on ews_update_image(which is invoked as a callback of EVAS_RENDER_POST)
can makes ecore main loop awake, because sending ipc messages makes message_queue not empty.
so that this patch prevent seding ipc logic if there is nothing to draw.
Reviewers: cedric, raster
Reviewed By: raster
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6055
Set the EOLIAN_EVENT_NO_TYPE_WARN environment variable to enable
those warnings during Eolian usage. They will be considered a part
of the validation then.
Use the void type for events to suppress the warning.
Summary:
We now have the ability to provide the seat information properly, so
fire off an ERR if a caller doesn't.
Depends on D6131
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6132
Summary:
We were creating seats with silly arbitray names like seat-11 when
creating a new canvas.
Depends on D6130
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6131
Summary:
Make it harder to misuse this function in the future.
Depends on D6129
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6130
Summary:
We looked it up, we probably wanted to return it?
Depends on D6128
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6129
Summary:
When a CSD button interaction under wayland leads to a compositor action
like move or resize, we essentially "give back" that button press to the
compositor, and it never sends us a mouse up for it.
We need to internally fire a mouse up event to fix up state so the client
doesn't think the mouse is still down. Until now we've been doing this
by setting a flag when we start a move/resize and checking it at next
pointer enter for the window.
This leads to unsolvable races and wacky bookkeeping, and runs afoul of
the fact that we're not actually guaranteed a pointer enter immediately
after a move completes. There is absolutely no way at all on wayland to
know if a move or resize operation has completed.
So, let's just fire the mouse up immediately on start of interaction,
which is raceless.
This fixes a years old bug where dragging a window might leave a stuck
mouse up, and allow hilighting text without drag after the window drag
completes. (elementary-test -to "text editor" with multiple windows open
exhibits this bug)
Depends on D6127
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6128
Summary:
These should never be called, so they shouldn't be API.
This kind of internal state fiddling should happen implicitly in the
API that need it.
@beta_break
Depends on D6126
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6127
Summary:
This "ungrab" thing appears to just send a mouse up event in some
situations.
This already happens at *start* of drag, so at best calling it again will
do nothing, and at worst it'll break input.
Depends on D6125
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6126
Summary:
In wayland we need to know which seat initiated the CSD compositor move
request to properly handle input.
Depends on D6124
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6125
Summary:
These ecore_evas_wayland things seem like they shouldn't exist. The
ecore_wl2 api is better and still in beta so it can be fixed when it's
shown to be broken/wrong as the ecore_evas_wayland ones are. :(
The move API is stuck with x, y co-ordinates that can never make sense,
and neither API is capable of passing seat info.
Depends on D6123
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6124
Summary:
This hasn't been useful in a very long time.
Depends on D6120
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6121
Summary:
I don't even know what to put here, but I'll try.
wl_egl_window_resize()'s final two parameters indicate new attachment
points for a buffer relative to the previous top left corner. When the
compositor is resizing a window it already handles the corner placement.
Fortunately, compositors seem to ignore the new attach co-ords during
resize, so this code hasn't broken anything. It's just a complicated
NOP.
The new attachment points are intended for use in spontaneous resize,
not drag resize, but the only time these functions are called is for
drag resize.
Depends on D6119
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6120
Summary:
This is only fired to trigger a cursor set under wayland, but that cursor
set should be done unconditionally on mouse in.
However, mouse in was being discarded because mouse out was being deferred
when the window was "grabbed" for moving.
If instead we just let the mouse out occur as it should, the cursor
is properly updated on mouse in.
Depends on D6118
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6119
Summary:
We now send the name of the seat (if available) to legacy and seat events
so the callbacks can query them via the new seat data api.
This isn't quite what I wanted, but it's enough to fix the ecore_wl2
input problems for now. When multi-seat is a usable thing we can rework
these bits.
Depends on D6117
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6118
Summary:
Currently this is only to help wayland CSD function correctly, so the
opaque pointer is very poorly defined.
Depends on D6116
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6117
Summary:
Now if we generate an event in response to an event with seat data we
automatically carry the seat data with the emitted event.
This allows something like elm,action,move,start to have seat data
attached.
NB: Since extra and seat data share the same structs, extra data such as
the data from edje_entry is similarly propagated as a side effect.
Depends on D6115
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6116
Summary:
This is an even fuller emit_full, that takes a pre-made signal data
struct. The original edje_emit_full is now implemented as a call to it.
Depends on D6113
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6114
Summary:
Since the extra data struct is already nicely refcounted, it's easy to
add the seat data to it instead of making a new struct with almost
identical code.
Depends on D6112
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6113
When there is a redirect there is no need to adjust the focus property
based on a unregister, so just continue and cleanup the history. When
the redirect is unset the focus is restored.
fix T6908
Summary:
c->paragraphs couldn't be NULL if it is created by
_layout_paragraph_new() well. So, NULL checking should be
moved to after _layout_paragraph_new().
Test Plan: N/A
Reviewers: jpeg, tasn, raster, herdsman, cedric
Subscribers: zmike, stefan_schmidt, jpeg
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D4300
Summary:
hnj_hyphen_hyphenate2() needs properly encoded text based on the given
dictionary. Each dictionary contains its encoding information at the head
of file. So, text will be converted to proper encoding before calling
the function. It fixes T3221.
@fix
Test Plan: Included in Evas test suite.
Reviewers: z-wony, tasn, woohyun, herdsman, Blackmole, minudf
Subscribers: zmike, stefan_schmidt, raster, cedric, jpeg
Tags: #efl
Maniphest Tasks: T3221
Differential Revision: https://phab.enlightenment.org/D3863
Summary: The Textblock Style which is created for user style was managed
application side. It is created and free'd from application - outside
of Evas Textblock. Recently, evas_object_textblock_style_user_push/pop
start to call efl_canvas_text_style_set() instead of legacy code. The
problem is efl_canvas_text_style_set() is always going to call free()
when a style is going to be deleted. It makes conflicts(double free
issue) with application which is used to call
evas_textblock_style_free(). So, the issue will be fixed by this patch.
The patch also revise push/pop/peek code to make clean and avoid
meaningless calculation/events.
@fix
Test Plan:
A test case is Included in this patch.
The test case try to trigger double free.
Reviewers: herdsman, raster, cedric
Subscribers: zmike, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5812
Committer's note: formatted commit summary (80 width).
Summary:
by removing the sleep() calls and reducing timeout time, tests remain
as accurate while taking less than 5% of the required time to run
fix T6914
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric
Tags: #efl
Maniphest Tasks: T6914
Differential Revision: https://phab.enlightenment.org/D6047