Commit Graph

13856 Commits

Author SHA1 Message Date
Derek Foreman 9df39b5616 ecore_wl2: Refactor out code to send window configure complete event 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 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
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
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 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
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
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
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 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 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
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
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 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
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
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
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 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 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 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 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 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 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
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
Jaehyun Cho db7ed3dcdd ecore_audio_pulse_ml: Check memory allocation fail 2017-08-08 23:13:47 +09:00
Chris Michael 42b082fe36 ecore-wl2: Add support for Window Iconify State Change
This patch adds support for the Window Iconify State Change event
structure and the ecore event type to support it.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-08 09:53:52 -04:00
Jaeun Choi 81f94ecada elm_panel: use widget data for getting geometry
_elm_panel_efl_gfx_size_set() ends up calling
_elm_panel_elm_layout_sizing_eval() to adjust the layout
according to the updated width and height.
however, evas_object_geometr_get() doesn't return the updated values.
in fact, it is not necessary to call any API since the values are
stored as widget data in _elm_widget_efl_gfx_size_set().
2017-08-08 15:33:19 +09:00
Jean-Philippe Andre 3add24fa45 elm: Continue elm_layout renaming
This renames a few macros.

Ref T5315
2017-08-08 13:39:44 +09:00
Jean-Philippe Andre 9a2d4928f0 elm: Rename elm_layout to Efl.Ui.Layout
Some names have not been changed, hopefully making a distinction
between legacy APIs and internal code (elm_layout_blah) and valid EO
usages.

This means many internal functions are still elm_layout_ as their
sole purpose is to support the legacy API.

Ref T5315
2017-08-08 13:25:58 +09:00
Jean-Philippe Andre d5ad85abae eo: Fix memory leak with overrides
See 0834511067
And b7840d9177

Ref T5580
2017-08-08 11:28:59 +09:00
Jean-Philippe Andre f79960839d layout: Implement missing edje APIs
This makes elm_layout implement:
 - efl_canvas_layout_signal_message_send
 - efl_canvas_layout_signal_process

This only transfers the calls from the elm widget to the internal
edje object.

PS: message_send is quite ugly in C...

Ref T5315

@feature
2017-08-08 11:10:56 +09:00
Jean-Philippe Andre 6864495c99 elm: Move elm_layout_sizing_eval to legacy
elm_layout_sizing_eval() marks an object as requiring recalc.

Unfortunately, it's been massively abused by various widgets into
actually doing the calc, or the min calc. So we end up with one API
that has 3 different definitions depending on the widget type:
1. Mark as requiring recalc (correct, respects doc, elm_layout)
2. Calculate min size and other size hints
3. Actually do some geometry modification

I believe we need to clarify these 3 requirements into 3 very clear
and specific APIs in elementary. Right now we have similar functions
in evas for 1 (evas_object_smart_changed) and 3 (smart_calculate).
But their exact definition also isn't necessarily what we want for
elementary.

Another clear problem is that layout_eval does not do any calculation
(in theory), so the "eval" word is a bit of a stretch here.

Once we're sure about the exact API we want, we can add this back to
EO and make it work across our EO widgets. For now let's just keep
the legacy API, and its EO overrides, as is.

Ref T5315
2017-08-08 11:10:56 +09:00
Cedric BAIL b7840d9177 eo: temporary prevent segfault.
In some case, detected during eo test suite, the vtable does fail to
be fully assigned, but it is still being assigned as the new vtable.
Of course when later destroying it, it has already been freed. Leading
to a double free.
2017-08-07 10:42:45 -07:00
Mike Blumenkrantz f7278719c1 elm_win: set shadow geometry based on borderless state
@fix
2017-08-07 13:26:51 -04:00
Mike Blumenkrantz 56936c91c0 elm_win: simplify/fix recalc logic when changing csd
forcing a full eval here is unnecessary and broken since such an eval could
either change geometry in unexpected ways or fail to accurately change
the underlying canvas geometry

@fix
2017-08-07 13:26:51 -04:00
Daniel Hirt 36a2e29624 Canvas text: fix re-add of existing style to list
Styles were appended regardless their key already existing.
Now it's fixed.
Also, improved readability of 'style_set'.
2017-08-07 19:36:23 +03:00
Mike Blumenkrantz 3e0c287da2 evas image: add checks for ENDT existence during image free
this is null e.g., during enlightenment restart and causes crashes, probably
should be removed after underlying cause is resolved

@jpeg
2017-08-07 10:50:08 -04:00
Mike Blumenkrantz 1b1fdda931 evas_object_image: formatting
this was unreadable at parts due to mixed tabs/spaces
2017-08-07 10:50:08 -04:00
Stefan Schmidt 4d2117ef2a edje: make the generated default program name reproducible over builds
For programs without specific names edje_cc generated default names in
the form of program_$MEMORY_ADDRESS. That worked well enough for keeping
the names unique, but it causes problems if one wants to have these files
being binary reproducible due to different memory layouts, compilers,
etc. Simply using a counter as unique part should work well enough for
our use case and help people who want to verify builds.

Thanks a lot to Bernhard M. Wiedemann for review and testing.

Fixes T5113
Ref T5495
2017-08-07 14:35:32 +02:00
Marcel Hollerbach 66265c2f4d efl_ui_focus_manager: free iterator when done 2017-08-07 12:31:10 +02:00
Marcel Hollerbach 63393d344b efl_ui_focus_manager: fix leak when setting order
We should free the list when we set it again.
2017-08-07 12:31:10 +02:00
Stefan Schmidt dbf7057bca Revert "efl: terrible kludge so avoid termination crash on osx"
This reverts commit 9368eedd35.

The release is out so we can revert this bandaid again. In the hope to
find the real culprit and solution before the next release.
2017-08-07 11:53:00 +02:00
Amitesh Singh 40945d9859 elm: rename elm panes to Efl.Ui.Panes 2017-08-07 15:49:11 +09:00
Carsten Haitzler 432b9b1dcd edje - add embryo echo command for debugging
finally add one...

@feature
2017-08-05 14:47:25 +09:00
Carsten Haitzler 7b59a4851e edje crash with run program references - fix
i found a crash today where a heme could cause a crash if it just did
the right things. the run program was freed while still being
accessed. so add some ref counting to keep it alive until references
go to 0. and add soem refs while we store it in lists.

@fix
2017-08-05 13:10:33 +09:00
Mike Blumenkrantz fb153fc57a efl-wl: no-op the re-setting of minmax/aspect handling 2017-08-04 16:17:33 -04:00
Mike Blumenkrantz 29b99a8e88 efl-wl: add handling for external protocol interfaces
@feature
2017-08-04 16:17:33 -04:00
Mike Blumenkrantz be20f7d96c efl-wl: support min/max hinting
@feature
2017-08-04 16:17:33 -04:00
Mike Blumenkrantz 6a6505106a elm_win: propagate window aspect hint in wayland 2017-08-04 16:15:43 -04:00
Mike Blumenkrantz 9a189d29d0 wayland: add efl-hints protocol for setting aspect on surfaces
@feature
2017-08-04 16:15:43 -04:00
Mike Blumenkrantz 106e1d4318 efl-wl: set cursor surface roles
ensure cursor surfaces without buffers will be mapped if a buffer is
attached

@fix
2017-08-04 16:10:49 -04:00
Mike Blumenkrantz 514fefe2d4 efl-wl: add handling for commit during canvas render
prevent release of pre-existing buffers during a render cycle

@fix
2017-08-04 16:10:47 -04:00
Mike Blumenkrantz 2961cb2550 efl-wl: do shm pool ref/unref for bm safety
@fix
2017-08-04 16:10:43 -04:00
Mike Blumenkrantz f03028d22f wayland: fix min/max size setting
also don't set arbitrary hints on init

@fix
2017-08-04 16:10:42 -04:00
Mike Blumenkrantz 70c118fab6 efl-wl: block connection attempts from unmanaged clients
I guess posting an oom error is security

@fix
2017-08-04 16:10:39 -04:00
Mike Blumenkrantz 99b60390f4 ecore-wl2: sync aux hints after window creation
ensure hints are available when needed

@fix
2017-08-04 16:10:35 -04:00
Mike Blumenkrantz f2627d49c1 ecore-wl2: don't send null set_parent requests for every window
this is redundant

@fix
2017-08-04 16:10:34 -04:00
Mike Blumenkrantz cd7633ecbf ecore-wl2: make _ecore_wl2_display_sync_get() local instead of static 2017-08-04 16:10:34 -04:00
Mike Blumenkrantz ab2c330b27 ecore-wl2: simplify server pid detection 2017-08-04 16:10:34 -04:00
Mike Blumenkrantz 4e68271416 ecore-wl2: pass display to aux hint event_adds
fixes display refcounting

ref 6bb56b3f56

@fix
2017-08-04 16:10:31 -04:00
Derek Foreman bc5ebd0a20 ecore_drm2: Fix linker problems
Accidentally used functions in the library directly instead of through
the sym_* dlsym looked-up variants.

Why this only caused problems in some installations may still be worth
investigating - we may be pulling in libdrm at link time from some
other library?
2017-08-04 12:13:40 -05:00
Amitesh Singh 0e7a316a7a edje: implement edje.player interface functions
fixes T5560
2017-08-04 16:22:59 +09:00
JinYong Park f2082c0412 layout: fix "elm,state,text,hidden" signal never be emitted
Summary:
 In _elm_layout_text_set function, text_signal_emit is called.
 But in that case, check text whether it is null or not null before call signal_emit.
 So "text" is not null always, and text_signal_emit's parameter "visible" is also always EINA_TRUE.

Reviewers: Jaehyun_Cho, cedric, jpeg

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5049
2017-08-04 15:33:27 +09:00
Jean-Philippe Andre 63f0dcc5fc layout: Fix compilation break
Oooops! This broke external apps!
2017-08-04 12:31:14 +09:00
Jean-Philippe Andre 4c8f87974c layout: Implement data_get from edje
This also implements size_min and size_max get.

Ref T5315
2017-08-04 11:52:17 +09:00
Jean-Philippe Andre 240cc9e501 edje: Move size_min/max and data to an interface
The new interface is:
  Efl.Canvas.Layout_Group

I'm not fan of the name.

Ref T5315
2017-08-04 11:52:17 +09:00
Jean-Philippe Andre 3e5cfb83c0 elm: Remove custom layout signal APIs
This merges them with the now standard interface:
  Efl.Canvas.Layout_Signal

Some wrapping work was required for legacy API which
takes no user_data in del() but instead returns it. The
new EO function, while harder to use, is more correct
(you can't delete the invalid callback by accident, and
this follows EO events design).

Another crazy wrapping was done in entry/text in order
to add the callbacks to 2 objects instead of just one,
and still return the user data.

As for Naviframe and Popup, those two widgets override
signal_emit to forward the call to another object than
the resize object, but not callback_add/del. So they
are definitely broken.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre efac7d523a edje: Move signal APIs to an interface
This interface will be used by elm_layout as well.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre ad7e16bcf4 layout: Use only legacy "elm_layout_sizing_eval"
This removes all uses of elm_obj_layout_sizing_eval.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre fb941c457c layout: Improve doc for theme_set
Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 82e6100322 layout: Move Part_Alias struct to legacy
Part aliases need to be handled differently in EO.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre f0730f6f4c layout: Move edje_get to legacy only
Here's the reasoning:
 1. We will expose as many edje APIs as possible (and meaningful)
    through the elm layout class.
 2. Access to internal objects is usually risky, as it allows apps
    to bypass EFL in some ways, leading to potentially undefined
    behaviours.
 3. If the need arises we can still add a similar API back to EO,
    later.

Back to #1, it seems that the need for edje_get() was mostly to
call manual sizing functions, or the missing message_send(). I will
make sure these are accessible from the layout itself.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre aebd37cab8 layout: Remove sub_object_add_enable
Same as the previous patch. This was an ugly hack. Use another
one instead.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre a4940ae6c9 layout: Remove method theme_enable
This was an internal thing, ugly, replaced by another ugly
solution, but maybe less ugly.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre ed94e8b535 scroller: Implement default content part
This:
  efl_content_set(efl_part(scroller, "default"), obj)
worked fine, but, this:
  efl_content_set(scroller, obj)
didn't work as expected.

Thanks @JackDanielz for the report.

Note: There is a problem still... "default" should not work
      with efl_part. This is quite bad, actually. It should
      probably be "content" instead.
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 7ba0ab5182 layout: Implement freeze and thaw from interface
This implements part of the interface
  Efl.Canvas.Layout_Calc
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre a4c3929894 layout: Implement cursor part APIs with efl_part
This makes layout parts implement Efl.Ui.Cursor.
This also adds the missing bool returns from that interface.

This removes 7 APIs from Elm.Layout.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre aeacb54c35 cursor: EO-ify elm_cursor API
This creates an interface and makes Elm.Widget implement it.
Next step: make elm_layout parts implement it.

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre f63a564817 layout: Move edje_object_can_access to legacy
This is an API enabling accessibility on text(block) parts
in a layout. But it is said to have many issues. I can already
see that it only changes a flag but doesn't trigger any code
to create the appropriate objects, so definitely not fully
working.

According to @kimcinoo this may remain in legacy land for now.
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 6df17b2ed0 edje: Split off calc APIs to an interface (EO)
Those APIs can then be used by Elm.Layout, hopefully
simplifying the API.

I wonder if the APIs should be prefixed "calc_" (as is)
or "layout_calc_". The extra "layout_" prefix would make
it common with other layout APIs (eg. signals, data,
size min/max, ...).

Ref T5315
2017-08-04 11:52:16 +09:00
Jean-Philippe Andre 796d4b138b elm: Make content and text aliases internal only
This removes the APIs from the EO API.

Ref T5315
2017-08-04 10:24:03 +09:00
Taehyub Kim 94d3fd3d82 win: implement efl_provider_find for EFL_UI_WIN_CLASS
Summary:
Implement efl_provider_find function for efl_ui_win class.
This will support to search window class by efl_provider_find function.

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

Reviewed By: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5045
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre a1509ab98d frame: Implement text set/get (EO only)
This is required for the default style which has a title.
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 1990104b5f evas: More debug_name information 2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 0353eb5b7f evas: Add debug_name to image objects 2017-08-04 10:24:03 +09:00
Jean-Philippe Andre b290cb5de0 eina_slstr: Fix leak in an error case
This function takes ownership of the incoming strbuf
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 999dbd9764 eo debug name: Use strbuf instead of slstr
This should be a little bit more efficient, even if more "risky"
in terms of leaks. The final API still looks exactly the same.
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 569ad0bac4 evas/edje/elm: Override debug_name in core classes
This is really only a demonstration of what kind of information
we can print with efl_debug_name_get(). Hopefully this can help
debugging with printf/ERR logs and even help with live debugging
inside gdb.

This shouldn't be used for other purposes than debugging, as the
exact string format is not defined.

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre c4769ff898 eo: Add debug_name read-only property to ease debugging
This will include the following information, by default:
 - class name
 - whether the class is an override
 - eo id (pointer)
 - refcount
 - name if one was set (Efl.Object property)

This also supports classes, which is why it's an EAPI in eo.c
and not only a method of Efl.Object

This can be overriden by subclasses using the empty method
Efl.Object.debug_name_override.get

If the function is overriden, then the returned string is used
as is and so it is left to the subclass to include all the
necessary information (as above). This can easily be achieved
by calling efl_debug_name_get(efl_super()) and then concatenating
the strings.

Think of this function as something like Java's toString(), but
only for debugging (i.e. a string class should not just return
its string value).

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 0834511067 Eo: Allow multiple functions overrides
This allows two things:
 - adding new override functions on an object that already has
   overrides
 - resetting a specific function (or list of functions) to the
   parent class implementation by passing NULL as implementation

Fixes T5580

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre fd9cf1d3b6 evas: Make all EO canvas objects visible by default
All legacy objects remain invisible by default. Any call to
visible_set() will prevent the automatic show() to happen.

show() will be done just before render time, which may be a
bit too late in order to propagate the necessary changes.

This may break some things where some objects are created
internally using efl_add() instead of the legacy API, and
the intent was not to show the object.

@feature
2017-08-04 10:24:03 +09:00
Chris Michael 0bd8259da8 ecore-wl2: Rename local function and make it static
As this function is not called from anywhere outside of
ecore_wl2_window.c file, this can be declared static.

NB: This patch also changes the function name to match the library
(ecore_wl2).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-03 10:15:41 -04:00
Jean Guyomarc'h 9368eedd35 efl: terrible kludge so avoid termination crash on osx
Currently, elementary programs crash on termination on macOS (seems
Sierra-specific). This is very nasty, looks like deep memory corruption...
Without valgrind (or like) support on Sierra, it is difficult to
pinpoint the origin of the problem.

Due to the imminient release, and after discussion with @stefan, this
kludge will allow the release to happen.

This commit MUST be reverted just after the release, so we don't
blindfold ourselves!

Ref T5245
2017-08-03 10:31:26 +02:00
Carsten Haitzler 256450d294 eina debug - remove other swap and comment on the weirdness of this 2017-08-03 09:08:04 +09:00
Cedric BAIL eed23765f9 eina: failing to load a module is actually an ERR that user should see. 2017-08-02 16:16:33 -07:00
Guilherme Iscaro 48443fda8f Eina_File: Avoid using munmap() on file->global_map.
When a virtualized file is created the file->global_map will not
point to a mmapped region, thus it's not safe to use munmap() during
the file cleanup. Only use munmap() if the file is backed by a FD.

Fixes: T5234.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-02 16:03:20 -07:00
Guilherme Iscaro c61ac48f1a Efl_Copier: Add efl_wref_del() for pd->job.
In order to perform IO operations the copier will create futures using
efl_future_use(&pd->job, ...), which will set pd->job to NULL once the
future is destroyed. However this may lead to problems, because in some
cases the copier may be deleted at the _efl_io_copier_job() function,
which is the future's callback. Since the copier may be deleted before
the future, the area pointed by pd->job will have disappeared by the time the future
tries to set pd->job to NULL. To avoid this problem the copier must
explicily call efl_wref_del().

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-02 16:03:11 -07:00
Carsten Haitzler 470b48d63c eina debug - new debug infra - comment out and make a note on bad endian
bad endian... code... see the comment in the src about why i think
this is bad as obviously the buffer pointed to is a 64bit type always
that is a pointer to something...
2017-08-02 22:41:54 +09:00
jiin.moon 49bb102d16 evas: Add safety code for smart object
Summary:
If user use the evas_object_smart_callback_add with no smart object,
it should be returned

@fix

Test Plan: self

Reviewers: jpeg, cedric, jypark

Differential Revision: https://phab.enlightenment.org/D5056
2017-08-02 20:28:09 +09:00
Jean-Philippe Andre b10be4e2ed evas filters: Disable extra debug
Forgot to remove that! It's better to disable for the release,
DBG() and XDBG() are disabled anyway.

CID 1308611
2017-08-02 20:15:58 +09:00
Jean-Philippe Andre de99a71c43 evas filters: Shut up coverity
Add some safety checks.

CID 1374271
2017-08-02 20:15:57 +09:00
Jean-Philippe Andre 4299905996 evas: Rename calculate property to calculating
Recently introduced by @cedric
I think the name is not very clear, and is clashing with the
actual method of the same name.
2017-08-02 19:12:13 +09:00
Carsten Haitzler ed947fad81 efl_wl - fix warning for possible uninitted list access
could potentially be an issue in one theoretical case. less warnings
is better anyway
2017-08-02 18:48:06 +09:00
Andy Williams 91293d3b25 elm_code: small optimisation for large files 2017-08-02 10:32:13 +01:00
Carsten Haitzler cae354d299 eina hamster count - use a fixed version, revision etc. so builds repro
this should help with repdocucable builds by having our hamsters
constant for a build of a specific code revision.

@fix
2017-08-02 17:12:28 +09:00
Carsten Haitzler 7718b4c0ea ector - fix coveirty fix - vmin is -vmax not -vmin 2017-08-02 17:01:12 +09:00
Jiyoun Park c3d8a1d9f4 efl_ui_win: add error hanling code for malloc fail 2017-08-02 16:42:04 +09:00
Jean-Philippe Andre 5c8670fb2b ecore_x: Avoid crash on NULL
This happens in E with software compositing, since E's commit
5702f0975e890f07cfb. E should be fixed shortly but segv is not
acceptable. Without segv E is still massively broken so it's
not like the bug would be hidden (large black areas in windows,
after switch vdesks with enough windows).
2017-08-02 13:34:45 +09:00
Cedric BAIL ea5675a6a0 evas: add a way to know if we are already computing smart object calc. 2017-08-01 13:17:10 -07:00
Mike Blumenkrantz f6c465dc59 Revert "evas: Always call show/hide intercept"
This reverts commit 936ea58cb9.

this is an ideal change, but it breaks previously-expected behaviors
for interceptors and thus enlightenment is completely broken
2017-08-01 13:29:46 -04:00
Marcel Hollerbach aca00f8502 ecore_x: init XEvents before passing to x
it turns out that xlib is going to copy the complete struct into
something internal. This might lead to the condition that a uninitalized
value might be part of the struct, and when later the struct is read
again the code might do wrong stuff since that value could be set now to
a randomly other meaningfull value.

This turned out on me in e as i could not write any letters like ßöäü,
since that lead to a not returning call to _XReply internal of xlib.
Dugging that showed that xlib was waiting on a reply of a call that
never got executed, and the XEvent it is waiting on just contians a
randomly correct value.

@fix
2017-08-01 18:16:23 +02:00
Jean-Philippe Andre 3b8c60954e Revert "elm gesture layer - use fabs not abs when actually comparing floats"
This reverts commit 2d4d836018.

Don't pretend to fix an issue found by a static analyzer by
introducing another issue that even clang warns about.

Fixes:
elm_gesture_layer.c:2533: warning: using floating point absolute value
  function 'fabs' when argument is of integer type [-Wabsolute-value]
        if ((fabs(st->info.mx) > ELM_GESTURE_MINIMUM_MOMENTUM) ||
             ^
2017-08-01 20:03:20 +09:00
Shinwoo Kim 391a777c01 elementary: access overrides Accessible.state_set.get
The elm_access a widget makes primitive object accessible. If a primitive
object is not visible, then the elm_access should NOT have state VISIBLE, and
SHOWING. From now the elm_access is checking visibility of primitive object.
2017-08-01 19:52:38 +09:00
Carsten Haitzler fd52344b03 eldbus - make file local func added in fix static
better to keep the func local unless needed elsewhere too
2017-08-01 11:23:20 +09:00
Jihoon Kim 15250fb8cf ecore_imf: check return value of memory allocation
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2017-08-01 10:27:37 +09:00
Derek Foreman acc76cadd3 ecore_drm2: Stop making dumb fbs and mmapping for gbm fds
We were doing this so E could do screenshots in a hackish way,
E has been fixed so this hack here no longer needs to live.
2017-07-31 11:12:05 -05:00
Derek Foreman df658a6d15 ecore_drm2: Remove dead code in blank time get
When I added the fallback block I left an if statement that could
never evaluate to true.  Remove it.
2017-07-31 10:57:56 -05:00
Shinwoo Kim a238272f00 eldbus: check message serial before using
Summary:
Whatever the dbus_connection_send_with_reply returns, the serial value
should be checked, because if the seral value is invalid a process could be aborted.

There is backtrace as below.

The dbus_connection_send_with_reply could return TRUE
even though it has a problem. Please refer to following comment:

   /* Refuse to send fds on a connection that cannot handle
      them. Unfortunately we cannot return a proper error here, so
      the best we can do is return TRUE but leave *pending_return
      as NULL. */

Test Plan:
There is not a exact reproduce step. If the Tizen login manager is relaunched
repeatedly, then the dbus and other service processes are relaunched.
If a service process tries to use dbus when the dbus has problem as above,
then it could be possilbe to get above backtrace.

Reviewers: raster, zehortigoza

Subscribers: cedric, jpeg

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

@fix
2017-07-31 15:53:58 +09:00
Jiyoun Park ca625aa323 efl_ui_win: add EFL_UI_WIN_SOCKET_IMAGE type check
elm_win_socket_listen api only work for EFL_UI_WIN_SOCKET_IMAGE type window.
    So it is better to add type check code.
2017-07-31 15:20:02 +09:00
Carsten Haitzler c5a5302e06 evas - handle devices that on deletion delete other devices on shutdown
this fixes a whole bunch of warnings that just recently turned up...
2017-07-31 15:07:28 +09:00
Carsten Haitzler 968e1dfb37 elocation - fix return of status, address, position to actually ret data
the data was never returned! fix fix fix.

found by PVS studio

@fix
2017-07-31 12:18:00 +09:00
Carsten Haitzler d371ece4a9 ecore x - convert to using unsed instead of dummy state,ents after ret
found by PVS studio
2017-07-31 12:12:40 +09:00
Carsten Haitzler b1e9d46bcc elm code - handle alloc failure for line split
this culd optentially use large offsets before accessing the ptr thus
it may not segv inthe first page but actually work if positionoffsets
are large enouh, so handle this case explicitly.

@fix

found by PVS studio
2017-07-31 12:01:41 +09:00
Carsten Haitzler d639063b50 elm code - handle alloc failure for line split
this culd optentially use large offsets before accessing the ptr thus
it may not segv inthe first page but actually work if positionoffsets
are large enouh, so handle this case explicitly.

@fix

found by PVS studio
2017-07-31 12:00:45 +09:00
Carsten Haitzler 6e82f90807 evas mem - remove redundenty unused evas mem absraction
was never used as was not practical to do so so it effectively does
nothing so remove it to reduce analyser warnings

found by PVS studio
2017-07-31 11:53:59 +09:00
Carsten Haitzler 0efb70e317 elm theme - remove redundent check
found by PVS studio
2017-07-31 11:38:42 +09:00
Carsten Haitzler 26e93caec7 evas textblock - remove redundant check
found by PVS studio
2017-07-31 11:34:41 +09:00
Carsten Haitzler 6ac4ea2080 evas cache2 - remove excess file and key checks - only check file
no need for key as no key is handled and no file is handled too. cleaner
code.

found by PVS studio
2017-07-31 10:58:04 +09:00
Carsten Haitzler 2d4d836018 elm gesture layer - use fabs not abs when actually comparing floats
2 abs uses should have been fabs as they compe a src float with
anot her float.

found by PVS studio

@fix
2017-07-31 10:41:39 +09:00
Carsten Haitzler 573d0cf586 eina debug - set length after freeing/iterating over the keys
found by PVS studio
2017-07-31 10:03:59 +09:00
Carsten Haitzler ae79052376 elm calendar - fix gmtime call to use an actual value
e85c92662b added this bug. before it was
always set to 259200 (first sunday after epoch).

found by PVS studio
2017-07-31 10:00:00 +09:00
Carsten Haitzler 2c1e2db876 ecore_drm2 - fix startup if edid blob is null.. assume all 0's
this causes a crash when no edid is available. survive and dont crash.
this causes e wayland to not work at all on my baytrail laptop.

@fix
2017-07-30 23:27:56 +09:00
Carsten Haitzler 3de08599bf eldbus lower error print levesl from ER to WRN in get all props
this is generally unnecessary noise as the majority of the time i see
this it's because the message was canceled by the caller... thats not
an error though then... it's intended. less debug noise to sift through.
2017-07-30 23:04:35 +09:00
Carsten Haitzler 2b91a48d72 ector software - fix min/max int range for fixedpoint math
min value bitshifts are negative and thus not portable. just tax max
(as its 1 more than min it if we do -max) as the limit as its within
range. this should fix it

@fix

found by PVS studio
2017-07-29 13:49:33 +09:00
Carsten Haitzler 29eebb44fc evas render - remove obj null check in proxy clip as obj not null
obj is never null. so this check is pointless. not a bug though.

found by PVS studio
2017-07-29 12:26:49 +09:00
Carsten Haitzler 3c27869c93 evas object textblock - fix append if cur node is null
then it will appeand totally as it should be. small buglet found. fixed

found by PVS studio

@fix
2017-07-29 12:20:12 +09:00
Carsten Haitzler 7620d5d957 ecore-x - remove useless extra assignments of value to itself
usless code that does nothing - not a bug though

found by PVS studio
2017-07-29 11:22:54 +09:00
Carsten Haitzler 7abf4715f2 efl ui text - remove useless else + free
string is null so no need to free. not a bug but cleaner and analysers
dont like it.

found by PVS studio
2017-07-29 11:11:21 +09:00
Carsten Haitzler fe781b284c edje entry - remove extra else and free as sdtring is null there
string is null so no need to free. not a bug but cleaner and analysers
dont like it.

found by PVS studio
2017-07-29 11:08:46 +09:00
Carsten Haitzler cfe4f19f54 eina simple xml parser - remove pointless memcmp of 0 bytes
no point - all we are doing is having a final fallback of any tag that
starts with ! that isnt a special one like !DOCTYPE, !-- comment and
![CDATA stuff... analysers dont like these pointless calls.

found by PVS studio
2017-07-29 11:03:01 +09:00
Carsten Haitzler 8b6e72bfad els box - remove rudundant double check
not a bug but checking something twice in a row isn't too useful

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler 20333c7905 elm code - remove unneded extra check from copy and pasta it seems
extra check already done in if above - no need. looks like copy &
paste of the checks from above thus why it's there, but not needed.
not a bug, byt analysers dont like it so remove

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler 08a69d2284 eeze_disk - remove redundant if check already done
removes redundant fi check. not a bug but analysers dont like it and
it is redundant

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler ff26991220 efl net - fix ipv6 getsockname to use the proper struct to do it
struct sockaddr_storage *addr;

AS the actual storage ( a ptr to store the whole data). kind of...
wrong. it should be:

      struct sockaddr_storage addr;

see examples of this kind of usage of getsockname:

http://www.masterraghu.com/subjects/np/introduction/unix_network_programming_v1.3/ch04lev1sec10.html

found by PVS studio

@fix
2017-07-29 10:56:47 +09:00
Carsten Haitzler d532f28284 eeze disk - remove uneeded extra check for test var
test for non null already done above, so test must obviously be null
here so no need to check. analysers dont like this but it's not a bug.
make them happy thought

found by PVS studio
2017-07-29 10:37:51 +09:00
Carsten Haitzler d6785cfeb6 eina debug - if calloc for session struct failed - return NULL
makes analysers happy but really doesnt change anything - moves the
abort/crash/exit somewhere else.

found by PVS studio
2017-07-29 10:37:44 +09:00
Carsten Haitzler 9c507faf2a elm list - remove harmless extra null set to keep analysers happy
this was totally harmless and not an actual bug but it keeps analysers
happy.

found by PVS studio
2017-07-29 09:42:43 +09:00
Carsten Haitzler e85694f33b elm dayselector - remove double set of content var
this looks like a leftover from legacy to eo porting. it was harmless
but analysis hates it

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 5a1f8fdf41 elm code - remove double set of textlen
analysis doesnt like it, but not a bug

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 1670ee2766 edje edit - remove pointless setting attr_mount to 0
static analysers dont like it bug not a bug at all

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 302731e1af evas events - remove set of list to null then back to value - confusing
eina_list_free always returns NULL. it's meant as a design pattern to
follow like the append/prepend that ensures a freed list is NULL, but
it can be confusing to analysers so remove the assing. not a bug
actually.

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler b944fc7c9b eina evlog debugging - when freeing debug buf with mmap 0 size after
munmap would not munmap the memory with  a size of 0... so zero the
size after the munmap.

found by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler e9ab26ae53 evas obj smart - remove pointless if
s is already checked for null... so no need to check again

found by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler e9123a5a58 edje edit - when adding size class set max width and height to -1
since we're not using size class yet.. we hvent had to debug this...
but it is a bug.

fond by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler 16abe895c6 efl net ssl constructor - remove double set of same var
all struct vars are set... one 2x. not a bug but pointless code in the
src

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 51cc2e0ec6 ephysics - fix stacking comparsion correctly if 1 smaller than 1
this fixes a pretty trivial comparison issue..

found by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler fec726e7e5 evas legacy event mask - cast to unit64_t before bitshift
this fixes a bit wraparound in the shift as the 1 is an int (32bit)
type that then gets shifted .. then after that cast to 64bit.

found by PVS studio

@fix
2017-07-29 09:08:31 +09:00
Carsten Haitzler 091146fa34 eina inarray accessor - use right type in parameter
this actually wasn't a bug that would cause a crash. cloning an array
access would fail as the magic check would find its an accessor not an
array. indeed a bug... but we never used this anywhere i can find.

this was cast to the correct func ptr callabck in the accessor struct
as the clone method though.. thus everyhting was happy with it
seemingly.

found by PVS studio

@fix
2017-07-29 08:55:27 +09:00
Derek Foreman 33439865de elput: Fix synthetic relative motion events based on abs events
libinput won't actually give us this info, and logs an error instead.
We can't synthesize based on pointer position due to pointer
warping.

So we must track abs reports and use previous abs reports to
synthesize rel events.
2017-07-28 16:48:38 -05:00
Derek Foreman 0584fc81a2 ecore_drm2: Add a fallback method for vblank waiting
We can't depend on vblank waits being implemented by the driver, but we
can count on page flips functioning, so add a fallback that does a page
flip and waits for it.
2017-07-28 15:35:03 -05:00