Commit Graph

13797 Commits

Author SHA1 Message Date
Carsten Haitzler a5c8e883d8 eina mmap safety - only map zeropages if it's an eina file that sigbuses
restrict mapping /dev/zero to only eina files having a sigbus
reported. the mmap was before all our file access used eina_file i
think thus the raw mmap of it. now walk all eina files and find the
candidate and only then if it exists flag is as having a faulty i/o
backing and map the zerto pages then return, otherwise call abort.
more restricted mapping and perhaps a fix for not trapping non-efl
issues.

@fix
2017-08-30 12:03:41 +09:00
Carsten Haitzler 15cdd9b71b eina file - use recursive locks for cache and file to avoid deadlock
since we have a sigbusd handler that flags an eina file with io errors
it has to walk the file cache and every file... taking locks. if those
locks were taking already in the current thread the sighandler was
called in... we'd deadlock. since this basicallly never happens (when
do we see i/o errors really? not much)... we never saw this as it'd
also reauire this race condition to happen too. but it is a problem
waiting to happen. this fixes that by moving to recrusive locks.

@fix
2017-08-30 11:31:02 +09:00
Bryce Harrington d5346d4e24 ector: cleanup grammar in comments
Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-29 16:24:23 -07:00
Bryce Harrington dcc2654673 evas: make the high level documentation more concise
Summary:
This is a very informative document but is much longer than it needs to
be.  Tighten it up by condensing redundant information and expressing
the ideas more efficiently.  Focus more on Evas and what it is than what
it isn't.  Avoid explaining general graphics concepts like immediate
vs. retained, replacing with synopses.  Switch from 2nd person to 3rd
person (i.e. don't say You/Your) to be less awkward, since we don't
really know why the reader is reading it.  Simplify the compilation
directions; these are pretty standard, and most people won't be manually
linking to Evas anyway.

While this shortens the document considerably, it retains the
important key points, and makes it far more readable.

Reviewers: cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-29 16:23:34 -07:00
Cedric BAIL 84cfde45f6 evas: fix color set on Efl.Canvas.Group. 2017-08-29 16:01:41 -07:00
Jean Guyomarc'h 9e3a344454 evas: fix invalid return of evas_textgrid_cellrow_get()
evas_textgrid_cellrow_get() is supposed to return NULL if the row index
fed to the function is outside of the textgrid's range. It was instead
returning garbage pointer.

@fix
2017-08-29 20:56:31 +02:00
Jean Guyomarc'h 232e193673 eina: fix typo in documentation 2017-08-29 20:56:31 +02:00
Jean Guyomarc'h 172cf67d16 elm: fix uninitialized variables 2017-08-29 20:41:40 +02:00
Daniel Hirt 048dcc3263 Canvas text: fix non-dirty paragraph width calculation
Follow-up fix for 1624417d91.
Changed for a max comparison, rather than just assigning the line's
width.
Also, added a test case.

Fixes T5939

@fix
2017-08-29 17:07:15 +03:00
Daniel Zaoui 4337e77669 Fix PS3 backend removal (Cedric...)
When running elementary_test with ELM_ENGINE='buffer', we got a crash.
The removal of PS3 backend patch didn't remove ELM_SOFTWARE_PSL1GHT and
didn't shift the _elm_engines indexes.
ELM_SOFTWARE_DDRAW stayed at the index 13 (value NULL) instead of moving
to index 12.
A strcmp with NULL occurred, leading to the crash.

@Cedric, I excuse you to not have run Exactness your code before pushing
:P
2017-08-29 15:21:12 +03:00
Thiep Ha b0d185ac12 Introduce text on path widget
Text on path (textpath) allows application to make text follow a path.
The path can be a efl_gfx_path or a circle.

Thank hermet for initializing this work.

@feature
2017-08-29 19:07:01 +09:00
Jean-Philippe Andre d8f1ea44fd widget: Add protected tag to focus_highlight_geometry
This is meant to be called by the widget or elementary internals,
potentially reimplemented by widget subclasses.

Ref T5363
2017-08-29 16:41:53 +09:00
Jean-Philippe Andre 8c1f771a67 widget: Use rectangle for focus_hilight
Ref T5363
2017-08-29 16:22:47 +09:00
Jean-Philippe Andre c6c1751fe3 widget: Mark focus_region_show as protected (EO)
This function is meant to be used by the widgets themselves, or internal
features such as elm_access.

Also remove const tag: this function call is definitely modifying the
widget (panning around and all that).

Ref T5363
2017-08-29 14:50:36 +09:00
Jean-Philippe Andre 233068c30c widget: Simplify code with rectangle (EO)
This replaces x,y,w,h with a rectangle in parts of the focus_region
code.

Ref T5363
2017-08-29 14:30:39 +09:00
Jean-Philippe Andre d928ba989a widget: Merge on_focus_region and focus_region_get
This simplifies code and API.

Ref T5363
2017-08-29 14:30:35 +09:00
Jean-Philippe Andre ff3a723003 widget: Improve access_info doc
Ref T5363
2017-08-29 14:30:31 +09:00
Jean-Philippe Andre 9a816931a2 evas: Fix automatic visible set (EO)
This fixes a case where an object is hidden before the first render.
When called from elementary. the visible intercept code would be called
before evas object's visible_set, bypassing the line setting visible_set
to true.

As a consequence the object would be visible even when explicitly
requested as hidden.

Thanks @JackDanielZ for the report!
2017-08-29 10:55:56 +09:00
Jean-Philippe Andre d920b36ab4 evas: Fix a few shadow warnings 2017-08-29 10:43:33 +09:00
Jean-Philippe Andre 0a0bbe5fda widget: Rename hook "access" (EO)
This is also another protected and beta API. Meant to be overridden by
subclasses, but belongs to a still unstable API.

The difference between the internal legacy and the EO API is really bad.
Same as with activate (previous commit).

Ref T5363
2017-08-29 10:40:53 +09:00
Jean-Philippe Andre 0e98f57d6d widget: Rename hook "activate" (EO)
This is for accessibility only. Protected function.

Also marked as beta as elm_access isn't going to be stable in EO (yet).

Ref T5363
2017-08-29 10:40:53 +09:00
Jean-Philippe Andre 81042b8aab widget: Remove useless import in EO file
Ref T5363
2017-08-29 10:40:53 +09:00
Jean-Philippe Andre 1610ed12a8 widget: Make theme_apply a protected function (EO)
This is a strange function but absolutely necessary to implement a
widget. Even non-layout widgets may override this.

Ref T5363
2017-08-29 10:40:53 +09:00
Jean-Philippe Andre 6aa309ffb8 widget: Rename hook "disable" (EO)
Renamed to on_disabled_update.
Also passed in the new state of disabled. It's more convenient this way,
than having the subclasses call disabled_get.

Also simplify some code...

Ref T5363
2017-08-29 10:40:53 +09:00
Jean-Philippe Andre 6e5e8e567b widget: Rename hook "orientation" (EO)
Renamed to on_orientation_update

This internal / virtual function is in fact not overridden anywhere. Not
sure it is necessary to expose it in EO API?

Ref T5363
2017-08-29 10:40:53 +09:00
Gustavo Sverzut Barbieri 71a74aa718 eina_value: silent -Wextra for EINA_VALUE_EMPTY
-Wextra complains about missing initializers, so provide the full 8
 bytes of the first member of the union.
2017-08-28 18:26:29 -03:00
Daniel Kolesa c9d8814be1 eolian: funcptr docs in correct place, remove more qualifiers 2017-08-28 17:27:47 +02:00
Daniel Kolesa eeca57fdb0 eolian: less clumsy return type handling 2017-08-28 17:22:09 +02:00
Daniel Kolesa 700ec978cc eolian: remove unused qualifiers from func pointers 2017-08-28 17:20:18 +02:00
Mike Blumenkrantz e436947ff0 evas image cache: notify preload for image objects without explicit callbacks
non-gl images do not have an explicit callback and so the preload inform callback
must be triggered manually for all cases

fix T5200
2017-08-25 14:48:12 -04:00
Mike Blumenkrantz e4ba40c5bc evas image cache: break out preload complete notification code into function
no functional changes
2017-08-25 14:48:12 -04:00
Mike Blumenkrantz 7745520852 efl_ui_image: maintain geometry for prev image while preloading new image
if prev_img exists then it is visible, so continue maintaining its geometry
until it is deleted

fix T5936

@fix
2017-08-25 14:48:12 -04:00
Mike Blumenkrantz 8dbea4a709 elm_win: check for wayland engine during finalize by checking for wl win
fake wins don't provide engine info, but a wl win will still exist

@fix
2017-08-25 14:48:12 -04:00
Mike Blumenkrantz d0f1a57ade elm_win: update opaque region for fake windows
fake windows still gotta render

@fix
2017-08-25 14:48:12 -04:00
Mike Blumenkrantz 2510afe821 efl-wl: match nested wl seats based on display ordering
a nested compositor will have a mismatch between canvas seat id and
compositor seat id, so this attempts to perform matching based on the
order that they are listed, which should be identical

@fix
2017-08-25 14:48:11 -04:00
Mike Blumenkrantz 91f513f77d ecore-wl2: normalize axis event values
this is value * 10 from the compositor, so /= 10 to get real value

fix T5427

@fix
2017-08-25 14:48:11 -04:00
Cedric BAIL 8286a56279 evas: enable rendering of multiple output. 2017-08-25 10:55:15 -07:00
Cedric BAIL 4b1505c294 evas: no more ENDT. 2017-08-25 10:55:06 -07:00
Cedric BAIL 7fc0ebee37 evas: move updates to be per output. 2017-08-25 10:55:02 -07:00
Cedric BAIL e7527e06d6 evas: decorrelate canvas size from output size. 2017-08-25 10:54:59 -07:00
Cedric BAIL cce4dcc58e evas: remove dead code to improve readability. 2017-08-25 10:54:52 -07:00
Cedric BAIL 545c1a70f4 evas: make Evas_GL work with multi output. 2017-08-25 10:54:19 -07:00
Cedric BAIL 7f8bbe4972 evas: reorder rendering phase to group output related operation. 2017-08-25 10:52:52 -07:00
Cedric BAIL 440238a899 evas: Evas_Canvas3D rendering logic need a complete overhaul.
For now, do not use Evas_Canvas3D in multi output context, it won't work.
The update code for Evas_Canvas3D_Node might trigger rendering logic, which
is opposite to what the scene graph logic should do. It require to much
reshuffle around to handle that case at the moment. So I am just adding a
warning.
2017-08-25 10:52:48 -07:00
Cedric BAIL f354463dc1 evas: propagate output in evas_render_updates_internal_loop instead of using ENDT. 2017-08-25 10:52:42 -07:00
Cedric BAIL 79ed7a0cc2 evas: enable handling multi output in evas_render_mapped. 2017-08-25 10:52:38 -07:00
Cedric BAIL 750b9d065f evas: propagate output to evas_render_mask_subrender and don't use ENDT there. 2017-08-25 10:52:33 -07:00
Cedric BAIL a5b4defdd5 evas: use output instead of default one during rendering of proxy. 2017-08-25 10:52:29 -07:00
Cedric BAIL 9ba662bd63 evas: destroy seats and inputs before the display disapear. 2017-08-25 10:52:22 -07:00
Cedric BAIL dcfebcd2d9 evas: no more use of ENDT outside of evas_render. 2017-08-25 10:52:18 -07:00