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
Summary:
Now the generated classes use an approach more familiar to C#
developers:
Interfaces: efl.Object -> efl.IObject
Concrete (implementation) classes: efl.ObjectConcrete -> efl.Object.
During this change, some methods that could clash with the
implementation class name (CS0542) had the prefix "Do" added (like in
efl.Duplicate.Duplicate() and efl.Pack.Pack()).
Depends on D6049
Reviewers: felipealmeida, vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6050
Summary:
Uses a common helper to open and close namespaces, to get the managed
and unmanaged name of things, the interface, concrete and inherit class
names, etc.
eolian_cxx: Add namespace information to func_def, as it'll avoid
eolian-cxx clients dealing with the eolian C api directly when trying
to access a function pointer namespace.
Depends on D6048
Reviewers: felipealmeida, vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6049
This header file was newly created in 258b96be35
Autotools need to made aware of it so it will actually land in the dist
or a distcheck run will break with:
../../../src/lib/elementary/efl_ui_focus_graph.c:9:10: fatal error: efl_ui_focus_graph.h: No such file or directory
if someone turns on a lot of warning flags this is a warning (fals as
the string is checked already for having a static format - no fmt
flags, thus printf is valid).
Summary:
Adds documentation about internals of a couple functions and cleans up
some stray doxygen tags.
Reviewers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6039
Summary:
Adds documentation for several routines, fixes some incorrect
documentation, cleans up grammar throughout, corrects a few remaining
spelling errors.
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D6021
Summary:
This includes test cases for the Genlist Item Show Changes ( D5428 )
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Test Plan: Elementary Test -> Genlist Item Show
Reviewers: SanghyeonLee, cedric, raster, prince.dubey
Subscribers: shilpasingh, rajeshps, jpeg
Differential Revision: https://phab.enlightenment.org/D5499
Summary:
drawing a window before receiving a configure event results
in an unsized window, breaking spec. it also prevents ecore-evas resize
callbacks from triggering, yielding undefined returns from functions which
attempt to get the geometry of the ecore-evas
ref T6907
@fix
Depends on D6033
Reviewers: vtorri
Reviewed By: vtorri
Subscribers: cedric
Maniphest Tasks: T6907
Differential Revision: https://phab.enlightenment.org/D6034
Summary:
this is the event which informs an app of its current size
also use the HWND from the msg pointer to avoid invalid access in
the WM_SIZE event which passes different message data
Reviewers: vtorri
Reviewed By: vtorri
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D6033
Summary:
in many cases, a 0x0 size is found here as a result of various quirks at
different states of window initialization. passing 0x0 will clamp the size
to 1x1 and, for some engines, create a race condition during initial
sizing which causes the window not to render
ref T6907
Reviewers: cedric, ManMower, vtorri
Reviewed By: vtorri
Subscribers: raster, stefan_schmidt
Tags: #efl
Maniphest Tasks: T6907
Differential Revision: https://phab.enlightenment.org/D6016
This reverts commit d83ebb6980.
Had to revert this as it break backward compatibility with what theme
expect to be the default value. We could reintroduce this with a version
check if necessary.
T6885
Summary:
edje_object_part_text_cursor_prev/next/up/down has return value.
It has to return EINA_TRUE when only it successed.
But, when these funcs moved to legacy, it changed to return EINA_TRUE
whenever it fails or success. It must return EINA_FALSE when it fails.
@fix
Test Plan:
- Run test suite
make check
Reviewers: herdsman, raster, cedric, woohyun
Subscribers: zmike
Differential Revision: https://phab.enlightenment.org/D5972
Summary: S_ISSOCK does not exist because sockets do not exist
Reviewers: vtorri, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D6035
Summary:
the basic concept of Efl.Ui.Tab_Pager is similar to elm_toolbar.
user can attach Efl.Ui.Tab_Bar to the tab_pager.
user can create an Efl.Ui.Tab_Page to add tab label, tab icon and set the content of the page.
user can pack Efl.Ui.Tab_Page into tab_pager.
The tab and page match one to one.
user can controls tab and page through tab_pager.
See T5317
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: cedric, woohyun, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: eunue
Differential Revision: https://phab.enlightenment.org/D5988
Summary:
"validate" singal is not supported in legacy.
only ELM_ENTRY_EVENT_VALIDATE is working.
Reviewers: herdsman
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5854
Summary:
Also added a blacklist header to temporarily disable generation of eo
methods with futures as arguments or return type.
Once the models branch lands, we should enable future support again with
eina_futures.
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D6018