AgeCommit message (Collapse)Author
2016-08-30ecore_con: Add missing socket.hJean-Philippe Andre
Reported and patched by @netstar Fixes T4461
2016-08-30win: Fix ERR message with object,focus,inJean-Philippe Andre
enventor exhibits this issue, where the focus target is NULL in some cases. The ERR message was harmless, but it's good to avoid it and be explicit that the object should be non NULL when adding event callbacks.
2016-08-30evas events: Properly signal to clients which values are setJean-Philippe Andre
Since pointer events are all the same thing, users may not know what values are valid for what kind of event. Eventually we want to expose more information, but we also need a way to inform the caller about the validity of the values we get.
2016-08-30evas events: Fix mistake in multi_moveJean-Philippe Andre
I guess (can't test) that multi touch was broken, as the position of the event was set to the position of the pointer on the canvas. Which means all fingers would be in the same spot, no matter what the real input. Copy & paste error.
2016-08-30efl_net_dialer_http: keep fd directly.Gustavo Sverzut Barbieri
provide curl with CURLOPT_OPENSOCKETFUNCTION and keep the fd in our private data. This is required because on _efl_net_dialer_http_efl_io_writer_write() we may have no fdhandler. It happened to me while implementing the WebSocket that uses a bi-directional communication on top of HTTP and the server sent the whole message, CURL reads: recvfrom(7, "...", 16384, 0, NULL, NULL) = 86 recvfrom(7, "", 16384, 0, NULL, NULL) = 0 After the empty (second) recvfrom(), CURL will remove the fdhandler: DBG:ecore_con lib/ecore_con/efl_net_dialer_http.c:482 _efl_net_dialer_http_curlm_socket_manage() dialer=0x4000000040000005 fdhandler=(nil), fd=7, curl_easy=0x5561846ca8d0, flags=0x4 However I should be able to write to this socket, in my case I need to reply to a PING request with a PONG.
2016-08-30efl_net_dialer_http: allow incompatible configurations such as GET + upload.Gustavo Sverzut Barbieri
CURL is smart and when you ask for CURLOPT_HTTPGET, it will automatically configure UPLOAD=false. Likewise, if you ask for UPLOAD=1 it will configure CURLOPT_PUT... However, to do things like WebSocket we need to do a GET request where we need to send data, then UPLOAD=true must be used. Then use both information in order to setup the request method and upload, using CURLOPT_CUSTOMREQUEST to force a given HTTP method.
2016-08-30efl_net_dialer_http: cancel curl multi timer when it's gone.Gustavo Sverzut Barbieri
If we delete the curl multi handle, then we should stop any timer that was scheduled, otherwise it will use a dead or null pointer. also add some debug to help track down when the multi handle is deleted.
2016-08-30efl_net_dialer_http: dispatch headers even if no data.Gustavo Sverzut Barbieri
in some cases we get headers but no data to receive or send, then we must still say headers were done and we're connected.
2016-08-30emile: API break, rename sha1 to hmac_sha1, introduce real sha1.Gustavo Sverzut Barbieri
emile_binbuf_sha1() was actually doing HMAC version using the given key. This doesn't work when all you need is just the SHA1 of the input data. Then rename emile_binbuf_sha1() to emile_binbuf_hmac_sha1() and introduce a new version without key/keylen. This API was marked as BETA and no real users in the codebase, then it shouldn't cause us problems.
2016-08-29ecore-tests: make sure we always get a canonical pathJean Guyomarc'h
There may be extraneous slashes that are contained in the returned generated directories (because they were put there in environment variables). Since we test with string comparison, some tests would fail due to different environment setups.
2016-08-29eina: fix behaviour break of eina_error_msg_get()Jean Guyomarc'h
eina_error_msg_get() must return NULL if an incorrect error is provided. The XSI strerror_r() returns EINVAL when an invalid error is passed to it, so we can end the function here. If we kept on, we would have tested against the 'unknown_prefix' ("Unknown error ") which is implementation defined, and registered a new error when the invalid error message didn't match the 'unknown_prefix'. This new error message would have been returned, which is not what we expected. This case arised on Mac OS X where the 'unkwown prefix' is "Unknown error: " instead of "Unknown error ". It fixes eina test suite on Mac OS X.
2016-08-29elm-tests: don't include Ecore_X.h when not availableJean Guyomarc'h
This fixes a build issue on Mac OS X.
2016-08-29evas: don't redefine PAGE_SIZE if already definedJean Guyomarc'h
On OSX, we include mach.h (via the inlined locks API), which already defines PAGE_SIZE.
2016-08-29elementary: update tooltip documentationJean Guyomarc'h
2016-08-29elm fileselector: fix events that must be using Efl.Model objectsVitor Sousa
Use the new behavior of Efl.Object.event_callback_call to correctly update events to pass Efl.Model objects while still suppling path strings for legacy smart callbacks. Override Elm.Fileselector.event_callback_legacy_call in order to separate the types of any incoming event call that uses Efl.Model.
2016-08-29Edje entry: Pass correct cursor position and text to imf in case of selectionSubodh Kumar
Summary: When selection is there we are passing the whole text and position to imf which sees that next character like matras (eg .Hindi) should be inserted (if pressed) and when matra comes the selected text is gone and only matra remains in the entry. eg: we have text in hindi like मानक, select all and hit matra in keyboard selected text is gone, only matra is there. @fix Test Plan: Tested in Tizen device Reviewers: jihoon, tasn, herdsman, thiepha Subscribers: Hermet, shilpasingh, raster, subodh, jpeg, cedric Differential Revision:
2016-08-29eo callbacks - move to mempools for callback data for more speedCarsten Haitzler (Rasterman)
also help reduce fragmentation. also remove callbacks immediately if callbacks are not being walked at the time (as opposed to just marking them to need deletion then call a clean that if not being walked will walk all cb's when we already know what to remove). @optimize
2016-08-29efl po's - updateCarsten Haitzler (Rasterman)
2016-08-27elm focus: focus_auto_hide should be done with mouse_downWooHyun Jung
Focus highlight can be on the air, when focused object in scroller is moved by mouse down and move. So, mouse up is not proper for executing focus_auto_hide. @fix
2016-08-27fix filselector legacy cb call order and entry set - fix file,chosenCarsten Haitzler (Rasterman)
The visible bug for this issue is that the Elm External Video example is broken: elementary_test -to "ExtVideo" The root cause is that the "file,choose" event of the FileselectorEntry is (wrongly) not listed by the function: evas_object_smart_callbacks_descriptions_get() This evas functions is used in elm_external to forward all the widget events to edje, but it cannot forward the "file,chosen" event because it's not listed. Thus the video test is not working for the lacks of that event. I think the fix should be somewhere in elc_fileselector_entry.c, there are some hacks there for the incriminated signal, but I don't know how to properly fix. as pointed out by dave: DaveMDS added a comment.Fri, Aug 26, 5:19 PM I think the problem is in this function: (elc_fileselector_entry.c) ... this fixes T4337
2016-08-26elm fileselector: fix possible premature deletion of Listing_Request structVitor Sousa
In a case where eina_promise_then is executed immediately (like with some quick and light Efl.Model), the Listing_Request struct will be prematurely freed in the first iteration of the child processing loop, because the item_total counter had not accumulated the right number of items yet. With this commit, we traverse the children accessor first, so we can know the number of items. Also, no longer use the Listing_Request pointer after the loop, once it may have been deallocate already. And put a note about this too.
2016-08-26efreet: mime types database can be emptyJean Guyomarc'h
When the mime types database is empty, the file will be exactly 28 bytes. Fixes T4426
2016-08-26elementary: better error handling of fileselectorJean Guyomarc'h
2016-08-26elementary: prevent double freeJean Guyomarc'h
This one is a bit tricky... When we create the aggregated promise, if one of the properties of the model returns an error, the eina_promise_then() will immediately call the error callback. In this happened for the first item, the total items in the listing request would be 1. Before this commit, we tested for incremented the processed counter and compared it to this total count. If it was greater or equal, we would free the common listing request. But in the case of successive failures, we would set the total counter to 1, then the processed counter to 1 and therefore free. Then increment the total counter to 2, then then processed counter to 2, and free again... which would cause an abort() from the libc or something else nasty. Now we just decrease the total count of items. We avoid the cases and double frees, without leaking.
2016-08-26elementary: make sure we don't iterate out of boundsJean Guyomarc'h
The carray iterator will end iterating only when it finds a NULL object. We must make sure the last element of the array is NULL to avoid out of bounds access.
2016-08-26eina: overhaul Mac OS X semaphoresJean Guyomarc'h
Mac OS X does not support POSIX unnamed semaphores, only named semaphores, which are persistant IPC: when the program exits, and if semaphores where not released, they stay forever... All EFL programs were "leaking" a semaphore, due to how eina_log_monitor manages its resources. Therefore, after building EFL a lot (which run eolian_gen, eolian_cxx, elua, edje_cc, ...) we were not able to create any semaphore... Now, we get rid of these semaphores and use Mac OS X's own semaphores. Code is less cumbersome, and we don't have any disavantage of the named semaphores. Fixes T4423 @fix
2016-08-26eo: speedup efl_isa by 50%.Cedric BAIL
Most of our use case of efl_isa is related to legacy Evas_Object_Image API, that check the isa of the same object again and again. Caching help.
2016-08-26eo: general speedup of all Eo related operation.Cedric BAIL
This change rely on the fact that we do fetch the same object id over and over again. _efl_object_call_resolve got 15% faster, efl_data_scope_get 20%.
2016-08-26eo: remove useless duplicated check.Cedric BAIL
2016-08-26Efl Object: remove legacy callback calls from event_callback_callVitor Sousa
Efl.Object.event_callback_call no longer calls legacy smart callbacks; calling only event callbacks registered with the given event description pointer. Create the method Efl.Object.event_callback_legacy_call to inherit the old behavior from Efl.Object.event_callback_call, calling both Efl.Object events and legacy smart callbacks. Update all other files accordingly in order to still supply legacy callbacks while they are necessary.
2016-08-26ecore_cocoa: fix fullscreen for older osx versionsJean Guyomarc'h
Tested on 10.11 and 10.9. Fixes T4395
2016-08-26ecore_cocoa: refactor resizing requestJean Guyomarc'h
2016-08-26ecore_cocoa: fix memory leakJean Guyomarc'h
2016-08-26Elementary: Genlist Tree Test - Add an item with the indent style to match ↵Stephen okra Houston
tree style.
2016-08-26Elementary Theme: Add "indent" genlist item style. This style allows non ↵Stephen okra Houston
tree items to match tree items.
2016-08-26efreet: add doc note about stringshare reliability for efreet_mime_type_get()Mike Blumenkrantz
2016-08-26elm: Show code widget width marker after the columnAndy Williams
Provide a clearer indication of what width is available
2016-08-26docs: add an option to disable title plugin usageDaniel Kolesa
2016-08-26docs: let the writer handle title headingsDaniel Kolesa
2016-08-26docs: generate proper title for all pagesDaniel Kolesa
2016-08-26docs: add writer support for pagetitle pluginDaniel Kolesa
2016-08-26elm: Fix some ERR messages following previous patchJean-Philippe Andre
This simply avoids calling functions on NULL objects, since the previous patch would ERR out rather than silently ignore the problem. I just add explicit NULL checks before calling the functions, so it's clear the object could be NULL (in the widget).
2016-08-26evas3d examples: Add EFL_EO_API_SUPPORT where neededJean-Philippe Andre
I might have broken this in a previous commit in evas headers, but the thing is that beta does not imply eo api, so both are still required.
2016-08-26evas events: Add efl_isa safety checks in legacy EAPIJean-Philippe Andre
This removes useless magic checks (only check whether the arg is not null) that were not even present in every function. The cost should be similar or lower than an eo function call.
2016-08-26efl: Rename Efl.Event.XX to Efl.Input.XXJean-Philippe Andre
This removes: Efl.Event interface And renames: Efl.Event.Input -> Efl.Input.Event Efl.Event -> Efl.Input.Event (merged) Efl.Event.Pointer -> Efl.Input.Pointer Efl.Event.Key -> Efl.Input.Key Efl.Event.Hold -> Efl.Input.Hold This also moves some interfaces from efl/ to evas/ where they belong better. This allows renaming Eo_Event to Efl_Event.
2016-08-26evas: Add normalized and window coordinates to axis eventsJean-Philippe Andre
This is for Wacom graphics tablets (with a pen). The raw data sent by ecore to evas (and then to apps) is pretty useless as it's not normalized, and apps have no way of knowing the dimensions of the tablet, without themselves opening the device (we don't know nor expose the path to the device). This is for Xi2 only for now, as Wayland support hasn't been done yet. The intent is to deprecate LABEL_X and LABEL_Y. I'm not sure yet if the normalized value is useful or not (it would seem we may not be able to provide this info in Wayland). The new WINDOW_X, WINDOW_Y labels will be used in the new event type (Efl.Event.Pointer). Normalized values are not exposed yet, let's decide if we want them or not first (based on what can be done in Wayland space). @feature
2016-08-26evas: Simplify internal evas_object_event_callback_callJean-Philippe Andre
This removes the distinction between legacy and new eo style event info, since all those types have now been ported to eo.
2016-08-26ecore xi2: Discard "axis" inputs from standard miceJean-Philippe Andre
Mice in X with xi2 send Axis events which are badly defined, and carry basically useless information, as we also receive proper mouse events. Notably, all mice input events are "Rel something" but in fact they are absolute values (even the wheel information is a counter increasing every time you scroll). This should not break any application as such axis events carried only values with label ECORE_AXIS_LABEL_UNKNOWN. This also fixes a leak when n == 0 (no "valuator" found in the list, this used to be unlikely, now happens at every mouse event).
2016-08-26evas events: Switch axis events to the new eo typeJean-Philippe Andre
This converts Evas_Axis or Ecore_Axis info arrays into basic pointer data. Also marks those fields as set. All events need to properly implement the value_has property (mark all bits whenever a value is known).
2016-08-26evas events: Rename properties and introduce generic valueJean-Philippe Andre
This paves the way to a merge of pointer and axis events into the class Efl.Event.Pointer.