Commit Graph

20394 Commits

Author SHA1 Message Date
Jean-Philippe Andre 5e7de75914 widget: Remove focus_tree_unfocusable_handle (EO)
Ref T5363
2017-08-23 20:53:20 +09:00
Jean-Philippe Andre 53c966b790 widget: Rename top to widget_top (EO)
Ref T5363
2017-08-23 20:53:15 +09:00
Jean-Philippe Andre ec264c5002 widget: Remove tooltip_add/del from EO
It's pretty much an internal function.
NOTE: Tooltip API is not bound to EO (yet).

Ref T5363
2017-08-23 19:20:47 +09:00
Carsten Haitzler 10ea932262 elm init - fix init seq and quicklaunch as we shut down x before evas
... and others. this leads to crashes if x ops are busy in a thread or
engine evas thread shutdown happens to call engine calls that then do
x calls... should apply in general to wl too. fixes some segv's on
shutdown given the new gl thread patches.

@fix
2017-08-23 17:25:43 +09:00
Jean-Philippe Andre 87aa053e58 elm_test: Remove calls to fill+expand (EO)
Wherever the EO API is used, i.e. efl_add() is used to create evas
objects, we can skip the calls to set fill/expand.

This new set of defaults indeed saves ~60 loc in the tests (out of 115
objects created). I found only 3 cases where the align had to be set
manually (to the old default of 0.5).

See 1a1b8bc451
And e8b7f5f255

Ref T5301
2017-08-23 15:57:49 +09:00
Jean-Philippe Andre e8b7f5f255 evas: Set default align to FILL for EO objects
See also 1a1b8bc451
2017-08-23 15:24:37 +09:00
Jean-Philippe Andre 29bacf5988 gfx: Remove size hint request (EO)
This hint is simply not supported by any container.
Add the EO API back if the containers support it.

Ref T5487
2017-08-23 15:24:37 +09:00
Jean-Philippe Andre 20e6c2e908 js: Fix javascript generator's compilation
javascript bindings are broken, because of function pointers but it
seems something else as well (Eina_Slice?).
2017-08-23 15:24:37 +09:00
Jean-Philippe Andre eb5d9a07ec ecore: Fix shadow warning (with nodejs enabled) 2017-08-23 15:24:37 +09:00
Jean-Philippe Andre cec45f616a js: Fix some js examples usage of orient API
This was not tested. How to test js?
2017-08-23 15:24:37 +09:00
Jean-Philippe Andre db4950ba2f efl: Remove Efl.Orientation horiz & vert (EO)
They are now replaced by Efl.Ui.Dir

NOTE: The name Efl.Ui.Dir is not satisfactory. Maybe we should use
Direction_Type or Direction_Value?

Ref T5870
2017-08-23 15:24:37 +09:00
Jean-Philippe Andre d28510a37b test: Fix EO API usage (direction) 2017-08-23 15:24:37 +09:00
JinYong Park 948d20ab54 test_check: fix build warning
Summary:  In state_changed_cb2 callback function, obj is used. so it should not be EINA_UNUSED

Reviewers: Jaehyun_Cho, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5122
2017-08-23 13:52:25 +09:00
JinYong Park 6f87330fe2 layout: call size calculating after text_set(NULL)
Summary:
When text set NULL, size is not changed even text is removed.
So, fix that case logic

1. send text,hidden signal
2. remove text
3. call sizing eval to resize layout

Test Plan:
1. run elementary_test -to check
2. change value last check object
3. compare before and after

Reviewers: Jaehyun_Cho, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5086
2017-08-23 13:29:14 +09:00
Jean-Philippe Andre 06ec847a7c widget: Use EO function pointer for on_show_region
This is as much a test of the EO function pointer as it is a clean up of
this widget API.
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 509ed86cdf widget: Remove unused legacy function name
Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 5cfd698894 win: Remove types socket and fake from EO
Fake: This should never have had the fake_canvas_set API. It already can
not work after efl_finalize. And Ecore_Evas isn't part of EO API so it
doesn't make sense at this point to try to expose the fake window as
part of EO API.

Socket: This is the only type of window that implements socket_listen.
So we can just move this function to a new subclass.

NOTE: Socket & plug are currently broken, even in 1.20 (at least for me)!

Ref T5322
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre e9dffa723d win: Add Efl.Ui.Win_Inlined and remove parent2
Inlined windows are the only use case for parent2. We might as well want
to create a separate subclass for those special windows.

Ref T5322
Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 964fafe429 widget: Remove parents_bounce from EO
It's specific to scroller and can be implemented there. Moved.

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 6a08d4c519 widget: Remove inexisting property parent_widget
We also have widget_parent.

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 3137c2c01e widget: Clean up doc for focus & focus_allow
I'm not sure about the name for focus_allow:
 - can_focus
 - focusable
 - focus_allow
 - ???

Also, it looks like focus should just be the evas object function
overridden.

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre ef4cbfc9ff widget: Clean up orientation_mode_disabled
Only doc.

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre b588cefbae config: Automatically fix some key bindings
This changes the name used in the config file, without changing the
system config files yet. This restores key bindings for:
 - Win
 - Image
 - Video
 - Photocam

See also the previous commit.
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 031ae12c2f elm: Rename some EO widget class names
It was discussed a while ago that Zoomable was a poor name in some
languages, like python.

This changes, in Efl.Ui, to use underscores:
 - Image.Zoomable
 - Grid.Static
 - Box.Flow
 - Box.Stack
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre c4ac589455 widget: Remove all legacy event stuff in propagate
The EO API is now clean! Yay!

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 66d241eadf elm: Process all input events with EO
This removes all uses of type & event_info in the method widget_event.

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre acdef50276 photocam: Fix key zoom in/out
Zoom +/- doesn't work well as this is a multiplication factor.

Test scenario:
 - elementary_test -to Photocam

Then click on the image, and press + or - on the keyboard.

@fix
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 20a5968c12 elm: Use a macro to handle key bindings
This factorizes the code and makes most widgets handle key down events
in the same way:
 - check that the object is not disabled, event is not on hold
 - figure out the key binding based on the class name
 - mark event as on hold

The class name is usually MY_CLASS_NAME but in some cases it was
MY_CLASS_NAME_LEGACY which may be different from the EO class name (eg.
elm_win vs. Efl.Ui.Win). In that case the key bindings are broken.

This breaks key bindings for the following widgets:
 - Win (focus)
 - Image ("clicked")
 - Video (move, play)

This fixes key bindings for the following widgets:
 - Nstate

Some widgets remain broken:
 - Photocam / Efl.Ui.Image.Zoomable

A patch will be applied to restore the key bindings for the above
breaks.
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 069747b9de widget: Add eo event info inside widget_event
This is an internal function that should probably become an overridable
protected method, as it's required for proper event handling in widgets.
Next step: use eo_event_info in the widgets implementations. Then remove
legacy event struct.

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre e8826062eb eo: Define Efl.Event in EO
This can be used in the widgets propagation mechanism later. I don't see
any really good reason to not define this struct in EO anyway.

Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 47070c7d14 widget: Remove import edje_types from EO
Ref T5363
2017-08-23 11:16:45 +09:00
Jean-Philippe Andre 1a1b8bc451 evas: Set weight to "expand" by default
This is a semi experimental patch to set the default weight
of objects to (1, 1), i.e. EXPAND. This seems like a more
sensible default value than no weight. Some objects may not
need the expand weight, but this seems to be the minority,
not the majority.

Ref T5301
2017-08-23 11:16:45 +09:00
Felipe Magno de Almeida a7649a7897 eolian-cxx: Add workaround for function pointer types 2017-08-22 22:40:13 -03:00
Daniel Zaoui 2f53bdfe60 Move efl interfaces from evas to efl directory
You may need to remove your installed directory to avoid conflicts
2017-08-22 09:53:24 +03:00
Woochan Lee d1631d8a86 elm_spinner: Support min,max filter for float format case.
Summary: The previous min, max filter doesn't support float format case.

Test Plan: elementary_test -> spinner.

Reviewers: jpeg, cedric, woohyun, myoungwoon

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5016
2017-08-22 14:42:27 +09:00
Woochan Lee 4656f98e22 efl_ui_clock: Parses the format recursively.
Summary:
Some of locale formats convert as extension format.
For example,
             uk_UA d_t_fmt is "%a, %d-%b-%Y %X %z".
             The %X will convert as %T.
             The %T format has to convert one more time to convert as %H:%M:%S.

ref : https://lh.2xlibre.net/locale/uk_UA/

We need to parse the format recursively to support that kind of case.

@fix

Test Plan:
Change the locale as uk_UA.
Run elementary_test -> datetime
See the time field is not appear.

Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5021
2017-08-22 14:17:41 +09:00
Jean-Philippe Andre b433592b03 edje: Fix warning message
efl_version is a top-level value

@fix
2017-08-22 11:50:31 +09:00
Jean-Philippe Andre 76d4c965c4 evas: Add safety checks to avoid crash
Without more information or clear reproduction scenario (this crash
doesn't happen for me), this is probably the best we can do.

Fixes T5532
2017-08-22 11:50:31 +09:00
Jean-Philippe Andre ba36214a47 evas: Fix experimental code related to visibility
This is to pretend the object is visible when it's been added with
efl_add but evas hasn't started rendering yet (it's in the queue).

This code is not enabled (yet?) although I think it could very well be
(I don't observe the same bugs as I did the first time I tried this
patch).
2017-08-22 09:44:07 +09:00
Jean-Philippe Andre 85d04a74d4 elm_box: Fix support of aspect hints
Test scenario: ephoto without a recent patch (47fe2b9ab03c151b0f4).
Before any further explanation, ephoto was definitely misusing the
aspect API here. A label most definitely shouldn't be sized based on an
aspect ratio, that's just crazy (you really want to make it as tall as
it's wide?)

If a box has an aspected item, it needs to run its min calc loop twice:
 1. Once to determine the "true" min size in the direction of the box
    (ie.  in X in case of a horizontal box), and
 2. Once more in order to apply the aspect ratio to aspected items and
    augment the perpendicular min size (ie. Y for horizontal).

After that, it can go and layout the items based on the available size.

As we may guess from the above description (1) determines min W and
(2) determines min H (in horizontal mode).

BUT, there were two problems:
 - The wrong item min size was used inside the 2nd loop (the code was
   not symmetrical between horizontal and vertical modes). These are the
   changes in _smart_extents_non_homogeneous_calc.
 - The box min length was based on the actual size of aspected items,
   rather than their min size. This goes against the observation. These
   are the changes in _smart_extents_calculate.

Ref T5888

@fix
2017-08-21 18:35:31 +09:00
Jean-Philippe Andre 7270a98d8c popup: Avoid error messages on NULL
Those were spotted in ephoto (with no config, first run).
2017-08-21 16:30:21 +09:00
Carsten Haitzler 6226e88b6e evas - fix build dependencies that cause failed builds
missing dev on ecore_wl2 so fix...
2017-08-21 16:04:43 +09:00
Jean-Philippe Andre 9da7e98dcf evas gl: Improve GL_ERRORS (internal debug code) 2017-08-21 13:53:30 +09:00
Jean-Philippe Andre d44cbb618a glview: Fix ALWAYS render policy
@fix
2017-08-21 13:53:29 +09:00
Jean-Philippe Andre d3f2696838 eina: Add EINA_UNUSED in eina_pass_through_from
Fixes a warning
2017-08-21 13:53:28 +09:00
Amitesh Singh e2724b300d elm segment control: delete event cbs on obj delete.
@fix
2017-08-19 16:32:59 +09:00
Derek Foreman 8c917daa06 wayland: Tick like a boss
Instead of the clever but awful manual_render_set hack, actually do ticks
based on frame callbacks.

Fix T5850
2017-08-18 14:27:32 -05:00
Derek Foreman 913e216ea3 ecore_wl2: Send configure complete when windows don't need configure
The intent of the "configure complete" event is to indicate that the
window is configured and ready to receive buffers.

For "windows" like mouse cursors, that's immediate - let them know.
2017-08-18 14:27:32 -05:00
Derek Foreman 9df39b5616 ecore_wl2: Refactor out code to send window configure complete event 2017-08-18 14:27:32 -05:00
Derek Foreman f95f17ae37 wayland_egl: Call ecore_wl2_window_buffer_attach
This lets ecore_wl2 know that there's a buffer attached - even if we don't
know what it is because it's hidden by gl.
2017-08-18 14:27:32 -05:00
Derek Foreman 3290e6da10 wayland_shm: Use ecore_wl2_window_buffer_attach
No longer calling wl_surface_attach directly.
2017-08-18 14:27:32 -05:00
Derek Foreman 5f0fa08467 wayland_shm: Don't attach null buffers from surface_post
This is protected against elsewhere.
2017-08-18 14:27:32 -05:00
Derek Foreman 51768ff62b ecore_wl2: Add ecore_wl2_window_buffer_attach API
Let ecore_wl2 track some buffer related state so we can more easily sync
things between ecore_evas and the evas_engines.
2017-08-18 14:27:32 -05:00
Derek Foreman 90a032587a wayland_egl: Add ecore_wl2_window_commit
Use ecore_wl2_window_commmit() in addition to eglSwapBuffers in order
to set up a frame callback and handle pending update tracking.
2017-08-18 14:27:32 -05:00
Derek Foreman a8c44938f3 wayland: Switch to ecore_wl2_window_commit()
Use ecore_wl2_window_commit() instead of directly calling wl_surface_commit
2017-08-18 14:27:32 -05:00
Derek Foreman 972633e7e8 wayland_shm: Remove direct access to wl_surface
Querying it through Ecore_Wl2_Window now
2017-08-18 14:27:32 -05:00
Derek Foreman 8f038b2591 ecore_wl2: Add new APIs ecore_wl2_window_frame_callback_add/del()
Abstract frame callbacks through ecore_wl2_window so we can add them in
multiple places without having the wayland compositor generate more than
one.

Also allows us to keep a callback registered over hide/unhide of a window
easily.
2017-08-18 14:27:32 -05:00
Derek Foreman b599b1b900 ecore_wl2: Add API ecore_wl2_window_pending_get()
Lets us test if a commit has been requested but the compositor hasn't
yet told use to draw new content for it.
2017-08-18 14:27:32 -05:00
Derek Foreman 11d3bf7939 ecore_wl2: Add API ecore_wl2_window_commit()
Abstract wl_surface commits in ecore_wl2_window.
2017-08-18 14:27:32 -05:00
Derek Foreman e3b9fbaed8 wayland: Put Ecore_Wl2_Win instead of wl_surface into the engines
We'll need to track some state in a common way, so attaching it to the
window seems like a good idea.
2017-08-18 14:27:31 -05:00
Derek Foreman ccc4ffc80d wayland: Make the wayland evas engines dependent on ecore_wl2
Seems like the best place to put some common code.
2017-08-18 14:27:31 -05:00
Mike Blumenkrantz dc073c1ea3 wayland: fix num/caps lock handling in events
locks are not the same as modifiers, and the corresponding event flag must
be set based on whichever value(s) are set instead of yolo mixing and matching

@fix

ref T5737
2017-08-18 15:24:37 -04:00
Mike Blumenkrantz 850bba4986 evas: make top object returning functions return the top object
this previously just returned the top clipper at the specified points

@fix
2017-08-18 15:24:37 -04:00
Bryce Harrington 829cc94aee ecore_sdl: Add API doc for ecore_sdl_feed_events
Reviewers: cedric, devilhorns

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5097
2017-08-18 09:48:59 -04:00
Bryce Harrington 4202c29996 examples: Improve error message text from Evas examples
Reviewers: cedric, devilhorns

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5103
2017-08-18 09:47:45 -04:00
Bryce Harrington 73c02f0b2c examples/evas: Fix sp. of 'Coult' in warning
Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5102
2017-08-18 09:46:48 -04:00
Jean-Philippe Andre 49d339b72e elm_color_class: Save all cc overlays
It seems that cc overlays that didn't change got lost in the process of
saving elm_config and then reloading it (automatically happens because
the file changed... which we just wrote to).

Fixes T3682
2017-08-18 16:54:58 +09:00
Jean-Philippe Andre 9008dd88bc colorselector: Fix invalid API (orient vs. dir) 2017-08-18 16:54:58 +09:00
Jean-Philippe Andre fbf294d9ee vieet: Add read-only mode
Really ugly scripting right there.
2017-08-18 16:38:19 +09:00
Jean-Philippe Andre fb57bc0106 elm_config: Add env var to skip profile save
This only skips writing the profile name to
  ~/.elementary/config/profile.cfg

This allows easier testing of elementaryt apps (and E) with custom
profiles.

export ELM_PROFILE_NOSAVE=1
2017-08-18 16:38:15 +09:00
Jean-Philippe Andre e78e075a37 elm_test: Fail nicely if plug can't connect
This makes sure that
  elementary_test -to "Window Plug"
exits nicely (with the exit policy on all window close) instead of
hanging forever with an invisible window.

@fix
2017-08-18 15:00:27 +09:00
Jean-Philippe Andre a43740c074 ecore_evas_extn: Fix socket & plug windows
Socket & Plug were broken after 38e6780262.
Multiple problems here:
 - The invalid path was used for the lock file.
 - The invalid buffer ID was used for unlock in render_post. That's
   because the buffer was switched during output_flush which happens
   before render_post. So the buffer would remain locked forever on the
   server side (unless maybe some animation was happening there).

@fix
2017-08-18 14:53:20 +09:00
Cedric BAIL a21f25b0eb evas: do not double include interface.
This lead to unproperly defined symbol (as they should be build in libefl) on
windows with actually no need for it.
2017-08-17 15:02:11 -07:00
Bryce Harrington 67fff04cc7 evas: Fix spelling/grammar errors
Summary:
Fixes some basic punctuation and grammar errors, corrects spelling and
word order/choice in various places.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5098
2017-08-17 10:45:35 -04:00
Bryce Harrington f377f722e6 evas: Drop excessive use of 'just' and 'which'
Reviewers: cedric, devilhorns

Reviewed By: devilhorns

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5099
2017-08-17 10:44:05 -04:00
Bryce Harrington c4a5b7b19c evas_rectangle_main: Whitespace cleanup
Summary: Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5100
2017-08-17 10:43:08 -04:00
Bryce Harrington e3e2a37b0f elput: Fix @brief's in docs
Summary:
It is not necessary to specify @brief since the first line will
automatically be used, but if it is used it should be only for the brief
description, not the detailed description.

Also reformat other docs in this file to follow convention for the brief
docs.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5101
2017-08-17 10:41:26 -04:00
Guilherme Iscaro 0309981eba Elm Examples: Fix undefined function references.
They were renamed by 599bb616ec

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2017-08-17 10:33:53 +09:00
Jean-Philippe Andre c7ca7221ab evas: Fix auto-show of EO objects
Objects show should happen as early as possible during the render cycle,
as it affects smart objects calculation and everything else.

Thanks @JackDanielZ for the report!

Fixes T5880
2017-08-17 10:28:10 +09:00
Thiep Ha 7d5e5f749e ui.box: add aspect ratio support
Adding support for aspect ratio.

ref T5487
2017-08-17 10:04:36 +09:00
Thiep Ha 5ab5d823fa ui.box: Add handling for weight + align
Issue: If the item has weight and non-filled align, item is not resized.
This patch fixes this issue.
Test: elementary_test -> ui.box -> Equal weight. Buttons Btn1, BtnA, B, C
do not resize when resize the window.

ref T5487
2017-08-17 07:56:23 +09:00
Jean-Philippe Andre b3722c05f9 evas: Fix crash with filters
Since the EO APIs are defined as weak symbols, invalid definitions of
EAPI lead to runtime crashes on non-public APIs. This is a fix following
a series of changes wrt. EAPI definitions.
2017-08-16 14:06:51 +09:00
Gustavo Sverzut Barbieri 4cd1257b1b value size is stored in type, no need to manually specify them. 2017-08-15 19:01:23 -03:00
Vincent Torri dee65b525c ector: fix EAPI on Windows
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-15 14:13:25 -07:00
Cedric BAIL f4f926f2bd eina: remove tests and benchmark for long dead mempool. 2017-08-15 13:46:38 -07:00
Cedric BAIL b94390a6aa eina: add tests for from. 2017-08-15 13:46:38 -07:00
Cedric BAIL 30816a0cf1 eina: add support for from in pass through 2017-08-15 13:46:37 -07:00
Cedric BAIL 04010f7307 eina: add support for from in one big. 2017-08-15 13:46:37 -07:00
Cedric BAIL 5bec2415c9 eina: add support for from in chained mempool. 2017-08-15 13:46:36 -07:00
Cedric BAIL b5cede94ea eina: add an API to check if a pointer is a valid element of a mempool. 2017-08-15 13:46:34 -07:00
Vincent Torri 45bcc87e76 eio: fix correct stat structure on Windows 32 bits
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:17:24 -07:00
Vincent Torri c2abb9a946 ecore_evas: win32 module - fix possibly uninitialized variables
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:16:59 -07:00
Vincent Torri 15108ecad0 evas: move EAPI undef to the correct place
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:16:44 -07:00
Vincent Torri 9816cc90b2 evas: undef EAPI properly.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:16:19 -07:00
Vincent Torri ff0d8ef0a4 evas GDI engine: improve speed
expedite mean value goes from ~125 to ~205

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-14 10:16:05 -07:00
Mike Blumenkrantz 595aa6bbb4 efl: add EFL_VERSION_1_21
indicate that features from this version can be used
2017-08-14 07:25:04 -04:00
Amitesh Singh b3532d16ab Efl.ui.panes: move legacy APIs at bottom of file 2017-08-14 09:55:38 +09:00
Cedric Bail a0ee90d9f3 Revert "evas: we should be able to access this data during an object being destroyed."
This reverts commit 207cab086f.

Better make efl_data_scope_safe_get work during EFL_EVENT_DEL.
2017-08-13 13:18:08 -07:00
Cedric Bail 87acc90fc7 eo: only return NULL when the object is destructed.
There is a problem with the previous version. The object can still be
alive due to the use of manual_free in evas. So you wouldn't be able
for example to remove a callback from an object that hasn't been
destroyed yet. If that callback is triggered by the destruction
of the object, you would end up with an unexpected and impossible to
prevent effect of access after free on a callback that you had removed.

Not sure if that still solve the original problem that the code was
trying to prevent in Ecore_Evas.
2017-08-13 13:18:04 -07:00
Marcel Hollerbach 190af04983 ecore_evas: define the predefine for wl2 instead of wayland 2017-08-12 15:30:53 +02:00
Jihoon Kim 723dfaebd1 ecore_imf/wayland: Check the return value of memory allocation function 2017-08-12 10:24:36 +09:00
Mike Blumenkrantz e40435a1b0 efl-wl: max size of 0x0 from shell is -1x-1 in efl 2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 0303805ef7 efl-wl: initialize seat keymap fd to -1
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz c03ea430ab ecore: always set delete_me before removing fd from poll
ensure bad fds don't immediately get re-added to polling

@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 302237fa77 efl-wl: handle case where eglBindWaylandDisplay fails
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 8052b90d20 efl-wl: always dismiss popups on hide
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 6644808159 elm_widget: do not reparent subobjs to top widget for non-elm objects
this breaks handling of non-elm objects and makes it impossible to safely manage
object lifetimes

ref D3957
ref 62cf70034d

@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 60449b48dc efl-wl: use correct accessor method for keyboard resource hash
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 5ffb7d423c wayland: set min/max size hints to surface before show
with deferred surface creation the first canvas change of hints may not
be able to trigger protocol methods for size hints, so ensure that hints are
set
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 2d1e5da35d efl-wl: add functionality for extracting surfaces for external use
@feature
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz dc250e6101 efl-wl: add EFL_WL_DEBUG env variable for enabling wayland debug
@feature
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz f00a49835d wayland: remove xdg5 support
this has not been used or tested since last year and there are no major
compositors which lack xdg6 support
2017-08-11 18:43:12 -04:00
Mike Blumenkrantz 398ffe40a3 wayland: fix xdg-shell popup windows
@fix
2017-08-11 18:43:12 -04:00
Derek Foreman cb57ea7587 ecore_evas_drm: Tick from the animator registration callback
If we're not ticking already when a new animator is started then we have
to wait for a vblank to get a tick.  That's not great.

If we can, use the time of the last vblank to generate an immediate tick
to avoid this latency.
2017-08-11 17:11:12 -05:00
Derek Foreman e893d7de7d ecore_evas_drm: Let ecore_drm2 track pending page flips
Since the engines can call the flip functions, we need to protect the
ticker from missing those flips.  Thus, we let ecore_drm2, which obviously
sees all flips, track them.
2017-08-11 17:11:12 -05:00
Derek Foreman eec565cc0f ecore_drm2: Add query for pending pageflip
We've been tracking this in ecore_evas, but ecore_evas isn't the only
caller, and it doesn't know about flips initiated by the evas engines.
2017-08-11 17:11:12 -05:00
Al Poole 8dbb8944b3 makefile_evas: fix includes when openjpeg 1.5 and 2.0 are installed.
Reviewers: vtorri

Subscribers: ManMower, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5084
2017-08-11 13:10:11 -05:00
Cedric Bail 207cab086f evas: we should be able to access this data during an object being destroyed.
So, this is maybe not the best fix. The question is should we be able to
get efl_data_scope_safe_get return the object private data, when we are
currently executing the object EFL_EVENT_DEL callbacks. Right now we don't
and this lead to bug where we wouldn't have been able to destroy a callback
and get that callback triggered later on destroyed data (I had a crash in
terminology). I have switched back to the not _safe_ version which doesn't
enforce this, but that might not be the only place that need a fix.
2017-08-11 10:18:07 -07:00
Vincent Torri c358ac0222 evas tests - add Jpeg2000 tests
add tests for loading jp2k files correctly and the images
2017-08-11 17:53:28 +09:00
Marcel Hollerbach 190cce71f5 efl_ui_focus_manager_calc: fix the class check of the redirect
this came up with a huge load of errors, i havent noticed them last
night. Sorry.
2017-08-11 10:32:59 +02:00
Amitesh Singh bac7481553 Efl.Ui.Panes: rename min_split_ratio to split_ratio_min 2017-08-11 14:32:13 +09:00
Amitesh Singh 479b189c9a Efl.Ui.Panes: rename allow_user_size_hints to hint_min_allow
thanks to raster for suggestion.
2017-08-11 14:28:51 +09:00
Thiep Ha 92c26078c7 common3d: correct converting number to float 2017-08-11 14:20:10 +09:00
Jeonghyun Yun c208e1b8bf elm_scroller: focus_direction should not be called when scroller focusable and no focusable child
Summary:
when scroller can have focus and scroller's child can't have focus,
there is a problem that scroller is always selected to next focus object.
In this case, it should not enter into _elm_scroller_elm_widget_focus_direction()

Reviewers: woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5085
2017-08-11 13:55:22 +09:00
Sungtaek Hong 5c0fc3f2f3 Cast to double before division during region/coord calculation.
Summary:
int var devided by int is cast to double after devision.
This might cause wrong calculation result.

Reviewers: cedric, jpeg, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5079
2017-08-11 13:50:56 +09:00
Jean-Philippe Andre 39c791dcbc win: Prevent crash inside ecore evas callbacks
After any complex call on the window, a foreign evas/efl callback may be
triggered that could delete the window object. This leads to crashes in
queued jobs or even immediately after said callback (right now EO
prevents immediate memory free using eina_freeq or eina_trash so the
effects aren't immediate).

Funnily enough, this was a known issue according to some comments, but
no one bothered fixing it...

In this particular instance, a focus_out job was crashing while trying
to access now-invalid sd data.

I believe some uses of ELM_WIN_DATA_GET() may still be slightly unsafe
but most look like they should be the result of an EO call on the object
(eg. a call to efl_event_callback_call), which ensures the object is
alive.

Fixes T5869
2017-08-11 11:23:21 +09:00
Jean-Philippe Andre e2f8ba7ad9 eo: Check refs in efl_data_scope_safe_get
This makes sure the object is actually still alive and kicking before
returning any data. Otherwise the "safe" word is a bit of an abuse...

Ref T5869

@fix
2017-08-11 11:22:11 +09:00
Amitesh Singh 521e2ab83c Efl.Ui.Panes: don't use edje restrict cal to calculate min size 2017-08-11 09:22:57 +09:00
Marcel Hollerbach df3d0e3d7b efl_ui_focus_manager: make focus a property 2017-08-10 20:56:04 +02:00
Marcel Hollerbach d4cd85aa55 efl_ui_focus_manager: split this of tinto a class and a interface
it turns out to be very handy to have a interface for the moving and
border elements, that is unconnected to the way of how widgets are
registering themself.

This for example enables us to get a simple focus manager that just
redirects the call into a internal 2 dimensional data struct
2017-08-10 20:55:50 +02:00
Felipe Magno de Almeida 348a7084af eolian-cxx: Add workaround for clang removing const from parameters 2017-08-10 15:52:25 -03:00
Derek Foreman 49bdba8505 efl_wl: Update to latest dmabuf protocol version
Weston's dmabuf code continues to be modular enough that we can pull
it in with little change.

This updates us to version 3 of the protocol.

Currently only contains stubs for format queries.
2017-08-10 11:36:38 -05:00
Daniel Kolesa 9738a6e3d2 eolian cxx: fix the remaining type errors 2017-08-10 14:10:52 +02:00
Daniel Kolesa 22e27ab045 eolian cxx: fix build after eolian type api change 2017-08-10 13:38:38 +02:00
Daniel Kolesa 436815ca00 ecore, ecore_con: fix const on Eina.Slice
Fixes TODOs from dd5cdda64b
after fixing T5024.
2017-08-10 12:53:14 +02:00
Daniel Kolesa 4733b206dd eolian: fix tests 2017-08-10 12:47:56 +02:00
Daniel Kolesa 706de57b9f eolian: implement proper return type serialization
This accounts for const so that you can't generate functions
that return const values, as that makes no sense.

@fix T5024
2017-08-10 12:41:03 +02:00
Daniel Kolesa e38418dd9d elua: update eolian bindings with c type serialization change 2017-08-10 12:19:59 +02:00
Daniel Kolesa e288f5160b eolian: change C type serialization API to account for returns
This will allow proper handling of const.
2017-08-10 12:12:38 +02:00
Amitesh Singh be53198f95 elm test: rename efl.ui.panes test case 2017-08-10 16:48:46 +09:00
Amitesh Singh d5c80d61e7 Efl.Ui.Image: use internal func to detect legacy usage 2017-08-10 16:43:55 +09:00
Amitesh Singh c7acb8c01c Efl.Ui.Panes: use internal func to detect legacy usage
Ref T5359
2017-08-10 16:30:24 +09:00
Amitesh Singh 26818ab66c Efl.Ui.Panes: set dir to EFL_UI_DIR_VERTICAL 2017-08-10 16:24:12 +09:00
Amitesh Singh 9abd644566 Efl.Ui.Panes: switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 15:59:00 +09:00
Amitesh Singh 599bb616ec Efl.Ui.Panes: rename left/right_size_set to split_ratio
This name makes more sense and one api does the job of two.
We never needed two apis at first place though.
Mark left/right_size_set as legacy apis too.
This patch also implements min_split_ratio on parts.

@feature

refer T5359
2017-08-10 15:15:50 +09:00
Amitesh Singh aaaf1a282a Efl.Ui.Panes: implement allow_user_size_hints on parts
This allows user to set size hints to be respected and
request panes to ignore combined min size.
If this flag is set, the minimum size set by efl_gfx_size_hint_min_set()
is respected forcefully.

@feature

refer T5359
2017-08-10 15:15:50 +09:00
Amitesh Singh 0ca98280d4 Efl.Ui.Panes: allow panes to respect the min size of its content
refer T5359
2017-08-10 15:15:50 +09:00
Jean-Philippe Andre f1a6497459 ctxpopup: Remove use of Orientation API (EO)
ctxpopup belongs to legacy, some work is ongoing to provide a cleaner EO
based API for popups, etc... See T5326

Revert "ctxpopup: implement Efl.Orientation interface functions"

This reverts commit 736fb9d498.

Ref T5870
2017-08-10 14:58:25 +09:00
JEONGHYUN YUN 8546ff727f elm_ctxpopup: Implemented elm_widget_item_part_content_unset for elm_ctxpopup_item
Summary:
ctxpopup item have elm_list item internally.
item_part_content_unset need to pass on content part to elm_list item.

Test Plan:
1. launch elementary_test - ctxpopup
2. click Ctxpopup with part text & content function
3. press "Icon Set" and press "Icon Unset"

Reviewers: jpeg, woohyun, herb, Blackmole

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5018
2017-08-10 14:42:08 +09:00
JEONGHYUN YUN bf0b3e0b75 elm_ctxpopup: Add APIs to insert before/after item to a ctxpopup object.
Summary:
There were only 2 APIs (item_append, item_prepend) for ctxpopup item add.
Added more item add APIs (item_insert_before and item_insert_after) for convenience.

Test Plan:
1. launch elementary_test - ctxpopup
2. click Ctxpopup with callback function sample
3. check whether there are 3 items on ctxpopup

Reviewers: woohyun, Jaehyun, jpeg, cedric

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5004
2017-08-10 14:42:08 +09:00
arosis 080c926588 elm_ctxpopup: Implemented elm_widget_item_del_pre for elm_ctxpopup_item
Summary:
ctxpopup item have elm_list item internally.
But when elm_ctxpopup item was deleted, elm_list item was not deleted.
elm_list item in elm_ctxpopup item should be deleted in del_pre
when elm_ctxpopup item is deleted by elm_wdg_item_del()

Test Plan:
1. launch elementary_test - ctxpopup
2. click Ctxpopup with label only
3. "Never Show" item should not shown in ctxpopup

Reviewers: jpeg, cedric, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5044
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre a28b89304e toolbar: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 63f599a47e separator: Remove orientation API use (EO)
Revert "Separtor: use orientation APIs"

This reverts commit f043c3be61.
Separator is not part of EO API so no need to use Orientation or
Direction API here.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 3c390b3969 index: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 5edb69f4ae slider: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre c87f6018f9 progressbar: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 6372dcdc2d grid: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 43c07afbf1 flip: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre b1488b98de efl.ui.box: Switch to Efl.Ui.Dir (EO)
This makes the default box vertical, just like in legacy.
The flow box is horizontal by default.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre d4b4ee867b evas: Modify wheel events direction to bool (EO)
The orientation was overkill here. We only want a bool.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre b2dc2274e8 elm_test: Fix some test cases to use legacy
Legacy test cases should keep using the legacy API, not the EO API.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 4270cb032c efl: Introduce Efl.Ui.Direction interface
This introduces, but doesn't make any use of, two types:
 - EO interface Efl.Ui.Direction
 - Enum Efl.Ui.Dir

This is to clean up inconsistencies with Efl.Orient values when used
with widgets.

Ref T5870

@feature
2017-08-10 14:42:08 +09:00
Amitesh Singh 46d4df4962 Efl.Ui.Panes: add first and second as content aliases
'first' and 'second' are more meaningful than
'left'/'right' & 'up'/'down' names.

refer T5359
2017-08-10 14:23:58 +09:00
Jean-Philippe Andre 69a3d68693 evas: Fix crash in E
Somehow starting VirtualBox would crash E when trying to upload invalid
data. I believe checking for NULL data here is all we need to do in
order to keep the image data consistent and valid.

I have to admit I'm not 100% sure what is happening here.

Fixes T5868

@fix
2017-08-10 11:51:56 +09:00
Derek Foreman 9fd0ed736d ecore_drm2: Remove ecore_drm2_output_resolution_get()
No local callers.  Superseded by ecore_drm2_output_info_get()
2017-08-09 14:56:59 -05:00
Derek Foreman 5ecfe6a8b5 ecore_drm2: Remove ecore_drm2_output_crtc_size_get()
Replaced with ecore_drm2_output_info_get()
2017-08-09 14:56:59 -05:00
Derek Foreman 846db0e0e7 ecore_drm2: Remove ecore_drm2_output_geometry_get()
Replaced with ecore_drm2_output_info_get()
2017-08-09 14:56:59 -05:00
Derek Foreman 1b853dcfad ecore_drm2: Add ecore_drm2_output_info_get
We've got too many ways to query output information, so let's add more.
(this will soon replace all of them)
2017-08-09 14:56:59 -05:00
Derek Foreman 70c1ce3be3 ecore_drm2: Remove useless safety checks
Now that the device is opened and found in one operation it's impossible
to have fd == -1, so we can stop testing for it.
2017-08-09 14:56:59 -05:00
Derek Foreman afd65a8a99 ecore_drm2: Merge ecore_drm2_device_free and _close
There's no reason to have them be separate, all callers must do them
back to back, so let's just combine them.
2017-08-09 14:56:58 -05:00
Derek Foreman d8a9b895bb ecore_drm2: Merge ecore_drm2_device_find and ecore_drm2_device_open
There's never a reason to find a device and not open it, so all callers
end up calling these two functions back to back.
2017-08-09 14:56:58 -05:00
Derek Foreman 9b9d704292 ecore_drm2: Remove connector bitfield
This is unreliable - there's no reason to expect these connector ids
will be low enough to sensibly store in a bit field.
2017-08-09 14:56:58 -05:00
Derek Foreman 2f9cb33f0b ecore_drm2: remove unused crtc bitfield
We'll need something like this when multi-head works, but it can't
be implemented this way anyway.  There's no guarantee that crtc
ids will be low enough to fit sensibly in a bitfield.
2017-08-09 14:56:58 -05:00
Derek Foreman 135ac29817 gl_drm: Remove some stale comments
We do planes now, so this comment isn't helpful anymore.
2017-08-09 14:56:58 -05:00
Derek Foreman 8ff59b2c55 ecore_drm2: Pass Ecore_Drm2_Device instead of fd to most functions
Intended to simplify the upcoming commit that merges device find and
device open into a single function that returns a device.

The fd is something callers shouldn't really need to get their hands on,
right now there are still a few places where it's needed, but those will
be gone soon too.
2017-08-09 14:56:58 -05:00
Jaehyun Cho be0af0ed00 elc_naviframe: Fix to handle item deletion right after item push
If an item is deleted right after the item is newly pushed, the push
transition should not happen for both the new item and the current item.
2017-08-09 23:39:32 +09:00
Jean-Philippe Andre e2fca6c454 elm: Prevent style/theme set after finalize (EO)
This is only for EO obviously. style_set and theme_set should only be
called when the object is being created, not after. On-the-fly style
changes are complex to handle and in most cases it should be easy to
simply repopulate the object after creating a new one with a new style.

There are only a few cases where style_set is used long after creation
of an object, like changing how a label slides, or in the evas 3d map
examples. Menu seems to change the hover style a lot, so rewriting it in
pure EO would need some extra work, maybe.

Ref T5307
Ref T5363
2017-08-09 18:09:32 +09:00
Jean-Philippe Andre 5d1e959f92 elm: Fix modules due to a missing EAPI
I recently added an undef EAPI which wasn't in fact the best idea ever.
The EAPI needs to remain defined as is for elementary modules and
edje_externals.

Ping @vtorri

See ad6e3ce3df
2017-08-09 17:08:24 +09:00
Jean-Philippe Andre dee61f4097 elm: Cleanup theme and style set functions
This makes efl_ui_layout_theme_set() return a Theme_Apply error
code. The type is now public as Efl.Ui.Theme.Apply.

Ref T5329
Ref T5363
2017-08-09 17:08:24 +09:00
Jean-Philippe Andre f60c2083a4 layout: Remove unused import in EO file
Ref T5363
2017-08-09 17:08:24 +09:00
Carsten Haitzler 89aeb2b682 ecore glib support - if we are not the main ctx owner loop to acquire
the code didn't try acquire every loop if we were not, so it wouldnt
wake up if someone stole context (and then gave it up). found by roy!

@fix
2017-08-09 16:19:45 +09:00
Jaeun Choi c311dc638b test_gesture_layer3: add null checking after memory allocation 2017-08-09 16:07:51 +09:00
Jaeun Choi 530455fcee test_gesture_layer2: add null checking after memory allocation 2017-08-09 16:07:15 +09:00
Jaeun Choi 6641c07262 test_gesture_layer: add null checking after memory allocation 2017-08-09 16:05:59 +09:00
Jaeun Choi 38abae53c0 elm_prefs_data: add null checking after memory allocation 2017-08-09 16:03:31 +09:00
Jaeun Choi db33efb792 elm_gesture_layer_extra_gestures: add null checking after memory allocation 2017-08-09 16:03:02 +09:00
Jaeun Choi 41ea255002 elm_gesture_layer: add null checking after memory allocation 2017-08-09 16:02:34 +09:00
Jaeun Choi 0927221c1a elm_dbus_menu: add null checking after memory allocation 2017-08-09 16:01:45 +09:00
Jaeun Choi 15bbf4712e elm_color_class: add null checking after memory allocation 2017-08-09 16:00:49 +09:00
Jean-Philippe Andre ad6e3ce3df elm: Add missing undef EAPI to Elementary.h
This may solve issues on Windows where EAPI can be either dllimport or
dllexport. Anyway keeping EAPI defined is invalid and inconsistent.

Also, change an invalid EO_BETA_API define tag to EFL_BETA_API_SUPPORT
and EFL_EO_API_SUPPORT.

Thanks @vtorri for the report!

@fix
2017-08-09 13:26:54 +09:00
Jean-Philippe Andre 10ec5f5f80 widget: Remove scrollable_children from EO
It's an internal only function, which IMHO was not required and an
overhead over the simple loop.

Ref T5363
2017-08-09 12:25:45 +09:00
Jean-Philippe Andre 23555ae461 widget: Clean up doc about disabled
Ref T5363
2017-08-09 12:21:42 +09:00
Jean-Philippe Andre 2450038436 widget: Remove sub_obj arg to resize_object_set
This removes an argument that was false only for a single widget:
naviframe. Hopefully this logic is now simpler, even though it involves
a small hack within naviframe itself.

Ref T5363
2017-08-09 12:21:42 +09:00
Jean-Philippe Andre 76088133dc naviframe: Override resize_object_set
This is a first step into allowing me to removing the sub_obj argument.
Make elm_widget resize_object a protected property.

See also D265

Ref T5363
2017-08-09 12:21:42 +09:00
Jean-Philippe Andre 8b3c1eb069 eo: Add a space in documentation
This separates the brief and the content.
2017-08-09 12:21:42 +09:00
Jean-Philippe Andre 1dad7e3e02 widget: Move signal functions to internal only
elm_widget APIs are internal only, even if they may be EAPI. The EAPI
here is for modules.

I believe this API is only required for layout objects, so simply should
remain in the layout class. Then you can do efl_isa() and call the
functions or accept error messages if you want to be more careless.

Ref T5363
2017-08-09 12:21:42 +09:00
Bryce Harrington be5b16850b examples: Correct the comments for key handling
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5076
2017-08-09 12:21:42 +09:00
Bryce Harrington 09d8ff787b examples: Fix sp. exemple_data
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5075
2017-08-09 12:21:42 +09:00
Jiyoun Park 1ee59694ec ecore_fb_li: add error handling code related with calloc 2017-08-09 11:10:20 +09:00
Youngbok Shin 14754744fa elementary cursor: remove a warning message from Wayland supports
Summary:
"_cursors_count" static variable is not used when Elementary is built
for Wayland. It should be removed if els_cursor doesn't use it.
@fix

Test Plan: N/A

Reviewers: raster, zmike, ManMower

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5065
2017-08-08 10:17:50 -04:00