Commit Graph

11176 Commits

Author SHA1 Message Date
Guilherme Iscaro be609118c6 Ecore_Evas: Add support for per-seat focus. 2016-11-28 13:57:55 -02:00
Guilherme Iscaro 6b95c4c2ec Ecore Wl2 Input: Canvas focus IN/OUT events should contain the seat.
This provides the information about which seat originated the event.
2016-11-28 13:57:55 -02:00
Guilherme Iscaro c5f14a61e3 Evas: Add per seat Evas focus state. 2016-11-28 13:57:55 -02:00
Chris Michael e0b61a35c5 ecore-drm2: Add API function to return screen dpi
This patch adds a new API function which will be called from
Ecore_Evas to return the screen dpi

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-28 10:09:41 -05:00
Stefan Schmidt e2d087aba2 docs: efl_input: add property doc for newly added item 2016-11-28 14:26:01 +01:00
Woochan Lee 61f7865f95 elm_multibuttonentry: Using current w,h value for item size calc when box resized.
Summary:
Support in case that If the expand mode is set to false
and the item is added using the item_append API.

Checking focus, entry visible is not needed to change mode in shrink when box resized.

If the view type is shrink when the MBE is in focus and the box is resized, it should be in shrink mode.

Test Plan:
elementary_test
MBE sample

Reviewers: woohyun, Hermet

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4429
2016-11-28 21:33:43 +09:00
Jean-Philippe Andre 8a21384759 win: Move main menu back to win.edc (fix sizing)
As Andy reported, the main menu geometry is not correct after
my recent changes, as the application contents slide underneath
the menu bar. In fact the menu bar is just floating above
everything else.

So I've tried to move the menu to the framespace (as it should
belong to the frame), but the sizing algos for both the window
and the menu make some assumptions that render this task quite
difficult. Eventually I would like to be able to swallow the
menu somewhere else inside the border... but not right now.
2016-11-28 15:52:09 +09:00
Jean-Philippe Andre 51ba193bda win: Remove unused variable 2016-11-28 13:51:44 +09:00
Jean-Philippe Andre f1418dbb20 win: Avoid calling need_frame_adjust all the time
This function was meant to be called only before
finalize. This avoids getenv and string compares.
2016-11-28 10:57:15 +09:00
Andy Williams c5181470c1 eo: safety in string comparison
Avoid potential for Eo to crash if app manages to unset key
@fix
2016-11-28 00:10:30 +00:00
Andy Williams 3febd6a563 elm_code: A better colour for comments 2016-11-28 00:08:43 +00:00
Andy Williams 46882cc2da tooltip: Don't warn when clearing tooltip if none set
This behaviour was already agreed, I just didn't notice the warnings created
2016-11-27 23:15:46 +00:00
Andy Williams f6486473ed elm_code: Slightly smarter indent logic
Continue comment blocks where appropriate...
A bunch of refactoring of text/indent code to expand further
2016-11-27 23:15:46 +00:00
Carsten Haitzler 892f4abe37 efl ui win - stop trying to get data of non-image icons
x11 updates trying to update x properties from image data when icon is
not an image is causing lots of error spam. fix this to check type
first before getting data.
2016-11-27 22:50:03 +09:00
Carsten Haitzler 81242af6f9 ecore animator - timer based ticker - add epoll support if available
the ecore time based animator that ticked away used select for
timeouts to listen to either a timeout OR the control fd that would
tell it to tick or not tick. my profiles show this as consuming 1.03%
of my profile sample time - just  the select call in the time based
animator. this adds the option of epoll + timerfd + having kernel
repeat the timer fd interval (since epoll timeouts at best can do 1ms
resolution). my profiling shows this to use 0.62% of profile time vs
1.03% for select, so it's a tiny win. this only compiles if epoll and
timerfd support have already been detected at compile time. it also
runtime falls back to select if epoll and timerfd setup fail.

@optimize
2016-11-27 17:21:51 +09:00
Carsten Haitzler 6a462f925f evas render - don't do extra if checks or loops if not needed
remove some extra looping and if checkign that is taken care of
already and just is pointless extra checks in the code creating
overhead. tiny amounts, but the amount of meaty speedups lef it
running low, so profiling, reading, working and repeating.

@optimize
2016-11-27 16:58:56 +09:00
Carsten Haitzler bba368cf79 evas render - evas_object_clip_recalc - dont call uselessly
evas_object_clip_recalc was already called ... multiple times in
pending and phase1 on all objects, so there is no value in calling it
again and again in later evbas render phases when it's already been
done.

this and moving this to a real func sees evas_object_clip_recalc usage
in perf drop from 1.8% to 1.4% or so of total perf sample time. tiny
win, but we're at the point where i can't find big meaty wins, so i'm
looking for a string of small wins to add up.

@optimize
2016-11-27 13:05:18 +09:00
Carsten Haitzler d7c6fca6c0 evas render and clip calc - move evas_object_clip_recalc out of inline
evas_object_clip_recalc is big. it's fat. it shouldnt be inline. so
make it a real function. being inline just hurts performance by making
our code bigger, hurting l1 instruction prefetch and cache
performance. this function isn't small. it's huge and should not be
inline basically because of that reason.

also throw in some likely/unlikely hints etc.

@optimize
2016-11-27 12:10:12 +09:00
Carsten Haitzler e3489d5f89 evas_render - store active obj geom in array to be able to filter faster
part of rendering is figuring if obj is inside current geometry.
before we had to actuall poke around inside the object. this moves the
geometry into the active object array so the data is fecthed fast and
already there for filtering as this is the most likely thing to filter
out an object.

unfortunately this seems to have some bugsd and i'm baffled why, so
leave it there and ifdefed out for now for suture hunting.
2016-11-27 12:09:25 +09:00
Carsten Haitzler 4a1dd9e0d9 evas render - remove unsed eo obj handle in pending object smart change
unused eo obj id, so dont have the line of code. - clean up code
2016-11-26 18:33:56 +09:00
Carsten Haitzler f10638cd98 evas render - remove another scope data get when we already have it
we already have the obj protected data so why scope data get it again?
fix and optiomize.

@optimize
2016-11-26 18:33:56 +09:00
Carsten Haitzler 26189dc9a4 evas render - get scope data less in phase 1 where obj data passed
in much of phase1 we already know the evas object protected data ptr,
so dont scope data get it or even pass the eo obj id around as we can
get it from obj->object
2016-11-26 18:33:56 +09:00
Carsten Haitzler a4aac60a67 evas render - remove excess scope data get when we already have the ptr
_evas_render_is_relevant() needs the obj protected data, so it gets
scrop data, but the only place it is called already has this pointer,
so avoid an extra lookup.

@optimize
2016-11-26 18:33:56 +09:00
Carsten Haitzler 69cb85aaca evas render - cache object arrays rto avoid processing them in phase1
evas render in phase1 in order to generate update rects, active,
render etc. object arrays has to walk every object in our tree. this
is a waste of time if we already have walked objects in a previous
frame if they havent changed, so cache this data in render cache in
smart objects to avoid re-walking and now just dumbly "memcpy" these
cached arrays into the master array. i have seen cpu usage by e drop
like about 15% in the sencarios i'm looking at "enlightenment
compositor with some window updating animation all the time, but most
other stuff being static).

@optimize
2016-11-26 18:33:56 +09:00
Carsten Haitzler 1bba6d5759 evas phase 1 process - shortcut objects that are pure static clips only
these objects don't actually produce - or should produce update
regions etc. etc. as the objects that are clipped should produce those.
they are not active objects. so skip them very early after just
ensuring they are in delete objects if needed.
2016-11-26 18:33:56 +09:00
Carsten Haitzler ad985e73f3 eo base class - clean up some formatting around callback add/del code
just formatting changes really.
2016-11-26 18:33:56 +09:00
Gustavo Sverzut Barbieri 48049a4ce2 efl_net_server_unix: add leading_directories_create property.
This allows us to crete any parent directories that are missing.
2016-11-25 18:01:29 -02:00
Gustavo Sverzut Barbieri 167ff29ea0 efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.

Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.

As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 17:27:32 -02:00
Gustavo Sverzut Barbieri 46341b329d efl_io_buffered_stream: wraps an I/O object and make it easy to use.
Since all other efl.io objects are low-level, the recommended approach
is to use an efl.io.copier. However when dealing with in-memory,
bi-directional comms like talking to a socket, we always end with 2
queues, 2 copiers and the annoying setup that is being replicated in
ecore_ipc, efl_debug and so on.

This class is the base to make it simpler. Other classes such as
Efl.Net.Socket.Simple, Efl.Net.Dialer.Simple and Efl.Net.Server.Simple
will use it to provide simpler code to users.

I guess we can call EFL+EO Java now?
2016-11-25 17:27:32 -02:00
Gustavo Sverzut Barbieri 16be61c7e1 efl_io_copier_flush: add may_block and ignore_line_delimiter parameters.
The may_block parameter is useful to force a flush without blocking on
read/write, sometimes particularly useful if ignore_line_delimiter is
true, then you get the data events without blocking -- as if a server
sending some content misses a trailing line delimiter, you do not want
to block on recv() but still want to flush data to user.

The ignore_line_delimiter parameter is useful if we're going to close
the copier and want to flush pending data which may exist due missing
trailing terminator. The close method will also force that if
destination can take more data.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri d9dafab785 efl_io_copier: expose 'done' property.
This property has a protected setter and will simplify both internal
implementation as well as usage.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri 410d65900c efl_net_server: add 'client_announce', share logic and fix a bug.
I just realized that if a client is not referenced it would leak in
the 'ssl' server as we must del it.

However, if we del the SSL socket, we're going to close the underlying
TCP. But we're from the TCP "client,add" callback and this causes
issues since "closed" will be emitted, our close callback will
unparent the client, which lead to it being deleted.

The proper solution is to only monitor "closed" if the client is
accepted. Otherwise we just check if it was closed, if we're the
parent, etc...

Fixing this in all servers were painful, we could share since most
inherit from Efl.Net.Server.Fd. Then add the "client_announce"
protected method to do it, and document how it should work.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri c534d79124 efl_net_socket_fd: stop monitoring fd on EOS.
There was a bug that if the remote peer closed the connection, it
would trigger 'read' event, which would read 0 bytes, flagging as
EOS... but then marking as "can_read", which was wrong.

Just stop monitoring the events and fix that.
2016-11-25 17:25:18 -02:00
Gustavo Sverzut Barbieri a9d9936a08 eina_slice: fix eina_slice_endswith() for same-sized slices. 2016-11-25 17:25:18 -02:00
Vitalii Vorobiov 1a9a3e701d Edje_Edit: use specific function to get file's name correctly on Win and Linux
Because '\' is dir path for linux, but '/' is dir path for Window,
so better use specific function for getting file's name depending on specific
system
2016-11-25 15:00:49 +02:00
Hermet Park 7171dd09c6 elementary flip: skip unnecessary sizing.
Sizing in the constructor is wrong.
It's just a waste of function call.
2016-11-25 20:18:28 +09:00
Guilherme Iscaro 6572ad9e02 Efl.Canvas.Object: Remove focus,in/out events.
Since this object already inherist Efl.Input.Interface there's no need
to have those events reimplemented.
2016-11-24 19:18:47 -02:00
Guilherme Iscaro b77f0086f5 Efl.Canvas: Use Efl.Input.Focus as event info for object,focus.in/out. 2016-11-24 19:18:47 -02:00
Guilherme Iscaro fd6f6c14c1 Evas: Use events to set canvas focus in/out. 2016-11-24 19:18:47 -02:00
Guilherme Iscaro ded24d80ed Evas: Use events to flag canvas focus in/out. 2016-11-24 19:18:47 -02:00
Guilherme Iscaro ed9c635152 Evas: Add Focus event type. 2016-11-24 19:18:47 -02:00
Gustavo Sverzut Barbieri d0b7d876a7 efl_io_queue: add discard method, useful in real life.
While using efl_io_queue + slice_get I found that we need to discard
data and the only way was to read to an actual buffer, kinda annoying.

Then introduce a discard method to do that.
2016-11-24 18:55:43 -02:00
Jean Guyomarc'h 2a75a47b19 efl_ui_win: fix build with no support for X 2016-11-24 20:24:19 +01:00
Gustavo Sverzut Barbieri 4b28d5a989 docs: enhance efl_io_copier.
This is the core component of our new I/O subsystem, heavily used by
efl.net and the likes. Then make sure the documentation is good :-)
2016-11-24 15:22:45 -02:00
Stefan Schmidt d859d693be docs: efl_io_copier: fill gaps in eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt 3f0f1b68f0 docs: efl_pack_grid: fill gaps in eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt 0d930b3c7d docs: elm: fill gaps in separator, view_form and view_list eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt a7b2b6fdc0 docs: elm: fill gaps in button, color, combobox and conformant eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt f9272570c5 docs: elm: fill gaps in config, efl_ui_win and actionslider eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt 98e50b0751 docs: elm: fill gaps in diskselector, entry and gesture_layer eo file documentation 2016-11-24 15:33:10 +01:00
Stefan Schmidt f8494aafd4 docs: elm: fill gaps in segment_control and slideshow eo file documentation 2016-11-24 15:33:09 +01:00
Stefan Schmidt 6fc80f75c7 docs: elm: fill gaps in panel, photocam and progressbar eo file documentation 2016-11-24 15:33:09 +01:00
Stefan Schmidt c52bd50eba docs: elm: fill gaps in hover, hoversel and notify eo file documentation 2016-11-24 15:33:09 +01:00
Stefan Schmidt 58a3fea061 docs: elm: fill gaps in systray, table, thumb and web eo file documentation 2016-11-24 15:33:09 +01:00
Shinwoo Kim 6536837c59 elementary: [atspi] using utf-8 text not markup text 2016-11-24 21:35:10 +09:00
Stefan Schmidt c322b65aa0 docs: elm: fill gaps in prefs, radio, route, slider and spinner eo file docs 2016-11-24 11:50:22 +01:00
Stefan Schmidt 724e80dd13 docs: elm_multibottonentry: fill gaps in eo file documentation 2016-11-24 11:48:52 +01:00
Stefan Schmidt 144ba2480e docs: elm: fill gaps in glview, pan, panes, photo and plug eo file documentation 2016-11-24 11:46:51 +01:00
Stefan Schmidt e27a728079 docs: elm: fill gaps in box, grid, icon, inwin and label eo file documentation 2016-11-24 11:44:04 +01:00
Stefan Schmidt c59ef441cf docs: elm_mapbuf: fill gaps in elm_mapbuf eo file docuemntation 2016-11-24 11:41:05 +01:00
Jean-Philippe Andre 61c8d7f46e win: Disable CSD shadow if alpha and borderless
If the content has alpha, we can't ensure that the square shadow
will look good. So, hide it.
2016-11-24 17:49:17 +09:00
Jean-Philippe Andre 246023d1b3 win: Fix (hack around) E internal windows in Wayland
My previous patches have broken E Wayland internal windows, as
the compositor wants to create Server-Side Decorations[1] but
based on some mysterious heuristics, E will decide to show or
not SSD. It seems the surface geometry, window geometry,
input region and maybe opaque region need to all match. There
was a pixel difference in the theme which broke everything,
also CSD shadows must be turned off in that case.

This also fixes inputs as for some reason a mismatching input
region vs window geometry would break pointer move/up/down in
those internal windows.

[1] I believe this is not a great idea and E should never draw
    any server-side decorations in Wayland. Wayland was supposed
    to mean only CSD, no more SSD.
2016-11-24 17:05:27 +09:00
Hermet Park 4584fe5721 efl path: add missing value intializing.
It might be broken at some particular vector drawing.
2016-11-24 15:58:37 +09:00
Gustavo Sverzut Barbieri c2cb5defe3 efl_net_dialer_http: use efl_loop_fd now that it's fixed.
now that efl_loop_fd manages callbacks -> Ecore_Fd_Handler properly,
we can remove the old code.
2016-11-24 02:13:32 -02:00
Gustavo Sverzut Barbieri 49399b385b efl_io_std{in,out,err}: do not spin on fd monitoring events.
as soon as we report 'can_read' or 'can_write', stop monitoring the
events until the user executes the operation, which will clear these
flags and we resume monitoring.
2016-11-24 02:11:56 -02:00
Gustavo Sverzut Barbieri 7edc1ef49d efl_net_socket_fd: fix copy & paste too much. 2016-11-24 02:11:56 -02:00
Artem Popov 7372b1d156 Edje: add checking on NULL 3-rd parameter in edje_object_part_external_param_type_get()
@fix

Summary: add checking on NULL 3-rd parameter (param) before strcmp to avoid segfault

Reviewers: cedric, jpeg, NikaWhite, myoungwoon, Hermet

Reviewed By: Hermet

Subscribers: Hermet, t.naumenko

Differential Revision: https://phab.enlightenment.org/D4424
2016-11-24 12:13:36 +09:00
Hosang Kim 791bdcb7b2 scroller: add key action move option.
Summary:
when scroller page is enabled and key is pressed,
scroller will move in page by page.

Test Plan: elementary_test -> scroller

Reviewers: woohyun, cedric, jaehwan, raster, Hermet

Subscribers: akanad, jpeg

Differential Revision: https://phab.enlightenment.org/D4425
2016-11-24 12:10:45 +09:00
Cedric Bail 6b165089a6 eo: make it possible to disable batch allocation for callbacks. 2016-11-23 18:50:19 -08:00
Cedric Bail f4527c7283 eo: when there is no more callbacks, let's clean up. 2016-11-23 18:50:19 -08:00
Cedric Bail b5fedfad7e ecore: use mempool for legacy idler allocation. 2016-11-23 18:50:19 -08:00
Gustavo Sverzut Barbieri 35cdde67d2 efl_net_socket_fd: do not spin on fd monitoring.
If we let the user know he can read or write, stop monitoring
otherwise fd handler will constanly report of data to read/write until
its actually done, which would clear the kernel flag.

Since we use "can_read" and "can_write" for that, toggle the callback
connection that manages the actual Ecore_Fd_Handler monitor.
2016-11-24 00:45:55 -02:00
Gustavo Sverzut Barbieri 92a3361deb efl_net_server_fd: do not spin if clients can be accepted.
If we have incoming clients but we do not want to drop or handle then,
stop monitoring the fd's read, otherwise we constantly spin the main
loop.
2016-11-24 00:42:54 -02:00
Gustavo Sverzut Barbieri 906bf6abf0 efl_loop_fd: more efficiently manage the Ecore_Fd_Handler.
instead of always delete and recreate it, modify if it already exists
and only delete if it's not needed anymore.

This results in epoll_ctl() to modify an existing handle, instead of
add one.
2016-11-24 00:30:02 -02:00
Gustavo Sverzut Barbieri 0a8fd379db efl_loop_fd: reduce number of _efl_loop_fd_reset()
When we're adding callbacks in an array, we may reduce 3 epoll_ctl()
to a single one.
2016-11-24 00:21:54 -02:00
Gustavo Sverzut Barbieri f1b94bdf7b efl_loop_fd: fix comparison that was breaking callback deletion.
Either we "--var" or we compare with "> 1" instead of "> 0", otherwise
callback_del will keep the flags set.
2016-11-24 00:17:59 -02:00
Gustavo Sverzut Barbieri 9805f4ec36 ecore_ipc: isolate legacy within ifdefs.
Compile out the legacy code when running on platforms that support
Efl.Net.Dialer.Unix and Efl.Net.Server.Unix.
2016-11-23 22:35:48 -02:00
Gustavo Sverzut Barbieri 400f3932d9 ecore_ipc: fix user after free in error handling.
Fixes Coverity 1366274.
2016-11-23 22:15:25 -02:00
Gustavo Sverzut Barbieri 6f3220ffc6 ecore_ipc: convert ecore_ipc_server_add() to Efl_Net_Server.
Each client (Ecore_Ipc_Client) is very similar to the handle
configured by ecore_ipc_server_connect() (the dialer), except we do
not have events such as "connected" and "error", as well as we don't
delete the socket as it's owned by the server, instead we close it.

The UNIX socket is configured similarly to ecore_con, setting the same
masks and mode for directories.
2016-11-23 19:45:33 -02:00
Gustavo Sverzut Barbieri d0b6aa6596 efl_net_server_unix: do bind() from serve() method.
Instead of adding a job to create the socket and call bind(), do it
straight from the serve() method, this allows the caller to set
umask(), permissions and so on.

Document this behavior in the class, since we can't extend the
method's documentation.
2016-11-23 18:38:24 -02:00
Gustavo Sverzut Barbieri fc76abccd6 ecore_ipc: free(address) on dialer error. 2016-11-23 18:22:21 -02:00
Gustavo Sverzut Barbieri 768e6498b1 ecore_ipc: dialers should use max_buf_size = -1.
nothing appears to break, but let's use the same value as legacy.
2016-11-23 17:38:18 -02:00
Gustavo Sverzut Barbieri 3131a966c9 ecore_ipc: rename 'server' to 'legacy_server'.
Since the plan is to introduce a server based on efl_net_server, first
rename the existing handle with 'legacy_' prefix.
2016-11-23 17:09:18 -02:00
Gustavo Sverzut Barbieri 4b771d3e1b ecore_file_download: callback completion_cb with status=1.
When download is aborted we must call completion_cb using status == 1,
this was checked in the test suite.
2016-11-23 16:23:58 -02:00
Gustavo Sverzut Barbieri e34b07e6e2 ecore_ipc: implement ecore_con_server_connect() using Efl.Net.Dialer.
Use the new Efl.Net.Dialer classes to implement
ecore_con_server_connect() scenario.

Note that since Windows still doesn't provide any equivalent to
Efl.Net.Dialer.Unix, we keep the legacy code for it.
2016-11-23 12:57:10 -02:00
Gustavo Sverzut Barbieri 715c882073 ecore_ipc: check if client is still alive efore emitting 'del' event.
Using the ecore_ipc_server_example with -m/--single-message, if we
deleted the client from the callback it would find a dead "cl".

As the "cl" handle is removed from svr->clients before it's deleted,
it's safe to check if we have that handle in the list before
proceeding.
2016-11-23 12:57:10 -02:00
Gustavo Sverzut Barbieri 2f91934502 ecore_con: export function to create local path string.
The new efl_net code won't compose any path own its own, allowing the
user to connect to non-EFL systems.

However we need a way to use the same path Ecore_Con_Server does, so
we can reach it. Then export and use ecore_con_local_path_new() to do
exactly that.
2016-11-23 12:57:10 -02:00
Gustavo Sverzut Barbieri 44d95dd408 efl_io_copier: do not emit data events if no data is available. 2016-11-23 12:57:10 -02:00
Gustavo Sverzut Barbieri 5c961bba9b efl_io_copier: add flush method.
This method will force a read-write cycle and returns if it's fully
done or not. It may be used to force data to be written before a
handle is deleted (when one can't wait for the data to be written
asynchronously).
2016-11-23 12:57:10 -02:00
Jean-Philippe Andre aaaf77965a win: Add quick hack to restore mouse inputs in E Wayland
E Wayland internal windows are a special beast. Somehow all their
events are intercepted by a special input_obj... but never get
propagated back to the elm_win.

Major side-effect: you get 2 window decorations. I believe there is
some dark magic inside E that tries to figure out when to show
a decoration and this conflicts with CSD.

But hey, it's late so I want to "fix" this and figure out the details
later.
2016-11-23 23:53:50 +09:00
Jean-Philippe Andre 72694331b4 win: Fix event forwarder ad//del
On event listener del we were adding one more forward
callback. Copy & pasta error, obviously.
2016-11-23 23:48:53 +09:00
Jean-Philippe Andre ea7bbfe47d win: Factorize code for move_resize
Oops, I probably went a bit overboard with this ~_~
2016-11-23 23:48:53 +09:00
Jean-Philippe Andre 3ad4e0bdfc eo: Fix leak during shutdown() 2016-11-23 23:48:53 +09:00
Jean-Philippe Andre 69a684cf04 evas: Fix a few issues after init/shutdown/init
elm_suite would crash when CK_FORK=no is set, because evas was
badly initializing or shutting down. Note that elm_suite still
crashes with CK_FORK=no but valgrind doesn't complain.
2016-11-23 23:48:53 +09:00
Vyacheslav Reutskiy dc18e71903 ecore_file: get stat from correct file 2016-11-23 16:20:06 +02:00
Vyacheslav Reutskiy 5e25b8037c ecore_file: use win api for delete folder
The RemoveDirectory on Windows guarantee that given folder will be
delete.
2016-11-23 16:20:03 +02:00
Vyacheslav Reutskiy 56c202614b eina_file_win32: close handler in case of error
Func _eina_file_win32_first_file try to find the first file in directory
but if any file not found the file handler stay open, and func will
return error. But in this case while handle is open impossible to do
any actions. For example call eina_file_ls for empty folder, func will
return error and fold folder open. And if we try to remove this folder
Windows only mark it to delete, and remove it after the process is
complete.

Solution: close handler in error case.
2016-11-23 16:19:55 +02:00
Vyacheslav Reutskiy 164ece9e3f ecore_file: update docs for ecore_file_rmdir 2016-11-23 16:19:48 +02:00
Stefan Schmidt 6e86415b13 docs: edje: fill last gaps in edje eo file documentation 2016-11-23 14:16:24 +01:00
Stefan Schmidt 9b0bc5e029 docs: ecore_con: fill last gaps ion ecore_con eo file documentation 2016-11-23 14:16:24 +01:00
Stefan Schmidt bb155657f4 docs: evas: fill last gaps in evas eo file documentation 2016-11-23 14:16:24 +01:00
Stefan Schmidt 34385d1393 docs: elm_scroller: fill gaps in elm_scroller eo file documentation 2016-11-23 14:16:23 +01:00
Stefan Schmidt d172e16e3d docs: elm_player: fill gaps in elm_player eo file documentation 2016-11-23 14:16:23 +01:00
Marcel Hollerbach 70b24abff7 eo: inc the special count
if there is a event the callback counter should be incremented not
decremented. This should fix a few crashes i found in edje, since edje
did not knew that a element was deletion.
2016-11-23 13:42:27 +01:00
Stefan Schmidt ca56059af4 docs: elm_index: fill gaps in elm_index eo file documentation 2016-11-23 11:46:01 +01:00
Stefan Schmidt 23c9d74a8c docs: elm_toolbar: fill gaps in elm_toolbar eo file documentation 2016-11-23 11:43:39 +01:00
Stefan Schmidt d98db09fe9 docs: elm_widget: fill all gaps in elm_widget eo file documentation
This one was huge compared to the other areas. This needs a lot more love to
get on a good level docs wise.
2016-11-23 11:36:28 +01:00
Hermet Park e0da83ce56 efl interface: introduce efl_gfx_path mixin.
As we discussed, redesigned efl_gfx_shape mixin.
Split path properties/methods from the shape so that other classes benefit from the path.
2016-11-23 17:36:57 +09:00
Jean-Philippe Andre 4da634c26f elm: Mark icon as non-atspi
This fixes elm_suite
2016-11-23 14:02:01 +09:00
Jean-Philippe Andre 8c8cb0d34f elm: Safely delete ecore poller in elm_config_shutdown
This prevents some errors after elm_init / elm_shutdown / elm_init
2016-11-23 13:53:51 +09:00
Jean-Philippe Andre 10e2b4417c win: Simplify elm_win_util_dialog_add
This now uses a similar code path as standard windows. Shouldn't
there be an EO class for dialogs, too?
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 0fc049a321 win: Move modal blocker to border group
Legacy themes are still supported with a fallback code.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 60308d7421 win: Code simplification 2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 29e7d477b1 win: Simplify modal legacy API and add test case
This fixes the modality of windows shown after setting
the flag.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 0de72b44c1 win: Fix support for legacy themes (elm_bg)
For standard windows, we want to create an elm_bg object if
the theme is a legacy one. Otherwise the default theme
doesn't require an extra object, just a rectangle.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 8c505e3191 win: Remove menu from EDC group (fixes compatibility)
This fixes compatibility with legacy themes (ie. every single
theme in existence beyond the default one, for now), by checking
where to swallow the menu widget. If a legacy theme is used,
the legacy swallow should be used, and it will all look correct.

Moving forward I hope to get rid of the internal edje object
entirely, except for compatibility reasons.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre fc4c07e735 win: Add frame to inline and socket windows
This simplifies the cases by adding a border edje on all
windows except fake (damn fake windows). Shadows and borders
are always disabled on such windows (but we could easily change
that in the future).
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 6bcaa8a0b9 elm: Add Efl.Ui.Box.Stack for stack boxes (EO only)
This is a very simple implementation for EO of the stack mode
of boxes, as implemented in evas_object_box_layout_stack.

@feature
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 3df7b717c9 evas/box: Add support for align with stacked boxes
@feature
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 5f6673f623 win: Implement unresizable mode (fixed size windows)
This sends a signal to the CSD frame to hide the bottom
bar and disable the resize borders.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre c31a70a4f5 win: Add content_set API for window main content
The idea is to not have resize object in a stack anymore,
but a couple of swallows in the frame and if the stack of
resize objects is wanted, then the user can still explicitely
create it.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre aac8f6f114 evas: Add function on object to check is pointer is in
This fixes invalid mouse cursor used when windows are
created.

Due to the changes in the border theme and the fact that
a border is now always created, the event region
"elm.resize.bl" contains the point (0,0) when the window
size itself is 1x1. As a consequence every EFL application
would permanently have a cursor like the resize bottom/left
handle.

This fixes that by properly checking whether the pointer is
inside an object based on the ins list, and not just the
object geometry.

@feature

See also: b735386a45
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 234bc18f02 win: Always add a frame object
All windows, except for fake, inline & socket images,
should have a frame object to handle all the new APIs and
slots (background, content, indicator, etc...).

The theme will need to handle various modes:
 - full CSD
 - solid CSD without shadows
 - server-side decoration (borderless without shadows)
 - borderless with shadows

This means that the default theme must be used for windows,
so that the required edc parts exist. Apart from the standard
background, it is very unlikely that a theme will have changed
anything in win.edc, conformant.edc or border.edc.

This might prove a controversial move, but the alternative would
be to have increasingly complex code handling new themes with
a single edje object and older themes by swallowing tons of
components magically.

Eventually, the win edje object should also not be used anymore.

By default, windows should not have CSD enabled, except on Wayland.
This patch does not handle frame_obj with server-side decorations
yet.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 0e52264ae0 win: Add background part to the win border
Use Efl.Part for window to manipulate the background.

Two part names are used in EDC:
 - elm.rect.background
 - elm.swallow.background

For apps the part name is only "background".

To set a solid color background (alpha is ok):
 efl_gfx_color_set(efl_part(win, "background"), r, g, b, a);

To set an image:
 efl_file_set(efl_part(win, "background"), "image.jpg", NULL);

To set an object:
 efl_content_set(efl_part(win, "background"), subobj);

The solid bg is invisible by default, will become visible and use
COPY render mode if a color is set. Standard window uses the
swallow part.

@feature
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre cb172de3da win: Move main menu to the border edje group
The main menu can now be contained inside the CSD border
rather than inside the win edje group.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre b2dbf9d9dd win: Fix maximized geometry with CSD in X
There is still a geometry issue after un-maximizing.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 2147d5cb33 win: Handle move & resize with CSD on X
This is for client-side decorations on Xorg.

Mouse-based move and resize of the window now work fine, but
there are still a few glitches:

1- GL resize is awful (nothing much we can do)

2- Move/resize requests trigger a focus out event,
   this in turn changes the style of the window from focussed to
   unfocussed. This is thus different from what we see in Wayland
   (no focus state change at all) and in usual X11 (focus changes,
   but the frame keeps its focussed style).

   To counteract this effect, we prevent the frame from changing
   style on focus,out if we know we are moving or resizing. But
   we don't know that if the compositor moves/resizes (eg. with
   Alt key); The focus event happens too early, before the move
   or resize events. At least in E.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 2b50d56bba win: Set proper cursor for resize borders (CSD in X)
They look horrible in E (X), why is the cursor theme not applied?
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 4722b685cf ecore_evas/x: Inform WM about borders and shadows
This exploits the existing X Atom "GTK_FRAME_EXTENTS"
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 63fcd3d831 win: Make X windows border when using CSD mode 2016-11-23 13:04:12 +09:00
Jean-Philippe Andre c91360fcbd win: Apply alpha for CSD mode, even in X 2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 79b0737b6c win: Factorize code to select frame mode
This also adds an env var for debug to force the frame on or off.
2016-11-23 13:04:12 +09:00
Gustavo Sverzut Barbieri e6939ebc90 ecore_ipc: refactor client data processing in its own function.
When we move to efl_net we'll reuse the same function to process
incoming data, thus refactor the code in their own function so it can
be reused.
2016-11-23 00:01:14 -02:00
Gustavo Sverzut Barbieri 520b57e974 ecore_ipc: refactor server data processing in its own function.
When we move to efl_net we'll reuse the same function to process
incoming data, thus refactor the code in their own function so it can
be reused.
2016-11-22 23:55:57 -02:00
Gustavo Sverzut Barbieri 89c326cd00 ecore_ipc: refactor code related to event posting.
When we move to efl_net we'll reuse the same event posting, thus
refactor the code in their own function so it can be reused.
2016-11-22 23:20:40 -02:00
Gustavo Sverzut Barbieri 915034b9e0 ecore_ipc: fix copy & paste error. 2016-11-22 23:20:22 -02:00
Gustavo Sverzut Barbieri 53f1c1ca6e ecore_ipc: delete if 'delete_me' was set.
The flag 'delete_me' is set when there are pending events to be
dispatched. Once these events are freed, they will check if the server
was pending delete and call ecore_ipc_server_del() again, thus we must
not return, otherwise data will be leaked.
2016-11-22 19:53:06 -02:00
Gustavo Sverzut Barbieri 54ca7db20b ecore_ipc: remove unused headers. 2016-11-22 19:50:11 -02:00
Gustavo Sverzut Barbieri 302cf36722 ecore_ipc: log domain can be static, it's not shared with other files. 2016-11-22 19:50:11 -02:00
Cedric BAIL 1b5e8fe3a2 ecore_file: restore past behavior and fix ecore_file_download tests. 2016-11-22 11:57:40 -08:00
Stefan Schmidt 843bee8c77 docs: elm_menu: fill gaps in elm_menu eo file documentation 2016-11-22 16:42:13 +01:00
Stefan Schmidt 79b65a90aa docs: elm_colorselector: fill gaps in elm_colorselector eo file documentation 2016-11-22 16:42:13 +01:00
Stefan Schmidt 4f13e49d2a elm_config: set default year for minimal to 1970
This aligns with the docs we have and also makes sense when taking UNIX time
in consideration.

Fixes T4617
2016-11-22 16:30:30 +01:00
Gustavo Sverzut Barbieri fa8630a9b1 elm: convert downloads to efl_net_dialer_http.
Remove Elm_Url and use efl_net_dialer_http with an efl_io_copier to
fetch stuff.

The code was also slightly improved, particularly in elm_photocam
destruction be explicit and clear the grid before deleting... this
will ensure any pending preload are stopped before we remove the
backing memory.
2016-11-22 13:24:16 -02:00
Gustavo Sverzut Barbieri 6062109707 efl_net: proper format for SOCKET.
SOCKET is defined as uintptr_t (uint_ptr as called on Windows) and
thus will vary its size based on 32 or 64 bits.

Then we should format with PRIuPTR from inttypes.h, which is supported
since VisualStudio 2013
https://blogs.msdn.microsoft.com/vcblog/2013/07/19/c99-library-support-in-visual-studio-2013/
2016-11-22 11:03:57 -02:00
Carsten Haitzler 7bdcb0b8ca evas render - clean up phase 1 process to be more funcs and faster
this refactors _evas_render_phase1_object_process() into a bunch of
sub functions with leaner code, some LIKELY/UNLIKELY hints etc. etc.
in the hope that we have better l1 instruction cache use when
executing. this actually measureably helps and drops the overhead of
this func ANd all its sub functions from (in my tests in enlightenment
compositing while a video plays) from about 13.2% of all cpu usage by
e to 10%. that's about a 25% drop in cost for passing through phase 1
of evas render... and thats a good thing.

and it also makes the code nicer and more broken up.

@optimize
2016-11-22 21:07:29 +09:00
Carsten Haitzler c844d9ae3d evas render - clean up phase1 process calls a bit to pass less in
we are passing the same things into every phase 1 process func - the
same ptrs to the same arrays of objects... why eat up valuable
registers with this? collect into context struct and just pass a ptr
to that. this also makes the code easier to read and maintain too so
bonus all over. also a tiny win in performance but i'd say its "within
error margins" (go from 11.48% to 11.42% overhead).
2016-11-22 20:01:25 +09:00
Carsten Haitzler 6d92850527 evas image prepare - add disabled code to test image prepare rendering
this tests rendering of images with border scaling if they are small
(smaller than 256x256) to reduce geometry. part of testing a cpu
reduction effort in gl engine by pre-rendering primitive objects to
buffers.
2016-11-22 20:01:25 +09:00
Stefan Schmidt 4e259e4d08 docs: elm_sys_notify: fill gaps in elm_sys_notify eo file documentation 2016-11-22 10:41:04 +01:00
Stefan Schmidt ea5308a126 docs: elm_dayselector: fill gaps in elm_dayslector eo file documentation 2016-11-22 10:41:04 +01:00
Stefan Schmidt 1a1aea4ab2 docs: efl_ui_win: fill gaps in efl_ui_win eo file documentation 2016-11-22 10:41:04 +01:00
Stefan Schmidt 13aac40a4b docs: elm_naviframe: fill gaps in elm_naviframe eo file documentation 2016-11-22 10:41:04 +01:00
Jaehwan Kim 88f5ac22c1 edje_edit: fix segmentation fault(Array index is out of bound)
@fix
2016-11-22 17:17:54 +09:00
Jean-Philippe Andre 4f3c8bc433 win: Adjust documentation & test for a new API
This amends bfea8c8fca to use better EO syntax in the
doc, as well as fix warnings in the test case. This also changes
move to be 1 rather than 0.
2016-11-22 15:37:33 +09:00
Wonki Kim 88e1fc9613 evas: Add shutdown logic on thread creation failure
Summary:
In case of thread creation failure, shutdown logic will be stuck.
To prevent stuck, set exit variables to make thread_shutdown working
even if init fails.

Also modify init logics to return init result to a caller.

Reviewers: jypark, woohyun, cedric, jpeg

Subscribers: cedric

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

Note (@jpeg):
I have modified the patch just a little bit.

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2016-11-22 14:50:38 +09:00
Jean-Philippe Andre 8b9fe4adda glview: Add data updates when marking the image as dirty
The previous behaviour was not correct, so fix it. This will
not change anything as evas image has a legacy behaviour
fallback.
2016-11-22 14:32:37 +09:00
Jean-Philippe Andre 55e88423ce evas: Redraw dirty images without updates
The proper way to use the pixel_get callback and dirty flag
is to also specify which exact region has been updated
with data_update_add.

Unfortunately many apps and even GLView are relying on
invalid behaviour that forced full redraw of the image
even though data_update_add was never called.

This amends c1a080f5e4

There is no dirty flag equivalent in EO as there is no
pixel_get callback defined (yet). One problem is that the GL
API is not defined, and may prove hard to define for bindings...
2016-11-22 14:32:37 +09:00
Jee-Yong Um 0f97d45dac fix doxygen warnings
Summary:
fix warnings while generating documents
- end of file while inside a group (eina_util.h)
- missing title after \defgroup
- ignoring title "Ecore_Con_Lib_Group" that does not match old title

Reviewers: Hermet

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4420
2016-11-22 11:47:04 +09:00
Youngbok Shin 281fd9231c elementary entry: fix to call "cursor,changed" callback when only cursor is changed
Summary:
"cursor,changed" smart callback should be called when only the main cusor's
position is changed. But, It was called when elm_layout_sizing_eval() is called
for elm_entry.

@fix

Test Plan: N/A

Reviewers: raster, cedric, woohyun, herdsman

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4419
2016-11-22 11:05:23 +09:00
Cedric Bail f511c64269 eo: refactor callback delayed cleaning code. 2016-11-21 16:03:27 -08:00
Gustavo Sverzut Barbieri 02d352e1f2 ecore_file_download: use new efl_net_dialer_http.
Greatly reduce code complexity while providing better support, at
least according to @netstar efl_net_dialer_http works better than
traditional ecore_con_url on BSD.
2016-11-21 19:47:35 -02:00
Gustavo Sverzut Barbieri 010b14bc37 ecore_x_vsync: not using Ecore_Con.h anymore. 2016-11-21 19:47:35 -02:00
Stefan Schmidt be46aa6ca5 docs: elm_popup: fill gaps in elm_popup eo file documentation 2016-11-21 21:42:50 +01:00
Stefan Schmidt 7c263fa46d docs: elm_ctxpopup: fill gaps in elm_ctxpopup eo file documentation 2016-11-21 21:42:50 +01:00
Stefan Schmidt 22eb105499 docs: elm_layout: fill gaps in elm_labl eo file documentation 2016-11-21 21:42:50 +01:00
Stefan Schmidt f7d8f0ccb3 docs: elm_flip: fill gaps in elm_flip eo file documentation 2016-11-21 13:57:51 +01:00
Stefan Schmidt 15c562a1b4 docs: elm_map: fill gaps in elm_map eo file documentation 2016-11-21 13:57:51 +01:00
Stefan Schmidt 85e7f8f816 docs: elm_atspi: fill gaps in elm_atspi eo file documentation 2016-11-21 13:57:50 +01:00
Stefan Schmidt 7b599fb5a3 docs: elm_list: fill gaps in elm_list eo file documentation 2016-11-21 13:57:50 +01:00
Stefan Schmidt ba0d73cd77 docs: elm_fileselector: fill gaps in fileselector eo file documentation 2016-11-21 13:57:50 +01:00
Ji-Youn Park bfea8c8fca efl_ui_win: add function client can start moving or resizing the window.
The result of this API can only guarantee that the request has been forwared to the server,
    In fact, there is no guarantee that the request can be processed by the server.

    In order to use this API correctly, avoid the following conditions.
    (The following situations will return a failure)

    1. Calling a function in the absence of a touch(mouse) down event.
    2. Calling the function twice more than once before the touch(mouse) up event.
    3. Calling the function when the elm win already resizing or moving the window.
    4. Calling the function using a combination of unsupported modes.

    Right usage
    1. touch(mouse) down event
    2. efl_ui_win_move_resize_start only once using the supported mode combination.
    3. touch(mouse) up event

    If a touch(mouse) up event occurs after calling the function, it automatically ends the window move and resize operation.

    Since there are some non-exclusive modes, you can use a combination of modes.(ELM_WIN_MOVE_RESIZE_MOVE is exclusive with others)
    However, Some combination of mode is limited for technical reasons.
    At present, only the following nine combinations are allowed.
    For more information, see the Elm.Win.Move_Resize_Mode.

    1. EFL_UI_WIN_MOVE_RESIZE_MOVE
    2. EFL_UI_WIN_MOVE_RESIZE_TOP
    3. EFL_UI_WIN_MOVE_RESIZE_BOTTOM
    4. EFL_UI_WIN_MOVE_RESIZE_LEFT
    5. EFL_UI_WIN_MOVE_RESIZE_RIGHT
    6. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT
    7. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT
    8. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT
    9. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT
2016-11-21 20:21:15 +08:30
Marcel Hollerbach c34e4b6312 eina_iterator: add new api to have a filtered iterator
Summary:
the new iterator represents the order from the elements of the original
iterator, elements where the filter callback return false will be
skipped.

The container of this iterator is the original iterator.

Test Plan: Just run `make check` there is a testcase

Reviewers: cedric, jpeg, raster, herdsman

Differential Revision: https://phab.enlightenment.org/D4417
2016-11-21 12:13:02 +01:00
Hermet Park 36862e13ec evas canvas: remove a complation warning - unused variable. 2016-11-21 19:40:32 +09:00
Daniel Zaoui 381d93f1e2 efl_ui_image: fix removal of the internal evas image
During the replacement of the image with the new preloaded one,
the previous image is deleted but not removed from the list of
children of the icon (efl_ui_image), leading to Eo errors when
walking over the icon children.

@fix
2016-11-21 12:24:16 +02:00
Carsten Haitzler 3857b1cde0 evas prepare - disable prepare for image objects for now
it has been working fine for me for days... but manmower reported a
seg in T4906. so disable for now until we know more. this SHOULDNT be
happening...
2016-11-19 11:02:31 +09:00
Gustavo Sverzut Barbieri db4d4f8c87 efl_net_{control,session}: allow "none" backend.
Since connman is specific to linux, on other platforms just compile a
dummy "none" backend that will always report online and no other
details. This will be used in Windows, MacOS and other platforms that
still lack a proper backend.

The compile-time infrastructure also allows for networkmanager to be
added with ease, simply copy "efl_net*-none.c" or "efl_net*-connman.c"
to be a starting point and then add its specifics, adapting
configure.ac and Makefile_Ecore_Con.am
2016-11-18 18:20:25 -02:00
Cedric BAIL e317099426 elm/calendar: fix legacy API use. 2016-11-18 10:56:47 -08:00
Gustavo Sverzut Barbieri 3f2881a458 efl_net: SOCKET_FMT is "long" on windows.
at least it seems so, let's see if warnings are gone.
2016-11-18 15:16:32 -02:00
Chidambar Zinnoury 2bd5259d6c ecore fb: Add the following sixteen known keys to the list. 2016-11-18 17:51:16 +01:00
Chidambar Zinnoury 4c35f0ab02 ecore fb: Use the “Compose” name for the 0x7f key. 2016-11-18 17:51:16 +01:00
Chris Michael 2da9ce5921 evas: Cleanup unused variables when compiling for Neon
Compiling on rpi3 indicated that there are some unused variables in
the neon codepaths for several evas op functions. This patch just adds
EINA_UNUSED to the function parameters where needed.

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-18 11:30:29 -05:00
Chris Michael 31c7303425 evas: Remove unused variables
Compiling on rpi3 using neon indicates that 'alpha' and 'tmp'
variables are unused. Reading through the source confirms it, so
remove them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-18 11:30:29 -05:00
Gustavo Sverzut Barbieri d6584673ea ecore_con (legacy) fix close()->closesocket() and valid fd check.
use the windows version and it will also work on UNIX due macros.
2016-11-18 14:21:21 -02:00
Gustavo Sverzut Barbieri dc3da201fd efl_net: remove warnings related to unused parameters.
if these options are not available, then cast "o" to void so it
doesn't trigger a warning, for example on Windows.
2016-11-18 14:21:21 -02:00
Gustavo Sverzut Barbieri c0f84d190f efl_net: fix missing SOCKET_FMT. 2016-11-18 14:21:21 -02:00
Mike Blumenkrantz 06db737a23 elm_cursor: restore compat with previous theme api
adding new theme groups/parts is fine, but compat must be maintained for
released theme api: anything which is namespaced

ref 1422e61e62
2016-11-18 11:05:27 -05:00
Mike Blumenkrantz 7d720f5ede elm_cursor: use cursor owner object when applying theme
the eventarea is not guaranteed to be an elm object, and the docs clearly
state that the owner object is used for theming

@fix
2016-11-18 11:05:27 -05:00
Derek Foreman aa3479570d ecore_drm2: Add a panic mode to drm2_fb_release
Previously we'd call this only when we absolutely needed to, so it made
sense to always attempt to free a buffer, including ones on scanout or
pending flip.

However, it's useful to have a way to release the "next" only, so we can
do that before starting a render to free up the buffer that's never going
to be scanned out.
2016-11-18 09:41:52 -06:00
Stefan Schmidt f77a602a09 ecore_con: fix time to live value name and type
The time to live hop limit should not be named loopback and have a type that
can actuall hold the number of hops. It already was always uint8 in the code.
Just fix the eo file.
2016-11-18 16:20:55 +01:00
Gustavo Sverzut Barbieri 371a3332ef efl_net: remove getsockopt()/setsockopt() warning on windows.
windows is nasty and defines the value to be set or retrieved as
'char *', which triggers a warning when we use another kind of
pointer.

Partially addresses D4357.
2016-11-18 12:53:32 -02:00
Gustavo Sverzut Barbieri 8d24622f57 efl_net: remove send()/recv() warning on windows.
windows is nasty and defines the payload to be sent or received as
'char *', which triggers a warning when we use another kind of
pointer.

Partially addresses D4357.
2016-11-18 12:53:32 -02:00
Gustavo Sverzut Barbieri c3ddc8f09e efl_net: do not use sockaddr_un on Windows.
struct sockaddr_un doesn't exist on windows, so do not use it.

Partially addresses D4357.
2016-11-18 12:53:32 -02:00
Gustavo Sverzut Barbieri b322a3ae53 efl_net: define EAI_SYSTEM when it's not defined (ie: Windows).
its value is unimportant, just do not match any other EAI error value.

Partially fixes D4357.
2016-11-18 12:53:32 -02:00
Gustavo Sverzut Barbieri 090940c3ae efl_net: windows do not define AI_ADDRCONFIG.
do as for other missing bitwise flags and simply define to 0, reducing
need to ifdefs in the code.

This partially addresses D4357.
2016-11-18 12:53:32 -02:00
Gustavo Sverzut Barbieri 5818dc71da efl_net: use SOCKET_FMT to format SOCKET so it works on UNIX and Windows.
On Windows SOCKET is unsigned, thus will cause sign errors when
formatting with "%d" or comparing with signed values.

On UNIX it was quiet and easy to miss, thus a new #define can be used
to check for those. It will use 'unsigned long' as SOCKET, thus will
complain out loud and not even work correctly when using pointers on
64bits UNIX on mistakes -- which should improve the situation.

This helped to fix lots of missing conversions, all fixed.

This partially addresses D4357.
2016-11-18 12:53:32 -02:00
Stefan Schmidt 9d796a4d1b docs: genlist: fill gaps in genlist eo file documentation 2016-11-18 12:53:26 +01:00
Stefan Schmidt 89166e3837 docs: gengrid: fill gaps in gengrid eo file documentation 2016-11-18 12:53:26 +01:00
Stefan Schmidt 246c6dc447 docs: efl_ui_text: fill gaps in efl ui text eo file documentation 2016-11-18 12:53:26 +01:00
Stefan Schmidt 78aa2dc625 docs: elm_entry: fill gaps in elm entry eo file documentation 2016-11-18 12:53:25 +01:00
Tom Hacohen 79d76fb25e Eo gdb: add a way to resolve Eo ids from GDB without a running process
Normally when debugging Eo with gdb you can just use any of the internal
eo functions to resolve the id to its internal pointer. However, when
loading a coredump you can't execute any code, not even the id resolve
code.

This change adds a gdb function that resolves the id to its pointer form
without executing any code in the process space. This plugin is
essentially the id resolve code written in python as a gdb function.

Usage:
 Print the pointer:
 (gdb) print $eo_resolve(obj)
 $1 = (_Eo_Object *) 0x5555559bbe70

 Use it directly (e.g. to print the class name):
 (gdb) $eo_resolve(obj)->klass->desc.name

This plugin requires that the coredump would be loaded with the exact
same libeo.so binary (or at least one that hasn't changed eo internals),
and that the debug symbols for libeo.so would be available for gdb to
use.

Note:
This feature is incomplete and only resolves IDs that are owned by the
main thread and in the main domain. This is not a big issue at the
moment, because almost all of our IDs are like that.

@feature
2016-11-18 11:48:07 +00:00