Commit Graph

15076 Commits

Author SHA1 Message Date
Amitesh Singh 10103b9b45 efl.gfx: move scale{} from efl.ui.base to efl.gfx 2017-12-04 14:38:39 +09:00
Cedric Bail 25747d0881 ecore: rename efl_loop_Eina_FutureXXX_timeout to efl_loop_timeout. 2017-12-03 16:30:53 -08:00
Cedric Bail d0518f7325 ecore: remove efl_loop_timeout. 2017-12-03 16:20:20 -08:00
Al Poole 1be1ef168a eina_file_win32: also check for copy before unmapping region. 2017-12-02 11:45:53 +00:00
Derek Foreman 7658fc101f ecore_wl2: Add API ecore_wl2_window_surface_flush
This allows something that only has the Ecore_Wl2_Window (ie: something
that isn't engine code) to force dropping of all the buffers.

This should be safe to call at any time as the buffer handling logic
will properly cleanup the buffers when async render is done with them
or the compositor releases them.

This will eventually be used when a wayland client receives a
wl_output.leave events to indicate it isn't displayed on any outputs.
2017-12-01 10:59:51 -06:00
Derek Foreman c48ca81026 ecore_wl2: Add ecore_wl2_surface_flush
This removes all buffers from a surface.
2017-12-01 10:58:44 -06:00
Derek Foreman fdd05f8028 ecore_wl2: add Ecore_Wl2_Surface to Ecore_Wl2_Window
Track the surface of a window and only allow one.

Eventually this might be worthwhile to apply to subsurfaces, but for today
lazy is the way.
2017-12-01 10:58:44 -06:00
Derek Foreman 4f63f327b0 ecore_wl2: Make Ecore_Wl2_Buffer struct private
Nothing needs these members anymore.  If need arises in the future then
proper getter/setter functions can be added.
2017-12-01 10:58:44 -06:00
Derek Foreman 8a3b983c53 ecore_wl2 wayland_shm: Move surface functions into ecore_wl2
Finish pushing these all into ecore_wl2
2017-12-01 10:58:44 -06:00
Derek Foreman 5b4b18836a wayland_shm: Remove struct _Dmabuf_Surface
It's all piled into Surface now.
2017-12-01 10:58:44 -06:00
Derek Foreman f3dd394b85 ecore_wl2: Return NULL from ecore_wl2_window_display_get during recovery
This should save us from having to set the window to in the engine info
NULL and then back during/after recovery.
2017-12-01 10:58:44 -06:00
Andy Williams 756964c493 Revert "elm_code: Call parent theme_apply when we're applying"
This reverts commit 3e5e994360.
This crashes within Edi. The partial solution is not good enough.
2017-12-01 16:44:34 +00:00
Amitesh Singh ad9e36d750 focus: use elm_object_focus_get instead 2017-12-02 00:54:21 +09:00
Yeongjong Lee 9fac52134c efl_ui_spin_button: check focus state
Summary:
Because toggle_entry function control entry focus, it need to check
focus state in focus changed callback

Test Plan:
1. elementary_test - Efl.Ui.Spin.Button
2. Click the entry of spin_button

Reviewers: Jaehyun_Cho, CHAN

Reviewed By: Jaehyun_Cho

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5569
2017-12-01 12:06:24 +09:00
Amitesh Singh 769aeb5fcc edje: fix NULL ptr dereference
Fixes CID 1383425
2017-12-01 10:59:58 +09:00
Marcel Hollerbach 38b3ef1b8c elm_genlist: use the correct elm_object_focus_get function
genlist does not get focus anymore, only its children are getting them.

fix T6425
2017-11-30 20:07:52 +01:00
Marcel Hollerbach 1d7833a4b2 efl_ui_focus_composition: fix docs 2017-11-30 19:20:42 +01:00
Andy Williams 3e5e994360 elm_code: Call parent theme_apply when we're applying 2017-11-30 17:36:30 +00:00
Al Poole a538f47854 eina_file: make sure we use a stringshare when virtualized.
As the filename is now a stringshare, also make sure virtual
files use stringshares for the filename! Also when unmapping
we still need to test whether it is copied or not as unmap
will break on less tolerant architectures.

@fix T6449
2017-11-30 13:57:25 +00:00
Amitesh Singh 5b113aaa38 edje legacy: replace Edje_Object with Evas_Object 2017-11-30 20:05:49 +09:00
Amitesh Singh 864fbede3e edje: fix the typo in prev commit 2017-11-30 20:02:36 +09:00
Amitesh Singh 2ddea7065f Efl.Ui.Base: remove base_scale.get{} from interface.
base_scale for edje would be legacy now.
2017-11-30 19:27:04 +09:00
Amitesh Singh 5f3e0d62a4 Efl.Gfx.Shape: fix efl_super() call. 2017-11-30 16:23:19 +09:00
Amitesh Singh 774a01a28b Efl.Gfx.Path: add missing EOLIAN prefixes to eolian functions. 2017-11-30 16:09:37 +09:00
Amitesh Singh 77d730627e Efl.Gfx.Shape: add missing EOLIAN prefixes to eolian functions. 2017-11-30 16:09:37 +09:00
Amitesh Singh ad28bdfb5a Efl.Gfx.Shape: implement Gfx.Path.interpolate{}
This fixes the Eolian 'interpolate' redefine warning.
2017-11-30 16:09:37 +09:00
Jean-Philippe Andre d957e0a6e4 evas: Animation is a property not method set+get 2017-11-30 11:03:49 +09:00
Jean-Philippe Andre aef05c26d6 eolian: Warn less on duplicate beta APIs
The check was only done on one of the two functions, resulting in some
unwanted warnings.

EOLIAN_WARN_FUNC_DUPLICATES=1 will show non-beta warnings.
EOLIAN_WARN_FUNC_DUPLICATES=2 will still show all warnings.
2017-11-30 10:48:24 +09:00
Jean-Philippe Andre bd5b76508b efl: Introduce interface Efl.Dup
A few classes allow their objects to be duplicated, so they should all
use the same interface.

Also, rename VG's dup to copy_from as it's not conforming to the
definition of dup.
2017-11-30 10:48:24 +09:00
Jean-Philippe Andre 8803040484 evas: Implement scale API in proper EO fashion
This removes the internal function pointer for scale_update. This makes
all relevant classes implement the scale API in EO.

This removes the duplicate function in Efl.Canvas.Object and only uses
the one from Efl.Ui.Base interface.

This *seems* to be working as expected. Fingers crossed!

PS: I don't like the name Efl.Ui.Base. It's an interface for a few
common API's between Gfx, Canvas and UI levels... Maybe scale simply
doesn't belong there.
2017-11-30 10:48:24 +09:00
Jean-Philippe Andre 73e3a82bc2 edje: Move perspective to legacy
Note: Edje.Perspective is not bound to EO, and this is the only reason
why I'm moving this to legacy only. Marking as beta would mean the
legacy APIs would not be generated, so that would have almost the same
effect as moving to legacy.

It would be nice to actually support this in EO, though this seems like
a rarely used feature.

Ref T5315
2017-11-30 10:48:24 +09:00
Andy Williams c89dc4e0e4 elm_code: If showing line numbers don't resize at 10 lines.
Content will still shift at 100 but that should be less intrusive
2017-11-29 17:37:21 +00:00
Andy Williams 54d3091133 elm_code: Don't bold beginnings of lines
Fixes T6444
2017-11-29 16:17:27 +00:00
Amitesh Singh 038e492fe1 focus: fix build break after previous commit. 2017-11-29 19:46:04 +09:00
Amitesh Singh 29b47e0a07 focus: remove focus.get{} from widget.eo
This is taking care by focus manager now.
2017-11-29 19:25:14 +09:00
Jean-Philippe Andre 8faa65d90b edje: Move text_change_cb to legacy only
This should probably be replaced by a well defined signal.

Note: If edje sends signals on swallow/unswallow and text set/unset we
could simplify some of the elementary code, eg. for button's icon
handling. The theme should be handling the padding automatically, it's
not the elementary widget's role

Ref T5315
2017-11-29 15:36:44 +09:00
Jean-Philippe Andre 6225293d2e edje: Move "preload" to legacy only
EO file API is still in flux, especially wrt. async loading. Let's just
keep this in legacy for now.

A few more patches and Edje.Object will reach its final form.

Ref T5315
2017-11-29 15:36:44 +09:00
Jean-Philippe Andre 6c53992668 edje: Implement Efl.File.load_error
Don't create a new function with the same name, it's absurd.
2017-11-29 15:36:44 +09:00
Jaehyun Cho 4b18e754de elm_part_helper: Change macro name for default content part 2017-11-29 13:43:21 +09:00
Yeongjong Lee c1e9d9f2f0 evas: Remove duplicated code
Reviewers: raster, cedric

Reviewed By: raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5552
2017-11-29 11:59:54 +09:00
Chris Michael edc6ee8680 elementary: Remove set but unused variables
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-28 11:42:01 -05:00
Woochan Lee e8238522be efl_ui_spin: Support value change using mouse wheel.
Summary:
Enable value change using wheel.

(Up, Down key value change will be supported after D4933 dicussing.)

Test Plan: elementary_test efl_ui_spin test sample.

Reviewers: Jaehyun_Cho, jpeg, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5546
2017-11-28 20:03:06 +09:00
Jaehyun Cho a3ad64dcd0 efl_ui_popup: Replace Efl.Container to Efl.Content to rebase 2017-11-28 17:15:42 +09:00
Jaehyun Cho dcb7093c4c efl_ui_popup_alert: Remove expandable property for now
It needs more time to stabilize expandable property.
So the expandable property is removed for now.
The expandable property will be added later.
2017-11-28 17:15:42 +09:00
Jaehyun Cho c752d8fe6b efl_ui_popup: Make backwall efl part object of Efl.Ui.Popup 2017-11-28 17:15:42 +09:00
Jaehyun Cho 91df6723c9 efl_ui_popup: Rename bg_set with backwall_set
Since "background" is used as a basic part property, "backwall" is used
to indicate the area behind efl_ui_popup.
2017-11-28 17:15:42 +09:00
Taehyub Kim e65731b755 efl_ui_popup: add _calc_align function in sizing eval function
Summary: add _calc_align function in sizing eval function to show popup correctly.

Reviewers: Jaehyun_Cho, jpeg, cedric, thiepha, Blackmole, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5373
2017-11-28 17:15:42 +09:00
Taehyub Kim 8301e66d87 efl_ui_popup: add timeout signal
Summary: add the timeout signal for user notification

Reviewers: Jaehyun_Cho, jpeg, cedric, Blackmole, thiepha, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5372
2017-11-28 17:15:42 +09:00
Jaehyun Cho 27c0c90423 efl_ui_popup_alert: Define Clicked_Event structure 2017-11-28 17:15:42 +09:00
Jaehyun Cho a44e8cec39 efl_ui_popup: Replace group_add/del with constructor/destructor 2017-11-28 17:15:42 +09:00
Jaehyun Cho b85cebdb96 efl_ui_popup: Code refactoring to replace legacy APIs 2017-11-28 17:15:42 +09:00
JinYong Park 0928335fbc efl_ui_popup: remove parent_window_get method
Summary: remove Efl.Ui.Popup's internal method "parent_window_get"

Test Plan: elementary_test -to efluipopup

Reviewers: jpeg, Jaehyun_Cho, woohyun, herb

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5363
2017-11-28 17:15:42 +09:00
JinYong Park 2b2bc50e8b efl_ui_popup: replace title_set to efl_text_set with efl_part
Summary: Replace Efl.Ui.Popup.Alert's title set method to using efl_text_set with efl_part

Test Plan: elementary_test -to efluipopupalert

Reviewers: jpeg, Jaehyun_Cho, woohyun, herb

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5359
2017-11-28 17:15:42 +09:00
Taehyub Kim 8d315ce7aa efl_ui_popup: add timeout property
Summary: add timeout property

Test Plan:
1. run elementary_test -to efluipopup
2. after 3 seconds, popup will be delete

Reviewers: Jaehyun_Cho, jpeg, woohyun, thiepha, Blackmole, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5205
2017-11-28 17:15:42 +09:00
JinYong Park c8c7ac8aae efl_ui_popup_anchor: add Efl.Ui.Popup.Anchor class
Summary:
Add initial code for Efl.Ui.Popup.Anchor class.
It supports adding anchor object to popup.

Test Plan: 1. run elementary_test -to efluipopupanchor

Reviewers: Jaehyun_Cho, thiepha, herb, jpeg, cedric, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5126
2017-11-28 17:15:42 +09:00
JinYong Park a7082df12b efl_ui_popup: remove unnecessary function call
Summary:
In _calc_align function, it could get align property through Efl_Ui_Popup_Data *pd directly,
but call align_get function previously.

Reviewers: Jaehyun_Cho, herb, thiepha, jpeg, cedric, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5207
2017-11-28 17:15:42 +09:00
Taehyub Kim f5010b7ba6 efl_ui_popup_alert_scroll: check sizing evaluation while scroller is changed
Summary: add a sizing check variable for safety of sizing evaluation when the min size of scroller is changed.

Test Plan:
1. run elementary_test
2. search the sample with "popup" keyword
3. click the Efl Ui Popup Alert Scroll sample

Reviewers: Jaehyun_Cho, jpeg, woohyun, thiepha, Blackmole, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5204
2017-11-28 17:15:42 +09:00
JinYong Park 2e9042fae1 efl_ui_popup: remove efl_ui_popup_position_set
Summary:
Remove efl_ui_popup_position_set.
Its functionality is replaced with efl_gfx_position_set.

Test Plan:
  1. elementary_test -to efluipopup

Reviewers: Jaehyun_Cho, herb, thiepha, woohyun, jpeg, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5129
2017-11-28 17:15:42 +09:00
JinYong Park 0365bf1e13 efl_ui_popup: use efl_data_scope_get instead of using 'self' object
Summary:
Use efl_data_scope_get to get Efl_Ui_Popup_Data structure.
There is no reason using "self" object in Efl_Ui_Popup_Data.

Reviewers: Jaehyun_Cho, herb, thiepha, woohyun, jpeg, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D5128
2017-11-28 17:15:42 +09:00
Taehyub Kim 3dccf133bb efl_ui_popup_alert_text: add Efl.Ui.Popup.Alert.Text Class
Summary:
Add initial code for Efl.Ui.Popup.Alert.Text Class.
It supports setting texts on the content area.

Test Plan: 1. run elementary_text -to efluipopupalerttext

Reviewers: Jaehyun_Cho, jpeg, thiepha, cedric, woohyun, Blackmole

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5124
2017-11-28 17:15:42 +09:00
Taehyub Kim f22d40b1e6 efl_ui_popup_alert_scroll: add Efl.Ui.Popup.Alert.Scroll class
Summary:
Add initial code for Efl.Ui.Popup.Alert.Scroll Class.
It supports scrolling content.

Test Plan: 1. run elementary_test -to efluipopupalertscroll

Reviewers: Jaehyun_Cho, jpeg, thiepha, cedric, Blackmole, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5123
2017-11-28 17:15:42 +09:00
Taehyub Kim b1eac4c46b efl_ui_popup: cover the corner case of popup sizing evaluation
Summary: cover the corner case of popup sizing evaluation

Test Plan: 1. run elementary_test -to efluipopup

Reviewers: Jaehyun_Cho, jpeg, thiepha, Blackmole, woohyun, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5146
2017-11-28 17:15:42 +09:00
Taehyub Kim d3a14d08b0 efl_ui_popup_alert: add Efl.Ui.Popup.Alert class
Summary:
Add initial code for Efl.Ui.Popup.Alert class.
It supports setting title and buttons.

Test Plan: 1. run elementary_test -to efluipopupalert

Reviewers: Jaehyun_Cho, jpeg, cedric, thiepha, Blackmole, woohyun

Differential Revision: https://phab.enlightenment.org/D5108
2017-11-28 17:15:42 +09:00
Taehyub Kim b38ad0971c efl_ui_popup: make popup size expandable
Summary: make popup size expandable

Reviewers: Jaehyun_Cho, jpeg, cedric, thiepha, Blackmole, woohyun

Differential Revision: https://phab.enlightenment.org/D5107
2017-11-28 17:15:42 +09:00
Taehyub Kim 0005b3105e efl_ui_popup: add align and position properties
Summary:
add align feature and position properties (center, left, right, top, bottom)
efl_ui_popup_position_set should be seperated from evas_object_move
since evas_object_move can be called internally.

Test Plan: 1. run elementary_test -to efluipopup

Reviewers: Jaehyun_Cho, jpeg, cedric, thiepha, Blackmole, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5105
2017-11-28 17:15:42 +09:00
JinYong Park bccd97bd62 efl_ui_popup: add bg_set and bg_repeat_events_set/get API
Summary:
add bg_set and bg_repeat_events_set/get API
bg_set enables user change popup's outside bg
bg_repeat_events_set enables popup's outside bg repeat events

Test Plan:
 1. run elementary_test -to efluipopup
 2. click outside area of popup
 3. click button in popup

Reviewers: Jaehyun_Cho, herb, thiepha, woohyun, cedric, jpeg, singh.amitesh

Reviewed By: Jaehyun_Cho

Subscribers: jpeg

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5054
2017-11-28 17:15:42 +09:00
Taehyub Kim 996a975506 efl_ui_popup: add Efl.Ui.Popup class
Summary: add initial code for Efl.Ui.Popup class

Test Plan: 1. run elementary_test -to efluipopup

Reviewers: Jaehyun_Cho, Blackmole, thiepha, woohyun, cedric

Reviewed By: Jaehyun_Cho

Subscribers: bu5hm4n, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5037
2017-11-28 17:15:42 +09:00
Amitesh Singh e8ae4178d8 Efl.Ui.Format: do format check once only. 2017-11-28 17:05:31 +09:00
Amitesh Singh e97d00d598 Efl.Ui.Format: do proper checking for string template.
Add support to take action based on string format specifier.

If string template is '%d' and value type is double, do safe
conversion to int from double.
2017-11-28 12:16:48 +09:00
Sungtaek Hong 8193864d7d elc_combobox: use elm_legacy_add for internal component
Summary:
elm_combobox has entry, genlist, hover as its component.
Those components should be marked as legacy during efl_add.

Test Plan:
Run elementary test.
           Run combobox test.

Reviewers: jpeg, cedric, woohyun

Differential Revision: https://phab.enlightenment.org/D5542
2017-11-28 11:47:43 +09:00
Prasoon Singh 8b0c8c2eb7 elm_entry : Added access action interface in entry.
Summary:
Added access action interface in entry. On activate action from atspi client , entry will emit click signal and input panel
would be shown.

Test Plan:
When activate action comes,  entry will emit click signal and input panel
should be shown.

Reviewers: shilpasingh, kimcinoo

Reviewed By: shilpasingh

Subscribers: cedric, jpeg, rajeshps, govi

Differential Revision: https://phab.enlightenment.org/D5544
2017-11-28 09:56:32 +09:00
Andy Williams d43fe6c16f elm_code: Reload grid colours on theme change 2017-11-27 21:23:55 +00:00
Derek Foreman 49fefaf1bc efl_wl: Silence ridiculous warning
Including wayland client code before wayland server code causes
spurious "struct wl_buffer deprecated" nonsense.

Recent ecore_wl2 changes brought wayland client code into Ecore_Wl2.h
which caused the warning to trigger here.

Simply re-ordering the include files should resolve with no functional
change.
2017-11-27 11:33:53 -06:00
Woochan Lee eefcb49419 efl_ui_spin: Add new spin and spin_button widgets
Summary:
https://phab.enlightenment.org/T5900

Creating base class(efl_ui_spin) to support various shape of spinner.

Added button interaction widget efl_ui_spin_button inherited from efl_ui_spin.

Test Plan: Add tests in elementary_test.

Reviewers: Jaehyun_Cho, woohyun, jpeg, singh.amitesh

Subscribers: jenkins, id213sin, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5424
2017-11-27 19:40:31 +09:00
Ross Vandegrift 31ce5250cb evas: Fix sign mismatch in evas between.c and .h definitions
Summary:
Parameters w and h are declared as int for evas_common_rgba_image_from_data
and evas_common_rgba_image_from_copied_data in evas_image_data.c.  This
does not match the prototypes in evas_image_private.h which declares them
unsigned.

Original report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748026

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5540
2017-11-27 17:36:58 +09:00
Pawel Aksiutowicz 59a573fabb elementary: fixed single typos in few modules
Reviewers: stanluk, lukasz.stanislawski

Reviewed By: lukasz.stanislawski

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5534
2017-11-27 17:36:58 +09:00
Amitesh Singh 952593eef2 Efl.Ui.Format: remove the dupicalte code
struct tm check is already done at the beginning of the function.
2017-11-27 16:55:04 +09:00
Sungtaek Hong b8789e52ae efl_ui_bg: add Efl.Gfx.color_get.
Summary:
since legacy elm_bg_color_set/get is changed to efl_gfx_color_set/get,
efl_gfx_color_get also should get color of inner rect.

@fix

Test Plan:
1) run elementary test.
           2) run Bg EO API(Efl.Ui.Bg)
           3) set/unset "Bg color" check.
           4) observe printed color values.

Reviewers: jpeg, woohyun, cedric

Differential Revision: https://phab.enlightenment.org/D5429
2017-11-27 11:55:24 +09:00
Marcel Hollerbach bed67ef0d0 elm: fix legacy code
earlier elm_object_focused_object_get returned gengrid genlist toolbar
objects if a item of them is focused. This should fix that.

thank you @davemds for the report!
2017-11-26 19:47:05 +01:00
Chris Michael 83c292ffc4 ecore-wl2: Fix resource leak
Coverity detected a resource leak here because we were not freeing the
malloc'd 'obo' variable.

Fixes Coverity CID1382907

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-11-26 12:12:53 -05:00
Al Poole 5abeeb980a elm_code: set the color scheme from the default edc.
This allows us to override in the application also. Work from
myself and @ajwillia.ms.
2017-11-26 12:36:42 +00:00
Carsten Haitzler 047141fc90 ecore ipc/con: fix nasty ... they dont mutually exclude
by deleting the socket they wont mutually exclude at bind which means
eny new server just nides the pror one and you can get lots of copies
of the same server. this wasnt the case before. it shouldnt have been.
i think ther was an rm path for stale sockets when connecting failed
or something. anyway... this here was causing multilpe efreetd's and
all sorts of nastiness. this is the root cause. so... fix it.

@fix
2017-11-26 14:01:14 +09:00
Carsten Haitzler 01ec011f8e elm ifrace scrollable - fix uninitialized values on scroll asjust
dragable values were invalid (not fetched) so vx/y were junk and this
was making decisions based on that. guarantee it to be 0.

@fix
2017-11-24 23:52:08 +09:00
Carsten Haitzler be6f4a870a efl ui slider - fix crashes with fmt callback data and class data
the format free cb was passed the class data (sd) as the callback data
but this was freed by the time _indi_default_format_free_cb was called
causing an invalid access. fix this by looking it up from the obj
which is probably invalid at this point...
2017-11-24 23:51:38 +09:00
Daniel Kolesa 40214e16c7 elua: correctly wrap gettext funcs
Now, we cannot directly register funcs defined by a different
signature than the lua standard (int (*)(lua_State *)) so we
have to correctly wrap those with proper conversions etc.
2017-11-24 10:55:46 +01:00
Carsten Haitzler 6587613a58 elua - use safeptr with lightuserdata to work around luajit 64bit issue
luajit only supports 47bits on 64bit for lightuser data (bad! don't
mess with opaque pointers... really unexpected and bad and probably
should be fixed in luajit by doing things like on 32bit where
pointers are not messed with etc.)
2017-11-24 18:29:23 +09:00
Carsten Haitzler e0f4455eaa eina safepointer - mimic 47 bit eoid patch
same thing as b209b9a92286209281c12e81fd9dd72dc28c7495 but for safeptr
2017-11-24 18:29:23 +09:00
Carsten Haitzler 74327ddbc8 eo - by default on 64bit only use 47 bits because of luajit
luajit wants to check the upper 17 bits of pointers and assume they
are all 0 if on a 64bit architecture. it will panic and barf if they
are used. we have been using them in our eoid's for a long time.

my take on this is that this is unportable. assuming how many bits are
or are not valid in an opaque pointer (void *) that is simply passed
to you and you cannot dereference or use (no size information even for
what amount of data it points to etc.), is just wrong. it's not
portable and it's trying to be too smart and creating such issues. my
take is that luajit needs a fix for this in the longer term. but for
now let's have a 47 bit mode and go with that. it does mean i have to
drop our generation counter to 10 bits on 64bit (from 27 bits) which
increases likelihood of eoid re-use being falsely detected as valid
(before on 64bit it was 1 in 130 million or so chance, with this 47
bit change it's 1 in 1000. but to be fair on 32bit it's 7 bits for gen
count so 1 in 127 ... so still more than 10x "safer" than on 32bit...
but still...). the relevant check in luajit is:

  (((uint64_t)(p) >> 47) ? (lj_err_msg(L, LJ_ERR_BADLU), NULL) : (p))

it ONLY does this on 64bit. on 32bit pointers are not checked for
validity at all.

as an aside, armv8.2 seemingly will bring 52bit addresses so luajit is
going to fall over flat on a newer rev of armv8. it may be x86 also
uses more bits. last i knew it was 48bits so the 47 bit check luajit
does i think is even wrong for x86-64. to be detailed i read:

amd64 arch == 48 bits (so luajit is wrong). even better In addition,
the AMD specification requires that the most significant 16 bits of
any virtual address, bits 48 through 63, must be copies of bit 47 (in
a manner akin to sign extension). so if the upper bit of 48 is set
THEN all the 16 upper bits must be 1... breaking luajit, even if it
were 47bit and this rule applied. I read the architecture allows for
up to 52bits of actual addresses so architecture-wise this is even
wrong...

So I smell a core bug here in luajit. Certainly in the number of bits
it insists must be 0 (the upper 17 bits where on amd64/x86-64 it
should be the upper 16 bits... and even then these may NOT be 0 if bit
47 (the upper bit of the lower 48 is 1).... so the whole check is
invalid... :(

at least the above is at a theoretical level. i believe that the
addresses divide the 48 bits into 2 chunks (thus 47)... but at the
PHYSICAL level with no mmu and virtual memory. arm64 has this:

https://www.kernel.org/doc/Documentation/arm64/memory.txt

note in all cases the 2nd chunk of memory has at leats some upper bits
of physical addresses beign 1 ... which makes luajit invalid tyo use
without virtual memory remapping these away from high bits.

@fix
2017-11-24 18:29:23 +09:00
Jean-Philippe Andre 7e76b1e7ef mbe: Fix invalid part handling
Only the text parts need special handling.
Ping @CHAN :)
2017-11-24 17:25:30 +09:00
Jean-Philippe Andre 1aedcdaf7a win: Fix window background EO APIs
Broken in a previous commit
2017-11-24 17:10:30 +09:00
Lukasz Stanislawski 2016bacd17 elm: add custom access state for Elm.Hover
Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5523
2017-11-24 16:50:01 +09:00
Jean-Philippe Andre 9fbd9497b0 layout: Fix erroneous warnings (from earlier patch)
Oops. Bad check :)
2017-11-24 16:27:54 +09:00
Jean-Philippe Andre dee149f3aa elm_part: Mark as auto-unref before finalize
This simplifies the IMPLEMENT macro, which can now be a proper function.
Also, do not set a parent for the part object, as it's not useful and
could mess up the refcount.
2017-11-24 16:27:18 +09:00
Jean-Philippe Andre 7e785d936d eo: Make sure auto_unref only applies after finalize
It would be pretty stupid to create an object that dies before it even
gets created. Auto-unref is for parts and should probably not be used
anywhere else :)
2017-11-24 16:15:44 +09:00
Jean-Philippe Andre 8608e8dc70 part bg: Fix up some unnecessary complexity
See previous commit :)

Note: right now the background part has a small 3d indent which comes
from the legacy theme being used. This will be fixed soon.
2017-11-24 16:12:31 +09:00
Sungtaek Hong 3c47a4f9f9 efl_ui_layout: create efl_ui_bg when efl_part for background is called.
Reviewers: woohyun, jpeg, cedric

Subscribers: felipealmeida, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5151
2017-11-24 16:00:22 +09:00
Amitesh Singh 475ae7ef1b Efl.Ui.Format: add string format checking for user input 2017-11-24 14:58:15 +09:00
Jean-Philippe Andre e9d7436fd2 widget: Add EINA_UNUSED 2017-11-24 14:36:01 +09:00
Sungtaek Hong 8f2369c5b6 efl_ui_widget: secure elm_legacy_add flag
Summary:
_elm_legacy_add goes back to EINA_FALSE after setting sd->legacy.
if constructor get called again after going back to EINA_FALSE,
sd->legacy should remain EINA_TRUE.
also, elm_legacy_add() should not be called non-elm_widget.

Test Plan:
Run elementary test->Efl.Ui.Text.Label.
Check legacy flag in _elm_theme_object_set() for efl_ui_win.
Check legacy flag for efl_ui_text after scrollable text is added.

Reviewers: jpeg, woohyun

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5529
2017-11-24 14:32:36 +09:00
Pawel Aksiutowicz 5de4d45666 elementary: fix typos in elm_win_legacy
Reviewers: stanluk, lukasz.stanislawski, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5511

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-11-23 15:41:43 -08:00