Commit Graph

57456 Commits

Author SHA1 Message Date
Marcel Hollerbach 2fc1d7e3c7 efl_ui_focus_composition: remove elements_flush
this can also be done when calling prepare_logical
2018-01-31 14:21:37 +01:00
Myoungwoon Roy, Kim 211093b7c5 ecore_event: Check for the valid type
Summary:
This patch checks for the valid types.
As mentioned API reference documentation, user must know its type before hand.
The type should be chedked like previous efl version and ecore_event_type_flush_internal()

Test Plan: Execute a ecore test suite.

Reviewers: cedric, raster, jpeg, stefan_schmidt, Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5776
2018-01-31 18:55:40 +09:00
Myoungwoon Roy, Kim e9d1a1e988 ecore_main: Check for the valid flag
Summary:
This patch checks for the valid Ecore_Fd_Handler_Flags.
The flags should be checked like previous verion because
There are no default handlings in case of out of Ecore_Fd_Handler enum values in other funcs.

Test Plan: Execute a test case

Reviewers: cedric, raster, jpeg, stefan, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5775
2018-01-31 18:55:40 +09:00
Amitesh Singh 98f38ac0f7 Efl.ui.progressbar: remove duplicate call
eina_value_set() was already getting called
2018-01-31 18:04:39 +09:00
Amitesh Singh c99b37ad47 Efl.Ui.Progressbar: implement range min max 2018-01-31 17:44:20 +09:00
Derek Foreman 90fecc7485 wl2_surface_dmabuf: Trim the buffer queue after a while
If we have more buffers than we need for 100 frames then drop the oldest.

This can happen if we're on a hardware plane and then removed from it, or
really whenever the compositor feels like holding onto a few frames.

Trimming the queue too soon could result in having to do a costly full
frame redraw, so we wait a while to make sure we don't need one again.

Having more frames than we need costs us a little every draw since we
always use the oldest available.  It also wastes memory.
2018-01-30 17:09:52 -06:00
Derek Foreman 879f248f08 ecore_wl2_surface: Flush surfaces for offscreen windows
When a surface leaves all outputs we can discard its buffers to save
memory.

Currently most compositors don't send leave events for iconify, so this
pretty much just saves us a cursor buffer under weston for now, but in
the future it could be used for freeing resources of offscreen (fully
occluded or iconified) windows.
2018-01-30 17:09:52 -06:00
Derek Foreman 9632c7b56c wl2_surface_dmabuf: improve surface flush
We used to abandon all buffers even if they were locked. This can't
actually free them until they're all released by the compositor.

Instead just free any buffer the compositor doesn't have locked, so we can
still re-use them when they're released without needing a full redraw.

There's probably room for additional cleverness here.  If we get a new
frame event before the buffer release we may want to keep it, and if we
get the release first we may want to abandon it.
2018-01-30 17:09:51 -06:00
Derek Foreman 1bd41aa3b6 ecore_wl2: Add new event for windows not displayed on any output
When a window leaves all outputs we can free its render buffers to save
memory.  This new event is generated when a window leaves all outputs.
2018-01-30 17:09:51 -06:00
Derek Foreman 8abac6da65 ecore_wl2: Track outputs a surface is present on
Keep a list of Ecore_Wl2_Output * a surface is present on.
2018-01-30 17:09:51 -06:00
Derek Foreman cc0cfb7822 ecore_wl2: Add internal _ecore_wl2_output_find
This finds the Ecore_Wl2_Output * for a given struct wl_output *
2018-01-30 17:09:51 -06:00
Mike Blumenkrantz da9eef6027 ecore: add function for prepending an event handler
@feature
2018-01-30 13:02:07 -05:00
Daniel Kolesa 5651b2e586 eolian: deferred parsing of inherits + better static checks
This change finally introduces deferred parsing of inherits to
Eolian, after a long time and many iterations. That means instead
of parsing inherits directly as part of the main file's parse pass,
they're pushed into a queue and parsed later. The validation engine
was modified to properly fill in the remaining info afterwards.

This may introduce breakages but I haven't noticed any. It also
properly unlocks cyclic dependency support in Eolian.

Additionally, this also introduces checks for duplicates in class
inherits (class Foo(Bar, Bar) is no longer possible) and it adds
stricter name checks, so you can no longer have a class Foo.Bar
and refer to it as Foo_Bar in implements. This was actually never
meant to be supported, but the check was previously broken.

@feature
2018-01-30 17:08:44 +01:00
Daniel Kolesa 7b643f6919 eolian: move impl/ctor fill to validation stage 2018-01-30 17:08:44 +01:00
Jaeun Choi c950b17a57 efl_ui_image: add missing NULL check 2018-01-30 21:21:35 +09:00
Jaehyun Cho c53cbc572e efl_ui_panes: Handle NULL object case 2018-01-30 19:50:08 +09:00
Jaehyun Cho 10342af920 elm_panes_legacy: Fix description of functions 2018-01-30 18:53:33 +09:00
Vincent Torri 9f59009131 Eina test: delete tempory file on Windows in eina_test_file_mktemp 2018-01-30 16:52:24 +09:00
Vincent Torri 1770059b8a Evil: remove "symlink" code (it was for .lnk files anyway...) 2018-01-30 16:52:24 +09:00
Vincent Torri 8f5029fbbc Eio: disable the symlink code on Windows 2018-01-30 16:52:24 +09:00
Vincent Torri 0c96d9e8cf Efreet_Mime: update comment about symlinks on Windows 2018-01-30 16:52:24 +09:00
Vincent Torri 78af66ffb4 Eina: ignore EINA_FILE_LNK on Windows 2018-01-30 16:52:24 +09:00
Vincent Torri ef0f0a50b2 Ecore_File: remove symlinks support on Windows (library and test) 2018-01-30 16:52:24 +09:00
Vincent Torri d7170beb76 Windows: remove symlink() usage in edje_decc and evil binaries 2018-01-30 16:52:24 +09:00
Myoungwoon Roy, Kim 6bb2b8b402 ecore_timer: Check for the valid callback func
Summary:
This patch checks whether the callback function is valid or not.
Callback function must be set up for the class.

Test Plan: Execute test suite

Reviewers: cedric, raster, stefan, Jaehyun_Cho

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5762
2018-01-30 14:43:11 +09:00
Bryce Harrington 7f43866707 eina: Cleanup grammar in eina_hash doxygen
Summary:
Corrects some grammatical errors, and rephrases wording of some passages
for better clarity.  Also fix a few doxygen formatting inconsistencies.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5764
2018-01-30 14:42:35 +09:00
Sungtaek Hong eb50ece082 edje_object: fix typo in EAPI edje_object_color_class_description_get
Reviewers: woohyun, jpeg, cedric, conr2d

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D5766
2018-01-30 14:25:39 +09:00
Sungtaek Hong f3d3104a14 elm_test: add elementary_test for Efl.Ui.Button
Test Plan: Run elementary_test->Efl.Ui.Button

Reviewers: jpeg, cedric, Jaehyun_Cho

Reviewed By: jpeg

Subscribers: jsuya

Differential Revision: https://phab.enlightenment.org/D5741
2018-01-30 13:55:52 +09:00
Sungtaek Hong 30593b19ba Efl.Ui.Image: remove previous image when NULL is set
Summary:
when Efl.Ui.Image has an image,
         efl_file_set(efl_added, NULL, NULL) is not working.
         I think this should remove prevous image and go back to empty image.
         @fix

Reviewers: jpeg, cedric, eunue, woohyun, Jaehyun_Cho

Subscribers: Blackmole

Differential Revision: https://phab.enlightenment.org/D5742
2018-01-30 13:55:51 +09:00
Sungtaek Hong 596c88f899 Efl.Ui.Check: fix changed callback is called twice
Summary:
Efl.Ui.Check inherits Efl.i.Nstate which also calls changed callback.

fixes T6639

Test Plan: run elementary_test->check->click 'icon not resizable'

Reviewers: woohyun, cedric, jpeg, singh.amitesh

Reviewed By: singh.amitesh

Maniphest Tasks: T6639

Differential Revision: https://phab.enlightenment.org/D5768
2018-01-29 22:54:23 +09:00
Sungtaek Hong dc28a344cc elm_index: fix documentation of wrong param name
Reviewers: jpeg, woohyun, eunue, conr2d, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5767
2018-01-29 21:17:26 +09:00
Sungtaek Hong 09d3d5b85a efl_ui_bg_widget_legacy: ignore ELM_SCALE
Summary:
For legacy efl_ui_bg_widget or elm_bg, ELM_SCALE is ignored
when calculating internal image size.

Test Plan:
compare elementary_test->bg option with
ELM_SCALE=2.0 elementary_test->bg option

Reviewers: woohyun, jpeg, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, id213sin

Differential Revision: https://phab.enlightenment.org/D5763
2018-01-29 19:31:39 +09:00
Shinwoo Kim 429e19563d elm: make elm_layout_text_set use efl_text_markup_set
The elm_layout_text_get is using efl_text_markup_get by following commit.

    commit c07a40c745
    elm: make elm_object_text_get return markup info as well.

    This commit solves following issue

    https://phab.enlightenment.org/T6642

    If I set object text as below
    elm_object_text_set(btn, "Some<br>text");
    then elm_object_text_get(btn) returns "Some text" not "Some<br>text".

So using efl_text_markup_set makes sense.
2018-01-29 12:25:18 +09:00
Mike Blumenkrantz 18e392b502 edje_cc: check HAVE_SYS_RESOURCE_H presence for rlimit usage
fix T6645
2018-01-27 11:56:31 -05:00
Marcel Hollerbach 97ec48434f efl_ui_focus_manager_calc: keep the entry for the redirect seperated
logicals on the focus stack can cause there a lot of confusion.

This fixes a missed focus out event from the entry in elementary_test
2018-01-27 13:01:20 +01:00
Derek Foreman 376d8d1e36 ecore_wl2: Make surface managers modular
This allows loading modules to handle wayland surfaces, and makes the
existing dmabuf manager a module.
2018-01-26 15:54:00 -06:00
Derek Foreman 3e230693e6 eina_module: Drop ridiculous ERR messages from module_list_load/unload
The documentation for these functions claims that passing a NULL array
results in doing nothing - that should also include logging nothing.

EINA_SAFETY_ON_NULL_RETURN() logs an ERR message and should be reserved
for usage when NULL is not actually a valid state.

Additionally, it's entirely possible to turn off EINA_SAFETY_CHECKS, at
which point these functions would stop behaving as the documentation
says they do.  Not great.
2018-01-26 15:54:00 -06:00
Derek Foreman 01aac084d7 ecore_wl2: Use wl_buffer_get in dmabuf_surface_post
This is the final place where this code was reliant on internal structures,
it now solely uses (beta) public api.
2018-01-26 15:54:00 -06:00
Derek Foreman 288b693ac4 ecore_wl2: fix ecore_wl2_buffer_wl_buffer_get
It was currently only used internally and had the side effect of
creating a new buffer instead of just returning the existing one.

Now it's useful to external callers, as it only returns the existing
wl_buffer and has no freaky side effects.
2018-01-26 15:54:00 -06:00
Derek Foreman 0fc4fa7156 ecore_wl2: Add surface_window_get api
One of the last remaining blockers for compiling dmabuf support as a
plug-in.
2018-01-26 15:54:00 -06:00
Derek Foreman fb3928ec96 ecore_wl2: Add API to remove surface managers
Someone might want to do this I guess.
2018-01-26 15:54:00 -06:00
Derek Foreman 03671c9c20 ecore_wl2: Add a way to register new surface managers
And use it for the existing dmabuf surface manager.
2018-01-26 15:54:00 -06:00
Derek Foreman 83f8db157e ecore_wl2: rename _surface_flush for consistency
It was originally thought that this could be common code for multiple
back-ends, but that doesn't really make sense now, so rename it to match
the other dmabuf functions.
2018-01-26 15:54:00 -06:00
Derek Foreman 07c41f48c4 ecore_wl2: Move private data allocation into back-end code
The backend should allocate its own private data and return it instead
of a bool.

This assumes all back-ends will need some manner of private data, which
is certanly true for the one back-end we provide.
2018-01-26 15:54:00 -06:00
Derek Foreman 044106c8a2 ecore_wl2: Move backend specific members into a private data struct
buffers and current buffers are really specific to the dmabuf backend,
another plug-in might not need them.
2018-01-26 15:54:00 -06:00
Derek Foreman 7c026c52cc ecore_wl2: Move surface size update into generic code
This didn't have to be in backend code in the first place.
2018-01-26 15:54:00 -06:00
Derek Foreman 4d430a98bf ecore_wl2: Add API surface_buffer_create
The specific surface code only needs these generic surface bits to pass
to buffer_create, so make a helper function for that instead of queries
for w, h, and alpha.
2018-01-26 15:54:00 -06:00
Derek Foreman e4122da211 ecore_wl2: Remove force from surface reconfigure
It no longer has any users or need to exist.
2018-01-26 15:53:59 -06:00
Derek Foreman 3ef4671085 wayland_shm: remove dirty bit entirely
Now that we're not using it for session recovery we can strip it out
entirely.
2018-01-26 15:53:59 -06:00
Derek Foreman 26a718b07e wayland_shm: Use surface flush instead of setting dirty
The dirty bit was a dirty hack to let session recovery force reconfigures
on startup.

Now that we have a surface flush we can achieve the same thing by just
discarding all buffers immediately.
2018-01-26 15:53:59 -06:00