Commit Graph

51652 Commits

Author SHA1 Message Date
Guilherme Iscaro c1518043e3 Ecore Evas VNC: Properly shutdown server during cleanup.
Summary:
The function rfbScreenCleanup() does not close the open sockets,
a call to rfbShutdownServer() must be done to properly close them.

Reviewers: cedric, bdilly

Reviewed By: bdilly

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4459
2016-12-13 14:51:19 -02:00
Vitalii Vorobiov df9128c3e3 edje_pick: fix memory leak while on group dependency build
@fix
2016-12-13 14:17:39 +02:00
Shilpa Singh 3d452bdc60 elc_naviframe: Delete naviframe items in LIFO manner on widget deletion.
Summary:
Naviframe manages items in the form of a stack, but deletion is happening
in FIFO manner, the deletion of items on widget deletion should also happen
in LIFO manner.

Use Case: Application allocates memory on first push and passes down the same
handle for all subsequent pushes, now on deletion as first item is deleted first
crash happens when the memory is accessed in second item on its deletion.
hence Naviframe should also delete items in LIFO manner.

@feature

Test Plan:
elementary_test->naviframe->push multiple pages
Now terminate the app, the items should be deleted in LIFO
manner.

Reviewers: Hermet, Jaehyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, govi, rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D4483
2016-12-13 20:56:18 +09:00
Jean-Philippe Andre bcfc33fd00 elm_test: Add a test case for gfx filters
This adds a test window for the efl_gfx_filter (also known as
evas filters). The builtin examples are not incredibly pretty
but they showcase some of the most basic features. They also
show that some of the filters need to be improved.

Note that the code contains a lot of FIXME due to the incompleteness
of our EO API. Also, Efl.Ui.Text still has quite a few issues (sizing,
lack of a working change event, ...) so the UI doesn't even look as
designed (a label is missing). Hopefully this should get fixed over
time.

Oh and this is mostly using EO APIs but that's a terrible idea as
evas_object_text is not going to be exposed in EO land... except
it's the only object implementing filter support (with image).
2016-12-13 16:12:27 +09:00
Jean-Philippe Andre a6b5765c3d spinner: Fix mouse wheel events
Fix invalid cast of event_info
2016-12-13 16:12:27 +09:00
Jean-Philippe Andre bcb251e6ab evas: Make evas object loop users
This makes efl_loop_get() work on evas objects, returning the
main loop as expected. Also make the loop a property of the
Loop_User class (shouldn't it be called Efl.Loop.User instead?)
2016-12-13 16:12:27 +09:00
Jean-Philippe Andre fdcd926960 evas: Fix stacked box align
I added a way to respect the object's alignment when adding them
to a stacked box, but that alignment should only be used when the
box align is set to fill, otherwise both aligns would conflict.

See 3df7b717c9
2016-12-13 16:12:27 +09:00
Daniel Zaoui 946aa945b3 Fix compilation warning due to redeclared variable 2016-12-13 07:48:11 +02:00
Bruno Dilly 5361cc9e4c Merge branch 'devs/iscaro/memory'
This series reduce the memory footprint caused by
_evas_object_pointer_data_get() previous implementation.

Patches by Guilherme Iscaro <iscaro@profusion.mobi>

Reviewed By: bdilly, cedric, jpeg, raster

Differential Revision: https://phab.enlightenment.org/D4474
2016-12-13 03:28:50 -02:00
Guilherme Iscaro f153d4ce0f Efl.Canvas.Object: Remove the extra parementer at _evas_object_pointer_data_get()
The Evas_Pointer_Data struct already contains a Efl.Input.Device pointer.
2016-12-13 03:28:31 -02:00
Guilherme Iscaro b42a0ba5d2 Efl.Canvas.Object: Reduce memory used to store Evas_Object_Pointer_Data.
The hash implementation demonstrated that too much memory was being used
to store the Evas_Object_Pointer_Data. In order to reduce the memory usage
this patches now changes the Evas_Object_Pointer_Data storage to an Eina_Inlist and
now Massif profiles shows that the memory usage was drastically reduced.
2016-12-13 03:28:31 -02:00
Awadhesh Singh f5a2602189 evas: fix memory leak in software generic in error case.
Summary:
pixels_tmp  memory need to be free in default case too.

Signed-off-by: Awadhesh Singh <awadhesh1.s@samsung.com>

Reviewers: singh.amitesh, raster, cedric

Reviewed By: cedric

Subscribers: atulfokk, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-12-12 16:35:49 -08:00
Umesh Tanwar 082ea96673 spinner: call changed callback on value set.
Summary:
If user set spinner value other than it's
current value, this is change in value. So changed
callback must be called on value set.

@fix

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>

Reviewers: raster, singh.amitesh, cedric, jpeg

Subscribers: atulfokk, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-12-12 16:34:24 -08:00
Bruno Dilly ddf3558628 Merge branch 'devs/iscaro/event-filter'
Series of patches adding support to filter input and focus
events per seat for any evas object.

So it will make it possible to block or unblock keyboard,
mouse and focus events that was originated by a specific seat.
Requested on RFC regarding multiseaet support on Edje -
such feature will be also supported on Edje later.

Patches by Guilherme Iscaro <iscaro@profusion.mobi>

Reviewed By: bdilly, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4468
2016-12-12 16:04:58 -02:00
Guilherme Iscaro 200ee1869b Evas: Add event filter example.
This example exercises the new seat event filter API.
2016-12-12 14:59:22 -02:00
Guilherme Iscaro 9609dd7e0f Evas: Objects must not be focused with the seat is not allowed to emit events.
Seats that are not allowed to emit events must not be able to focus objects.
2016-12-12 14:59:22 -02:00
Guilherme Iscaro 23278816b6 Efl.Canvas.Object: Override efl_event_callback_[legacy]_call.
In order to properly block events from a given seat, Efl.Canvas.Object must
override the efl_event_callback_[legacy]_call to check if the event
is allowed or not.
2016-12-12 14:59:22 -02:00
Guilherme Iscaro ddfc98359f Evas: Add seat_event_filter_set()/get() API.
With this new API one can block or unblock keyboard, mouse and
focus events that was originated from a seat. This is useful to
create applications that wants to establish some kind of seat segregation.
2016-12-12 14:59:22 -02:00
Stefan Schmidt eef89ceb3a elm: theme: avoid double free in theme version check
If we would have a version below 110 we would run into a double free here.
Just warn and let the freeing happen two lines below.

CID: 1366926
2016-12-12 16:44:02 +01:00
Stefan Schmidt c9e761da54 ethumb: fix resource leak introduced in file path sanitization rework
This extra snaitized path assign path does not make sense and leads to a leak
in the end. We already have sanitized_path and handle that correctly.

Fixes 62a0c41fd3

CID: 1366925
2016-12-12 16:44:02 +01:00
Gustavo Sverzut Barbieri c1b20aa1fb ecore_con_legacy: fix coverity issues (use after free)
for hard failures (highly unlikely), the handle would be deleted and
the next use would crash.

guard against those or reorder when it makes sense.
2016-12-12 13:17:40 -02:00
Gustavo Sverzut Barbieri 4f44287a59 efl_net_ip_address: make coverity happy.
host and port were already checked, but let's quiet CID 1366921
2016-12-12 13:02:55 -02:00
Gustavo Sverzut Barbieri c4ab9882e1 test efl_net_ip_address: also check localhost6.
Fedora and other systems use localhost6 for ::1, then use that in
addition to localhost.
2016-12-12 12:27:45 -02:00
Gustavo Sverzut Barbieri 4812d9eb74 add missing includes for BSD.
Thanks @netstar.
2016-12-12 12:17:11 -02:00
Andy Williams 780da3c878 elm_code: Fix tests for parameter reordering
Apologies for the badness of not running the tests before
2016-12-12 14:01:20 +00:00
Gustavo Sverzut Barbieri 8415626397 test efl_net_ip_address: check if /etc/hosts has '::1 localhost'
it seems that the bot and some users do not have ::1 localhost in
/etc/hosts, check for that and print it out.

be more verbose on resolve errors, showing the results and error code.

also allow more time for resolution, otherwise the local timeout may
expire before getaddrinfo() returns with failures.
2016-12-12 11:22:16 -02:00
Gustavo Sverzut Barbieri 7e648c46df efl_net_ip_address: improve docs.
thanks stefan for reminding me of these :-)
2016-12-12 09:57:36 -02:00
Daniel Hirt 43949062eb Ui text: remove unimplemented imf api 2016-12-12 11:21:01 +02:00
Daniel Hirt 6accf13b34 Canvas text: call "changed" on style_set
Needs to be picked up by widgets e.g. Ui.Text to update the positions of
decorations.
2016-12-12 10:48:28 +02:00
Daniel Hirt dcfbeb6063 Ui text: move tests to test_efl_ui_text.c
Merge this into the file that already tests the label-like behavior.
2016-12-12 10:48:28 +02:00
Daniel Hirt 7abd3f8637 Canvas text: call "changed" on annotation_insert
This was missing from non-item type of annotations.
2016-12-12 10:48:28 +02:00
Daniel Hirt ac59549a79 Ui text interactive: fix passing of wrong object 2016-12-12 10:48:28 +02:00
Daniel Hirt a8cea307dc Ui text: implement non-editable beahvior
Non-editable behavior resembles a label. It doesn't allow changing the
text in any interactive form. The blinking cursor is also hidden.
Selection, however, it allowed.

Among the changes, I added a test which you can run using:
"elementary_test -to "efl ui text label".
2016-12-12 10:48:28 +02:00
Daniel Hirt 4f9ef4989c Ui text: disable selection handler from test 2016-12-12 10:48:28 +02:00
Daniel Hirt b6cf837196 Ui text: fix selection handler behavior 2016-12-12 10:48:28 +02:00
Daniel Hirt c0331b41eb Ui text: implement scrolling with line wrap 2016-12-12 10:48:28 +02:00
Stefan Schmidt fcd131e122 docs: ecore_con: fill gaps in newly added efl_net_ip_address documentation 2016-12-12 09:34:33 +01:00
Stefan Schmidt cd477e0217 docs: ecore_con: document newly added extern struct item 2016-12-12 09:34:33 +01:00
Andy Williams e0299f3510 elm_code: Fix parameter ordering for consistency 2016-12-12 08:29:51 +00:00
Woochan Lee 1e4c44f025 elm_spinner: Spinner internal focus logic fixed to following new focused UI concept.
Summary:
The spinner entry will be activated when user gives a focus to text button in new focused ui concept.

To support this, we have to change internal logic about change text button to entry, entry to text button.

@fix

Test Plan:
elementary_test
spinner sample.

Reviewers: woohyun, Hermet

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4475
2016-12-12 16:51:27 +09:00
Gustavo Sverzut Barbieri 0073e87761 efl_net_dialer_http: fix HEAD requests.
We do not need to keep a "only_head" flag, but we must set
CURLOPT_NOBODY instead of going the "CUSTOMREQUEST" route, otherwise
curl won't follow redirects, etc.
2016-12-12 03:17:35 -02:00
Gustavo Sverzut Barbieri d52daf8dd7 efl_net_dialer_http: fix reference check.
With the last patch to fix delete-from-curl callback it went too much,
considering it was always dead (in the test scenario it was, so it was
"right"), but broke normal cases.
2016-12-12 03:16:07 -02:00
Gustavo Sverzut Barbieri 633ec445b8 efl_net: add Efl.Net.Ip_Address
This is a string parser, serializer and asynchronous resolver.

It's purpose is to convert to and from the strings we use in our
dialers and servers, such as "127.0.0.1:1234" or "[::1]:1234",
properties allow to check the family, port, address bytes (slice) and
even get a struct sockaddr pointer to use with bind()/connect() in
outside code.

It will also offer some utilities present in netinet/in.h in an easy
to use way, after all IN6_IS_ADDR_LOOPBACK() works one way, while
there is no IN_LOOPBACK and comparing with INADDR_LOOPBACK will lead
to errors since it's in network order.

Last but not least, it will do asynchronous resolve of host and port
names using an internal thread and getaddrinfo(). The results are
delivered using a Future with an array of objects.
2016-12-12 02:30:33 -02:00
Gustavo Sverzut Barbieri 96eccc2753 efl_net: move error COULDNT_RESOLVE_HOST to broader scope.
This error is shared by Dialer and Server, will also be used by IP
resolution.
2016-12-12 02:30:33 -02:00
Gustavo Sverzut Barbieri 47ddca0f42 Efl_Future: class name (string) using "." for namespace.
Following recent eolian change, the string must have "." to split
namespace, not "_".
2016-12-12 02:30:33 -02:00
Gustavo Sverzut Barbieri 21759f713a yoda-style inactivity timeout.
s/inactivity_timeout/timeout_inactivity/g so it matches the EFL names
with scope first, like timeout_connect, etc.
2016-12-12 02:30:33 -02:00
Gustavo Sverzut Barbieri e9a72ea8f4 efl_net: spell check s/revogation/revocation/g
Sorry, in pt_BR it's revoGar... so I did misspell :-)
2016-12-12 02:30:33 -02:00
Hosang Kim 12c50e5522 efl_canvas_proxy: fix the parameter of EINA_COW_WRITE
Summary:
EINA_COW_WRITE_BEGIN and EINA_COW_WRITE_END's parameters must be same.
But 'Read' paramter is different. So wrong variable's value is changed.
@fix

Reviewers: woohyun, Hermet, cedric, raster, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D4472
2016-12-12 11:42:01 +09:00
Shinwoo Kim ba03d68117 elementary: naviframe uses widget item for atspi
Application developer could rewrite accessible information of naviframe item.
But view object - VIEW(item) - is not accessible from application side.
So the accessible information should be set to widget item.
2016-12-11 19:38:00 +09:00
Gustavo Sverzut Barbieri f4306d654d ecore_con: Ecore_Con_Server now on top of Efl_Net!
This is a major work and unfortunately couldn't be split into smaller
pieces as old code was highly coupled.

Ecore_Con_Server is now a wrapper around Efl_Net_Dialer_Simple
(ecore_con_server_connect()) and Efl_Net_Server_Simple
(ecore_con_server_add()), doing all that the original version did with
some fixes so ecore_con_ssl_server_upgrade() and
ecore_con_ssl_client_upgrade() are more usable -- see the examples and
-t/--type=tcp+ssl.

I tried to be bug-compatible, with code annotations where things
doesn't make sense. This was based on ecore_con_suite tests and some
manual experimenting with the examples, these can be helpful if you
find regressions (report/assign to me).
2016-12-10 08:44:06 -02:00