summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* elm fileselector: fix events that must be using Efl.Model objectsdevs/vitorsousa/fix_fileselectorVitor Sousa2016-08-265-96/+195
| | | | | | | | | | | 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. Fix T4337
* elm fileselector: fix possible premature deletion of Listing_Request structVitor Sousa2016-08-261-6/+26
| | | | | | | | | | | | | | 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.
* efreet: mime types database can be emptyJean Guyomarc'h2016-08-261-1/+1
| | | | | | | When the mime types database is empty, the file will be exactly 28 bytes. Fixes T4426
* elementary: better error handling of fileselectorJean Guyomarc'h2016-08-261-8/+18
|
* elementary: prevent double freeJean Guyomarc'h2016-08-261-11/+1
| | | | | | | | | | | | | | | | | | | | 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.
* elementary: make sure we don't iterate out of boundsJean Guyomarc'h2016-08-261-0/+1
| | | | | | 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.
* eina: overhaul Mac OS X semaphoresJean Guyomarc'h2016-08-261-21/+13
| | | | | | | | | | | | | | | | | | | 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
* eo: speedup efl_isa by 50%.Cedric BAIL2016-08-262-1/+18
| | | | | 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.
* eo: general speedup of all Eo related operation.Cedric BAIL2016-08-262-1/+22
| | | | | | 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%.
* eo: remove useless duplicated check.Cedric BAIL2016-08-261-42/+28
|
* Efl Object: remove legacy callback calls from event_callback_callVitor Sousa2016-08-26131-827/+860
| | | | | | | | | | | | | 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.
* ecore_cocoa: fix fullscreen for older osx versionsJean Guyomarc'h2016-08-261-0/+12
| | | | | | Tested on 10.11 and 10.9. Fixes T4395
* ecore_cocoa: refactor resizing requestJean Guyomarc'h2016-08-262-15/+24
|
* ecore_cocoa: fix memory leakJean Guyomarc'h2016-08-261-0/+1
|
* Elementary: Genlist Tree Test - Add an item with the indent style to match ↵Stephen okra Houston2016-08-261-1/+13
| | | | tree style.
* Elementary Theme: Add "indent" genlist item style. This style allows non ↵Stephen okra Houston2016-08-261-0/+45
| | | | tree items to match tree items.
* efreet: add doc note about stringshare reliability for efreet_mime_type_get()Mike Blumenkrantz2016-08-261-0/+1
|
* elm: Show code widget width marker after the columnAndy Williams2016-08-261-1/+1
| | | | Provide a clearer indication of what width is available
* docs: add an option to disable title plugin usageDaniel Kolesa2016-08-262-4/+10
|
* docs: let the writer handle title headingsDaniel Kolesa2016-08-262-39/+29
|
* docs: generate proper title for all pagesDaniel Kolesa2016-08-261-9/+9
|
* docs: add writer support for pagetitle pluginDaniel Kolesa2016-08-261-1/+5
|
* elm: Fix some ERR messages following previous patchJean-Philippe Andre2016-08-263-4/+9
| | | | | | | | | 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).
* evas3d examples: Add EFL_EO_API_SUPPORT where neededJean-Philippe Andre2016-08-263-0/+3
| | | | | | 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.
* evas events: Add efl_isa safety checks in legacy EAPIJean-Philippe Andre2016-08-262-59/+31
| | | | | | 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.
* efl: Rename Efl.Event.XX to Efl.Input.XXJean-Philippe Andre2016-08-2638-689/+684
| | | | | | | | | | | | | | | | | 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.
* evas: Add normalized and window coordinates to axis eventsJean-Philippe Andre2016-08-266-12/+101
| | | | | | | | | | | | | | | | | | | | | | | 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
* evas: Simplify internal evas_object_event_callback_callJean-Philippe Andre2016-08-266-148/+188
| | | | | This removes the distinction between legacy and new eo style event info, since all those types have now been ported to eo.
* ecore xi2: Discard "axis" inputs from standard miceJean-Philippe Andre2016-08-261-8/+22
| | | | | | | | | | | | | | | 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).
* evas events: Switch axis events to the new eo typeJean-Philippe Andre2016-08-267-26/+194
| | | | | | | 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).
* evas events: Rename properties and introduce generic valueJean-Philippe Andre2016-08-267-110/+351
| | | | | This paves the way to a merge of pointer and axis events into the class Efl.Event.Pointer.
* evas: Optimize out most callback call eventsJean-Philippe Andre2016-08-263-9/+26
| | | | | | | | | | | | | This sets a bit whenever a callback listener is added. I couldn't get any profiling data easily (too small for valgrind). Note: This removes the proper refcounting on the "move" event listeners. I believe this is not a problem as most times the move_ref goes to 0, it is because the object is deleted. Worst case, we just trigger a callback_call with no listeners. This adds 32 bits to each evas object private data.
* evas: Move event catcher to evas_callbacks.cJean-Philippe Andre2016-08-263-63/+69
| | | | No functional change.
* evas: Remove deprecated events from public EO classJean-Philippe Andre2016-08-262-4/+8
| | | | | del and free eo events don't need to be exposed, even as beta API. They are still required for legacy callbacks.
* elm,evas: Remove use of EFL_CANVAS_OBJECT_EVENT_DELJean-Philippe Andre2016-08-263-6/+6
| | | | | | | | This event should not be exposed at all, it's not necessary anymore, EFL_EVENT_DEL already exists and should be good enough. This does move the callback call a little bit ealier in the del process, but at first glance, this shouldn't have any impact.
* evas events: Add new "finger,move/down/up" events for multi touchJean-Philippe Andre2016-08-263-20/+76
| | | | | | | | | | | | | | This moves MULTI events to those new finger event types, and also sends a finger event for finger 0 (aka the pointer). NOTE: This may require a separation between a mouse input and an actual finger touch. To be defined, ie: do we let the app check the input device info to decide whether the event is actually the first finger of a multi touch device, or do we want to send only actual finger events from multi touch devices only? @feature
* evas events: Simplify event counterJean-Philippe Andre2016-08-266-83/+41
| | | | | | | | | Simplify code: _evas_object_event_new() event_id = _evas_event_counter Into: event_id = _evas_object_event_new()
* evas events: Remove now unused codeJean-Philippe Andre2016-08-263-421/+0
|
* evas events: Fix crash when translating legacy eventsJean-Philippe Andre2016-08-261-12/+40
| | | | | An obvious crash happened when reusing a legacy struct from another type.
* evas events: Switch mouse move events to the new typeJean-Philippe Andre2016-08-261-303/+193
| | | | | | This is the last commit for this crazy input transformation series. The following commits will be cleaning up now unused code, and fixing bugs.
* evas events: Switch multi move to new event typeJean-Philippe Andre2016-08-261-171/+120
| | | | Now only the single move remains. Almost done!
* evas events: Switch multi up/down to the new event typeJean-Philippe Andre2016-08-261-207/+205
|
* evas events: Switch mouse in/out events to the new event typeJean-Philippe Andre2016-08-261-128/+127
|
* evas events: Switch mouse move event to the new event type (1)Jean-Philippe Andre2016-08-261-60/+57
| | | | This only modifies the proxy source handling code.
* evas events: Switch mouse up/down to the new event typeJean-Philippe Andre2016-08-262-256/+233
| | | | | | | | This is getting trickier, as those events have a lot more side effects and complexity than a simple wheel event... Some code has been added that should be fixed in the following commits.
* evas events: Switch key up/down event to new eo typeJean-Philippe Andre2016-08-263-131/+85
|
* evas events: Switch hold event to new eo typeJean-Philippe Andre2016-08-264-25/+27
| | | | | Evas_Event_Hold is now barely used anywhere. This also adds support for event_flags to this type.
* evas events: Switch wheel event to the new typeJean-Philippe Andre2016-08-267-68/+121
| | | | | | | For now this covers only the wheel event. Note: This patch also modifies evas map to use double in an internal function, rather than ints.
* eina: readdir_r has been deprecated.Cedric BAIL2016-08-251-21/+4
| | | | | | | | | | | So glibc has decided that readdir_r is hard to use safely and deprecated it this summer. They recommand to use readdir, which was in the past unsafe to use in a multi thread scenario, but is now on most system (and all system we care, including our own implementation in evil). It is basically safe as long the same DIRP is not accessed from another thread. This is true in our code base, so we are fine to go with this. For further reading: https://lwn.net/Articles/696474/
* evas-gl_cocoa: migrate to gl_generic infrastructureJean Guyomarc'h2016-08-255-1332/+400
| | | | | | | | | | | | It has been a long journey, but here we are at last... The infamous gl_cocoa engine has been migrated to the gl_generic infrastructure. This should provide great improvements and hopefully reduce side-channels b0rkage. Fonts seems better, scrolling is smoother, expedite does not segfault anymore... I haven't found a regression with elementary_test, elementary_config, terminology, expedite.