summaryrefslogtreecommitdiff
path: root/src/lib (follow)
AgeCommit message (Collapse)Author
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-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-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-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.
2016-08-26evas: Optimize out most callback call eventsJean-Philippe Andre
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.
2016-08-26evas: Move event catcher to evas_callbacks.cJean-Philippe Andre
No functional change.
2016-08-26evas: Remove deprecated events from public EO classJean-Philippe Andre
del and free eo events don't need to be exposed, even as beta API. They are still required for legacy callbacks.
2016-08-26elm,evas: Remove use of EFL_CANVAS_OBJECT_EVENT_DELJean-Philippe Andre
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.
2016-08-26evas events: Add new "finger,move/down/up" events for multi touchJean-Philippe Andre
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
2016-08-26evas events: Simplify event counterJean-Philippe Andre
Simplify code: _evas_object_event_new() event_id = _evas_event_counter Into: event_id = _evas_object_event_new()
2016-08-26evas events: Remove now unused codeJean-Philippe Andre
2016-08-26evas events: Fix crash when translating legacy eventsJean-Philippe Andre
An obvious crash happened when reusing a legacy struct from another type.
2016-08-26evas events: Switch mouse move events to the new typeJean-Philippe Andre
This is the last commit for this crazy input transformation series. The following commits will be cleaning up now unused code, and fixing bugs.
2016-08-26evas events: Switch multi move to new event typeJean-Philippe Andre
Now only the single move remains. Almost done!
2016-08-26evas events: Switch multi up/down to the new event typeJean-Philippe Andre
2016-08-26evas events: Switch mouse in/out events to the new event typeJean-Philippe Andre
2016-08-26evas events: Switch mouse move event to the new event type (1)Jean-Philippe Andre
This only modifies the proxy source handling code.
2016-08-26evas events: Switch mouse up/down to the new event typeJean-Philippe Andre
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.
2016-08-26evas events: Switch key up/down event to new eo typeJean-Philippe Andre
2016-08-26evas events: Switch hold event to new eo typeJean-Philippe Andre
Evas_Event_Hold is now barely used anywhere. This also adds support for event_flags to this type.
2016-08-26evas events: Switch wheel event to the new typeJean-Philippe Andre
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.
2016-08-25eina: readdir_r has been deprecated.Cedric BAIL
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/
2016-08-24evas: Try harder to create the render threadDerek Foreman
It's entirely possible that a system doesn't have a cpu 0, so when we try to pin all our render threads onto processor 0 we may fail. This results in some very connfusing build breakage when edje_cc hangs up because its render thread didn't start. So, if starting the thread with affinity fails, let's try without affinity. (This is trivial to reproduce - just use sysfs to turn off cpu0 after boot.) @fix
2016-08-24efl_net_dialer_http: use the proper error codeGustavo Sverzut Barbieri
CURLcode is for curl_easy, while CURLMcode is for curl_multi. Thanks to clang that spotted it.
2016-08-24efl_net: better handling for SOCK_CLOEXEC.Gustavo Sverzut Barbieri
On systems where SOCK_CLOEXEC is supported, give it to socket() and if accept4() is supported, then use it as well. Otherwise revert to fcntl().
2016-08-24Revert "ecore_con: use F_CLOEXEC instead of SOCK_CLOEXEC"Gustavo Sverzut Barbieri
This reverts commit 99d37838f32ef33b805bcefc7dc0320cfda05a0a. will be fixed in a better way with the following commit.
2016-08-24evas: Fix includes when enabling BETA but not EO APIJean-Philippe Andre
This fixes the build for older versions of E.
2016-08-24ecore_x: Early check image bpp based on depthJean-Philippe Andre
This fixes argb windows transparency in E software compositor. My current problem is that I have no idea what changed, why this is needed now, and how things could actually work before. Fixes T4389 @fix
2016-08-24efreet - convert crash into NULL mimes when no mime db foundCarsten Haitzler (Rasterman)
so ok - efreet crashed letting you know you have a missing mimedb... return NULL instead fixes T4425 :) - rememebr to kill your efreetd's to get a new mimedb - log out and in will do that.
2016-08-23eina_slice: startswith and endswith.Gustavo Sverzut Barbieri
these helpers around memcmp() make the code more readable.
2016-08-23efl_io_queue: basic class to interact with Efl.Io interfaces.Gustavo Sverzut Barbieri
The use of low-level interfaces such as Efl.Io.Reader and Efl.Io.Writer are not that user-friendly as they can handle partial data. Classes such as Efl.Io.Copier makes them easy to use, but they need a reader (source) or writer (destination) and in our examples we used fixed buffers or some existing streams (stdin/stdout/stderr, networking...). However, if interactively we need to produce some data to be sent, such as implementing some networking protocols, we'd have to write our own Efl.Io.Reader and Efl.Io.Writer classes to handle the buffering. Not anymore! With Efl.Io.Queue you can write stuff to it and it will buffer to memory. Once stuff is read, it will automatically remove those bytes from buffer.
2016-08-23efl_io_buffer: do not refer to sub-classes in its docs.Gustavo Sverzut Barbieri
depending on the order of generation eolian was triggering some errors. So stop refering to subclasses here.
2016-08-23efl.io.buffer: minor bugfix.Gustavo Sverzut Barbieri
if no limit was set, do not resize buffer to 0.
2016-08-23eina_slice: fix multi-byte find function, add tests.Gustavo Sverzut Barbieri
2016-08-23eina: remove references to win32 and winCE in threadsJean Guyomarc'h
2016-08-23eina: fixtures on OSX semaphoresJean Guyomarc'h
So actually there is quite a big issue with semaphores on OSX. We use (named) POSIX semaphores, but this was a (my) mistake... I'll fix it later... The real issue is that named semaphore are persistants: when the program dies, it stays alive. This is pretty bad with eina_debug_monitor because we create a semaphore we never release, due to a wild thread... This leak of semaphores went unnoticed before commit 4a40ff95defa5fa7e6164459c50e674b53cddaf4 because the name of the semaphore was unique per process, and overriden when another process was launched. This was very bad, but saved us from overflowing the semaphore pool. It is now overflowed pretty fast when building a lot EFL, because of Eolian that runs A LOT! So that's one problem that still needs to be fixed, by using OSX' own semaphores (see T4423). Another big issue, which is now fixed is that the buffer in which we generated the semaphore ID was too small, and therefore we were reduced to one shared semaphore for a whole process... This buffer has been now set to 31 characters, which seems to be the maximum length of a semaphore ID. So now things are better, but still with a deadly issue.
2016-08-23evas: handle thread queue creation failureJean Guyomarc'h
eina_thread_queue_create() might fail. Actually it does fail on Mac OS X under some circumstances.
2016-08-23ecore_con: use F_CLOEXEC instead of SOCK_CLOEXECJean Guyomarc'h
Mac OS X does not provide SOCK_CLOEXEC. Instead, we can use fcntl() with F_CLOEXEC. Fixes Mac OS X build.
2016-08-23ecore_con: fix compiling on OSX and BSDJean Guyomarc'h
TCP_CORK is Linux only. TCP_NOPUSH is supposed to do the same thing than TCP_CORK, but on BSD (including Mac OS X). We now check for the existance of TCP_CORK or TCP_NOPUSH, and use the right option. If none exist, cork_{set,get} will just fail.
2016-08-23Efl object: Don't pass events to eo class creation.Tom Hacohen
This was never used and there is no plan to ever use it. I'm going to soon add a different mechanism with which it will be possible to provide them again to Eo if ever needed without breaking ABI. Though it's unlikely it will ever be.
2016-08-23remove EINA_ERROR_TIMEOUTGustavo Sverzut Barbieri
As pointed out in the mailing list, it was introduced in this release, so it's better to remove the symbol instead of deprecating it. People should use ETIMEDOUT directly.