Commit Graph

18937 Commits

Author SHA1 Message Date
Mike Blumenkrantz 8afdbaba48 ecore-wl2: add function for setting a drag source's actions without a drag
in some cases it may be desired to have a drag data source without ever
initiating a drag, so ensure that it's possible to set the actions of the
source which will be passed for drag operations in this case

@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz f6964f50e3 ecore-wl2: add function for accepting a single mime type
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 9f69882211 ecore-wl2: do not offer a null mime first in ecore_wl2_offer_mimes_set()
this seems to have been done to account for the case where no mimes were
passed, but sending null in this way is bad behavior for a client. the
spec indicates that null should be sent only when no mimes are accepted

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 2e5251b364 ecore-wl2: add events for changes in keymap, selection, and kbd repeat rate
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz d119fdded9 ecore-wl2: add 'cancelled' to Ecore_Wl2_Event_Data_Source_End
it's impossible to know the result of a drag operation without this
member
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 05fd3771e7 ecore-wl2: add display object to all events
this is required in order to determine which connection an event originated
from
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 1a7279f72e ecore-wl2: add const to internal function param 2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 4f2a8b8679 ecore-wl2: add seat id to most events
seat id is required in order to handle multiseat environments
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 31f98a6d81 elm_cnp: only attempt to manage wl selections which are created by elm_cnp
use serials of the selections and events to avoid mangling external selections
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 37ff7b43f1 ecore-wl2: emit serials in selection-related events
these allow apps to match the serial of their selection to the related
event in order to avoid mangling selections from other components
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz d51252a69e ecore-wl2: change selection setting apis to return the serial of the request
in the case where multiple places in an app may be handling selections, this
is necessary in order to manage the selections accurately

@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 5869767355 ecore-wl2: remove ERR when trying to find the focused window id
this can trigger in the case where a selection transfer occurs and
no input resource has received an enter (e.g., the window is not focused)

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 00da1a771a ecore-wl2: correctly refcount display objects during events
ensure lifetime of display object is longer than events in which
the object is passed

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 8b6526eb7a ecore-wl2: add safety check in ecore_wl2_display_inputs_get()
ensure this is not called on server displays
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz ba2a76d7ab ecore-wl2: handle case where session recovery listener triggers on dead surface
@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz f32cb9ea00 ecore-wl2: add function for checking if a client connection sync is done
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 7c9e3d2dbd ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 44f22a250e ecore-wl2: split data offers into selection and drag
these are distinct objects and can coexist simultaneously; a drag
source should not overwrite an existing selection source

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 8afe0a7a6c ecore-wl2: store names for inputs and add api for retrieving name
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 6fc8ea3c4b ecore-wl2: add checks for a valid display object in ecore_wl2_input fns
no display = invalid object, so this needs checking
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 0d9a7a6d98 ecore-evas: account for framespace when processing mouse movement
in some cases (e.g., the mouse-out emission from the ee wl engine),
this was calculating wrong coordinates, which would lead to a broken
chain of events like:
  object mouse out -> object mouse in -> object mouse out
which would severely break some apps

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 2fabed3255 ecore-evas: add function for unsetting a specific seat's cursor
@feature
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 34999448c2 ecore: allow creation of fd handlers with no flags
it's possible to set flags to 0 with another function, so allowing
creation with 0 makes the api more consistent without breaking the
documented behavior
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 0eaa1a3fc2 elm_entry: request both text and markup when pasting
setting this to only markup means that it's impossible to paste into
an elm_entry from a plaintext app under wayland

@fix
2017-05-12 12:08:25 -04:00
Mike Blumenkrantz 3b51b3047f elm_cnp: don't explicitly set wl window type when starting drag
this is no longer necessary
2017-05-12 12:08:24 -04:00
Mike Blumenkrantz ef471e4eca evas: ensure even no-op renders emit RENDER_PRE
ref 67fae7aa0fdc9d778e8db88fc49bc149576994d2
2017-05-12 12:08:24 -04:00
Stefan Schmidt a3bd46d99f tests: win_dialog: remove unused variable 2017-05-12 13:21:24 +02:00
Carsten Haitzler 3a60246297 efl ui win -> add test for centering + fix center of window before show
we haven't gotten replies yet on what our position or size should be,
so we should store them so centering works before show but after
resizing is evaluated (that also fixed by forcing an eval).

@fix
2017-05-12 19:21:48 +09:00
Bryce Harrington a7c1edc44f efreet: Fix failure to save list data to output
Summary:
This fixes a typo in the fix 55676b33, which introduced an invalid early
return from the save_list function, preventing it from outputing the
list data to the file.

@fix CID1375005, CID1375004

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: stefan_schmidt, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4873
2017-05-12 11:08:30 +02:00
Jean-Philippe Andre 7e2e6e8aa4 evas gl: Fix typo and revert hack (GLES 3.1)
Omg... Thanks Daekwang Ryu for pointing me to my error. I remember
struggling a lot with this OpenGL API and libGLdispatch (glvnd) when
in fact this was all just a typo in the code.

GLES 3.1 and the upcoming 3.2 support need a proper test case...

See c68a409874

@fix
2017-05-12 16:34:38 +09:00
Shilpa Singh 442ab2bc67 elm_entry: Cursor disappears on calling select function in an empty entry.
Summary:
Issue: Selection cannot happen on an empty entry, if selection functions
are called on empty entry, cursor is hidden, even if entry is focused.
Soln: Check for whether entry is empty or not before proceeding with selection.

Test Plan:
1. Call select_all, select_region_set on a focused entry
2. You can observe cursor cannot be seen.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4862
2017-05-12 15:10:37 +09:00
JinYong Park ef2f37cad1 popup: move "visible_set(FALSE)" before calling dismissed callback
Summary:
 After hiding animation is finished, "dismissed" callback will be called.
 It means popup's visible state is FALSE.
 But if evas_object_show(popup) is called in it's custom dimssed callback function,
 popup's visible state is TRUE, so evas_object_show is canceled.
 So visible_set(FALSE) is must done before call dimissed callback.

@fix

Reviewers: Hermet, herb, jpeg, cedric, singh.amitesh, raster

Reviewed By: jpeg

Subscribers: woohyun

Differential Revision: https://phab.enlightenment.org/D4869
2017-05-12 14:59:32 +09:00
JinYong Park 9df3685884 popup: enable to set last_button_number to 0
Summary:
If last added button is removed, any statements to set last_button_number in for loop doesn't be executed.
So last button number has previous value, not 0.
Because of that, action area is not removed, but that area has zero height, so it doesn't be shown.

@fix

Reviewers: herb, jpeg, cedric, singh.amitesh, raster

Reviewed By: jpeg

Subscribers: woohyun

Differential Revision: https://phab.enlightenment.org/D4870
2017-05-12 14:57:01 +09:00
Bryce Harrington 226c1cff82 evas: Revise documentation for evas_async_events*()
Summary:
Straightens up grammar and simplifies phrasing to make the functions
purposes clearer.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4874
2017-05-12 14:46:55 +09:00
Bryce Harrington 9f9d2177bf examples/evas: Fix weird use of word synchrony in comment
Summary: 'keep in sync' is more familiar programmer jargon.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4876
2017-05-12 14:42:29 +09:00
Bryce Harrington 34d28a93ae efl_ui_focus_manager: Fix misspellings in comments
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4877
2017-05-12 14:42:04 +09:00
Bryce Harrington 6c2826db03 evas: Fix two whitespace errors
Summary:
Removes extraneous newline, and fixes the indentation of the while
statement's sub-clause (which looked like a code error at first
glance).

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4875
2017-05-12 14:41:49 +09:00
Youngbok Shin f97920816d evas textblock: fix dereferenced memory after free issue for ellipsis
Summary:
_layout_ellipsis_item_new() function deallocates "ellip_ti" and
allocates memory for new one. The local "ellip_ti" pointer should be
updated.
@fix

Test Plan: N/A

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D4854
2017-05-12 14:34:13 +09:00
Jean-Philippe Andre c6d6e13060 evas map: Rename raw_coord to coord_absolute
This is more in line with the other "absolute" APIs.
2017-05-12 12:02:24 +09:00
Jean-Philippe Andre f1bb8c7ad9 elm_test: Add EO version of "Flip Page" test
This is a copy of the "Flip Page" map usage example that relies
on the new set of APIs for EO. This was used to test the API
and show its usage.

The calculation being done in absolute values, this does not
really exploit the new API, but instead proves that it is on
par feature-wise.

The performance is worse than with legacy, because of extra list
walkings, map calculations, small struct allocations and eo calls.
This fixes the shadow of the page which was broken with the legacy
API (as color_get did not recalc the map).

A better implementation can probably be done without having
to rely so much on absolute coordinates.
2017-05-12 11:59:16 +09:00
Jean-Philippe Andre 290f1893cd evas map: Reach feature parity with legacy API
I've done this by translating "Flip Page" to this new set of
EO APIs. In particular, absolute coordinates need to be used
in some calls, and the map needs to be calculated between
get and set operations.

This required an adjustment of the raw_coord API as the flip_page
code does some math after reading and then writing to the map.
Same for color. Those two properties now act like commands (ie.
like the other gfx map functions).

This also introduces a duplicate set of APIs to handle absolute
coordinates. Other solutions included:

 - Use an enum to specify the type of coordinates (but then the
   unit of cx,cy varies between non-unit relative position and
   pixel position. Also this adds an extra argument to all those
   function calls.

 - Pass a special value (an empty eo object) as the argument for
   pivot. Same remark about the unit as above. This way was
   deemed too confusing because of the weird object.

Those two options have been discarded after asking the opinion
of a few developers I could reach.

@feature
2017-05-11 18:02:31 +09:00
Jean-Philippe Andre 0a224da86f evas map: Introduce new API for maps (Efl.Gfx.Map)
This implements an entirely new API model for Evas Map by relying
on high-level transformations on the object rather than an external
Evas_Map structure that needs to be constantly updated manually.

The implementation relies on Evas_Map.

To rotate an object all you need to do now is
  efl_gfx_map_rotate(obj, 45.0, NULL, 0.5, 0.5);

Or with a C++ syntax:
  obj.rotate(45.0, NULL, 0.5, 0.5);

Or even simply (with default arguments):
  obj.rotate(45.0);

The map transformation functions are:
 - rotate
 - rotate_3d
 - rotate_quat
 - zoom
 - translate (new!)
 - perspective_3d
 - lightning_3d

@feature
2017-05-11 17:54:00 +09:00
Jean-Philippe Andre d111c6e1dd evas map: Replace EO APIs for populate with reset
Manual points population will eventually be useless as the
map API will become more like a transformation API, where
the current object geometry doesn't matter as much as which
transformation is applied to it.
2017-05-11 17:53:57 +09:00
Jean-Philippe Andre 81dd06a6ed evas map: Move Efl.Gfx.Map mixin to its own C file 2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 5b4bb7f341 ecore_evas: Use proper enum values in axis events
Somehow the evas enum values were used instead of the ecore ones.
But I believe this is just a cosmetic change as their integral
values was the same.
2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 70821182ff evas examples: Fix invalid assumption about proxy
In the map examples, the map image UV size was based on the image
source geometry, rather than the image geometry itself.

In the example, this affects how the glass is mirrored. Before this
patch, the reflection is a single line stretched. EFL 1.18 and 1.19
seem to have the same issue, while 1.17 simply fails to show any
reflection. 1.16 fails miserably and the entire window is black.

If the original code was correct, then I believe that map and/or
proxy rendering have been modified in a way that affects the meaning
of those image UV parameters. But this seems like the regression (if
it is one) is in fact quite old.

@fix
2017-05-11 17:53:51 +09:00
Jean-Philippe Andre a8ba44b708 edje: Fix shadow variable warning 2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 83f243f51e mapbuf: Make point_color a property 2017-05-11 17:53:51 +09:00
Jean-Philippe Andre 6cd8811fe9 container: Remove method part_name_get
Remove this for now, as it may not apply to all contents.
Note that this was a new API in EO.
2017-05-11 17:53:50 +09:00
Stefan Schmidt 55676b335c efreet: free the allocated buffer before returning
This fixes the commit 169a08c03a (efreetd:
BSD optimizations). Coverity rightly pointed out six different leaks of
various buffers on error paths.

CID: 1374949 1374950 1374951 1374952 1374953 1374954
2017-05-11 09:34:53 +02:00
Derek Foreman 2653fd3fda gl_drm: Fix rendering problems with dmabuf
Somehow this long standing bug wasn't obvious until wayland 1.13.0 made
some additions to an opaque structure.

This changed the frequency that new buffers came to us with the exact
same pointer value of a buffer that had just been freed.

This shortcut in eng_image_native_set has always been wrong - we need to
proceed to the end to make sure we pick up new dmabuf attributes.
2017-05-10 16:24:11 -05:00
Al Poole 169a08c03a efreetd: BSD optimizations.
Summary: Related to ticket T5475.

Reviewers: raster, cedric

Subscribers: jpeg, cedric, raster

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-10 12:26:08 -07:00
Bryce Harrington c6212e6e67 examples/evas: Improve linespacing consistency
Summary:
Also fixes a handful of obvious indentation irregularities,
including some reformatting of some printf() multi-line indents that
commit a71b770b did not properly adjust.

No functional code changes.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4864
2017-05-10 11:03:38 +02:00
Bryce Harrington 0f5ab72ed0 ecore_evas: Improve linespacing consistency
Summary:
Adds a line between each function so it's more obvious what doc goes
with what API routine.  Reorganize the doxygen elements so they're
consistently ordered and spaced.

No code or documentation changes; mostly just whitespace.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4866
2017-05-10 10:49:17 +02:00
Cedric BAIL 4baeb17dba evas: adjust pointer mode set to work in headless scenario.
With the wayland backend, it is posible to have no seat connected
until later. This would lead to calling evas_object_pointer_mode_set
and fail without returning a boolean it was impossible to detect it
did fail. This patch correct it.
2017-05-09 15:54:45 -07:00
Cedric BAIL 688cbeae97 evas: make sure that even when nothing is rendered there is a pair of RENDER_PRE and RENDER_POST events generated. 2017-05-09 15:40:14 -07:00
Jean Guyomarc'h d340d85a1f ecore_evas: fix link issue on macOS
696ed3e2e8 introduced a build failure on
macOS. _ecore_evas_subregister is being used in a foreign code module,
but it was not exported. Enforcing EAPI gives this symbol enough
visibility to be used outside of ecore_evas.
2017-05-09 21:29:11 +02:00
Jean Guyomarc'h 9ac6ad4943 ecore_input: suppress warning (unused parameter) 2017-05-09 21:29:11 +02:00
Prasoon Singh 9c62ab525b eina: fix for escapable charachters not getting escaped if it comes after '\t' or '\n'
Summary:
Escaping is not happening whenever any escapable characters is coming after
'\t' or '\n'. It will also fix invalid read of 1 byte which happens for string where
last charachter is '\t' or '\n' like "eina\t".

Test Plan:
Take a string like "eina\t ". Observe space which is followed by tab is not getting
escaped.

Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>

Reviewers: shilpasingh, rajeshps, govi, cedric

Reviewed By: shilpasingh

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-09 10:37:16 -07:00
thierry E 07024ab6c8 ecore_x: add function to show and hide X cursor.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-09 10:15:02 -07:00
thierry E 71c8f1de27 ecore_x: handle DPMS state for a more accurate idling evaluation.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-09 10:15:01 -07:00
Chris Michael f160d41539 ecore-evas-wayland: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-09 11:47:04 -04:00
Chris Michael af587c01cb ecore-drm2: Add start of refcounting for FB objects
Small patch which starts to implement refcounting on framebuffer
objects. This will be needed so that we do not free FB objects while
they are on the screen.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-09 11:47:04 -04:00
Derek Foreman 544cffaa19 ecore_drm2: Move test for atomic_req into atomic flip path
We ended up doing an occasional atomic ioctl when we shouldn't.
This should be a harmless failure, but it's also a pointless one.
2017-05-09 10:34:33 -05:00
Derek Foreman 8067b0146a ecore_drm2: Fix dmabuf fb destroy
I missed the fact that it'd run through the existing non-gbm path on
destroy, resulting in a (probably harmless) bad ioctl
2017-05-09 10:34:33 -05:00
Bryce Harrington cee4d928cf examples/evas: streamline the intro description statement for examples
Summary:
For people browing through the examples, having the opening statement be
concise and consistent will help them more quickly find what they're
looking for.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Test Plan:
Some of the examples had identical opening statements (e.g. the image
object examples).  I've tried to give each a unique description defining
what they are demonstrating, but you may want to doublecheck I got these
correct.  Of particular note, to me evas-images5.c looks like just a
fixup to evas-images4.c, so I'm not sure what makes these two distinct.

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:26:07 -07:00
Bryce Harrington 06425007f7 evas: fix typos in Evas Text docco
Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:23:23 -07:00
Bryce Harrington 9c04a046a6 ecore_evas: doc experimental comp_sync API
Summary: (And indicate it's likely to be made private in EFL 2)

Reviewers: stefan_schmidt

Subscribers: stefan_schmidt, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:17:48 -07:00
Prasoon Singh 7c368923a1 elm_theme: check whether object is valid before calling edje_object_mmap_set
Summary:
In Issue scenario when _elm_theme_set was called,object was already deleted by app causing
unnecessary addition of the style in style_not_found list.
Check for object validity, if object is NULL return theme apply failed.

Test Plan: Make object pointer NULL before _elm_theme_set is called.

Reviewers: cedric, shilpasingh

Subscribers: rajeshps, govi, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:15:19 -07:00
Bryce Harrington 77e19c7194 examples: use printf instead of fprintf(stdout, ...)
Summary:
Applies same change as e8355c93 for evas, to the remaining examples.
This uses the shell command-line:

    src/examples/evas$ grep -sr 'fprintf(stdout' . | cut -d: -f1 \
        | uniq | xargs sed -i "s/fprintf(stdout/printf(/"

Note that use of the "fprintf(stdout" construct can generate warnings
when -Wformat-security is enabled, if the fprintf statement has no
format arguments, so in addition to the stylistic simplification this
also helps quell those spurious warnings.

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:14:29 -07:00
Vincent Torri 94509a3d86 Ecore_Evas (Win32): add geometry_get() method and fix dpi_get(), using the new API in Ecore_Win32.
This fixes fullscreen feature in Elm on Windows as the geometry of the desktop
was not known.

In case of multiple displays, the desktop, where the window is displayed, is used for fullscreen.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:09:11 -07:00
Vincent Torri 449b2a4bf3 Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays
@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-05-08 15:09:00 -07:00
Cedric BAIL 122c34b2ce ecore_evas: refactor win32 backend to use generic render infrastructure. 2017-05-08 15:04:09 -07:00
Cedric BAIL e541c4f500 ecore_evas: refactor wayland backend to use generic render infrastructure. 2017-05-08 15:03:51 -07:00
Cedric BAIL db1e8e2d92 ecore_evas: refactor sdl backend to use generic render infrastructure. 2017-05-08 15:03:31 -07:00
Cedric BAIL 83513f0933 ecore_evas: refactor psl1ght backend to use generic render infrastructure. 2017-05-08 15:03:10 -07:00
Cedric BAIL 3a5de3c4eb ecore_evas: refactor fb backend to reuse generic render infrastructure. 2017-05-08 15:02:50 -07:00
Cedric BAIL 727b61218b ecore_evas: refactor extn backend to use generic rendering infrastructure. 2017-05-08 15:02:15 -07:00
Cedric BAIL 3fd01561ae ecore_evas: refactor drm backend to use generic render infrastructure. 2017-05-08 15:01:49 -07:00
Cedric BAIL c24d077b6a cocoa: refactor cocoa backend to use generic render infrastructure. 2017-05-08 15:01:30 -07:00
Cedric BAIL 69d4555116 ecore_evas: refactor ews backend to use generic infrastructure for rendering. 2017-05-08 15:00:54 -07:00
Cedric BAIL 688013e669 ecore_evas: first step into refactoring ews backend. 2017-05-08 11:00:38 -07:00
Bryce Harrington 13a9a508ce elm_cnp: Fix typo
Summary:
Removes extraneous 'or' in debug message due to change from commit
27375735.

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4859
2017-05-08 19:04:47 +02:00
Minchul Lee 82f0be9a32 edje: null checking the return value of a function eina_mempool_malloc
Summary:
The return value of the function eina_mempool_malloc was dereferenced without checking. I added the checking code similar to the other codes.
@fix

Reviewers: raster, cedric, jpeg, herdsman, woohyun, stefan_schmidt

Subscribers: stefan_schmidt

Differential Revision: https://phab.enlightenment.org/D4855
2017-05-08 15:39:21 +02:00
jiin.moon c89bf7b2d8 evas: Fix can't open tiff file on loader
Summary:
Evas can't open tiff file because of no implement in client read api.
I wrote codes simply for open.

Test Plan: self

Reviewers: jpeg, cedric, jypark

Subscribers: stefan_schmidt

Differential Revision: https://phab.enlightenment.org/D4857
2017-05-08 15:20:01 +02:00
Andy Williams 94afabf216 elm_code: Move the 'default' font name and size into the theme.
This can still be overridden by the standard method calls
2017-05-06 22:02:17 +01:00
Jean Guyomarc'h b67c13810b eolian: help and version shall not cause an error exit status
eolian_gen called with --help or --version is a valid action. It shall
terminates with the 0 exit status.
2017-05-06 21:15:40 +02:00
Cedric Bail 73592d4e72 ecore_evas: first step into refactoring x backend. 2017-05-05 17:55:06 -07:00
Cedric Bail 103dfc5ba4 ecore_evas: first step into refactoring wayland backend. 2017-05-05 17:55:06 -07:00
Cedric Bail 11cf280cfa ecore_evas: first step into refactoring win32 backend. 2017-05-05 17:55:06 -07:00
Cedric Bail cc139b70f8 ecore_evas: first step into refactoring sdl backend. 2017-05-05 17:55:06 -07:00
Cedric Bail 081a134449 ecore_evas: first step into refactoring psl1ght backend. 2017-05-05 17:55:06 -07:00
Cedric Bail d1dc3b0dc5 ecore_evas: first step into refactoring fb backend. 2017-05-05 17:55:06 -07:00
Cedric Bail 042fd1dda8 ecore_evas: first step into refactoring extn backend. 2017-05-05 17:55:06 -07:00
Cedric Bail 9129adc993 ecore_evas: first step into refactoring drm backend. 2017-05-05 17:55:06 -07:00
Cedric Bail fe316636fd ecore_evas: first step into refactoring cocoa backend. 2017-05-05 17:55:06 -07:00
Cedric Bail 37f3d5095c ecore_evas: use generic function for rendering ecore_evas buffer backend. 2017-05-05 17:55:06 -07:00
Cedric Bail 696ed3e2e8 ecore_evas: add infrastructure to properly track sub ecore_evas. 2017-05-05 17:55:06 -07:00
Cedric Bail 7b4b7b6696 ecore_evas: add logic to allow partial refactoring of backends. 2017-05-05 17:55:06 -07:00
Cedric Bail 385acef7f9 ecore_evas: introduce a generic rendering function. 2017-05-05 17:55:06 -07:00
Cedric Bail d7a27363bd ecore_evas: adjust buffer engine with nicer behavior from evas. 2017-05-05 17:55:06 -07:00
Cedric Bail dc841ed9b2 evas: always pair RENDER_PRE and RENDER_POST. 2017-05-05 17:55:06 -07:00
Cedric Bail 689e1c8ded evas: don't double check if the canvas has changed. 2017-05-05 17:55:06 -07:00
Marcel Hollerbach 2737573501 elm_cnp: fixup behaviour
On touch devices there is the normal gesture to touch on the screen and
hold until the drag operation started.

For users of a mouse there is the gesture of just click and drag the
mouse away.

This commit changes the behaviour of the start based on the device that
sent the event
2017-05-05 20:53:06 +02:00
Derek Foreman 18af247ab2 ecore_drm2: Add checks for using a plane after death
We keep planes on the plane list to ensure a released plane is removed
from display - however this means that if a caller starts messing with
a plane after release, that it could potentially reposition a plane it
doesn't own anymore.

Use EINA_SAFETY macros to prevent this.
2017-05-05 12:53:25 -05:00
Derek Foreman c722466a60 ecore_drm2: Replace plane state release flag with plane dead flag
The release flag is actually less useful than the existing in_use flag
for determining if a plane is unused.  If a new plane is assigned before
the next flip cleans up released planes, then it can point to a released
plane state, and both it and the previous user will be freed on the next
commit, leaking a plane.

Putting the flag in the plane structure fixes this while still allowing us
to keep released planes around to ensure a recently released plane is
cleared from atomic state.
2017-05-05 12:53:25 -05:00
Derek Foreman 1071c9f3a8 ecore_drm2: Call flip test in plane release
If we don't do a flip test, the atomic state isn't updated.  This fixes
a potential problem where the last operation in state preparation is
a release - the following commit wouldn't include state from the release.
2017-05-05 12:53:25 -05:00
Derek Foreman 7628977fbf ecore_drm2: Fix flip test error handling
We need to free the atomic req if commit fails, so let's merge these
failure paths and simplify code a bit.
2017-05-05 12:53:25 -05:00
Derek Foreman 699ed066ea ecore_drm2: Require x and y value in plane assign
Saves us a flip test, and gaurantees that we're always testing with a
reasonable x, y and not something leftover from a previous assignment.
2017-05-05 12:53:25 -05:00
Chris Michael 1d3ad70888 ecore-drm2: Release any marked planes during atomic commit
This patch fixes plane_state values during atomic flip test for any
planes marked for release. When the fb_flip actually completes, we
will remove the marked plane(s) from the output.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:24 -05:00
Chris Michael 0c0f525d9a ecore-drm2: Add 'release' flag for planes
As we cannot immediately remove a plane from an output, due to needing
an atomic commit to actually remove the plane from screen, we can use
a 'release' flag to indicate that a given plane needs removal from the
screen during our next atomic commit.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:24 -05:00
Chris Michael bd4ccfa0f5 ecore-drm2: Don't remove plane from output list on release
As we need to be able to commit a new plane state for any released
planes, we should not be removing them from the output list just yet.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:24 -05:00
Chris Michael 7a50010536 ecore-drm2: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:24 -05:00
Chris Michael 373e4b0684 ecore-drm2: Don't assign plane to output list if test fails
There is little point in assigning a plane to the output list if the
atomic flip test fails.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:24 -05:00
Derek Foreman 0aac2db93a ecore_drm2: Use stricter cursor plane size check
Unfortunately the plane sized returned from the cursor plane query isn't
a limit, it's an exact size.  Sometimes you can use a different size,
but that's completely hardware dependent - so stick to the advertised
size.
2017-05-05 12:53:24 -05:00
Derek Foreman 769271a66a drm-ee: Use a plane for the evas
Assign a plane at startup and update it in flip.
2017-05-05 12:53:24 -05:00
Derek Foreman 27fc7d5f83 gl_drm: Support atomic updates
Grab a plane and lock it down for displaying the canvas, update it on
page flip.
2017-05-05 12:53:24 -05:00
Derek Foreman ab8ec5ed5f ecore_drm2: Add API to update the fb for a plane 2017-05-05 12:53:23 -05:00
Derek Foreman c98a9b06c6 ecore_drm2: Rebuild atomic state from plane_destination_set
Call a test commit to rebuild the atomic_req
2017-05-05 12:53:23 -05:00
Derek Foreman 6b9a6a8bed ecore_drm2: Fix atomic flip with no new buffer
We don't have an atomic state, so we need to create one before the flip
2017-05-05 12:53:23 -05:00
Derek Foreman 9223b0d535 ecore_drm2: Pass user data to atomic flip
We need the user_data to come back to us in the flip handler like it does
in the non atomic flip.
2017-05-05 12:53:23 -05:00
Derek Foreman b6f67124e4 ecore_drm2: Add some atomic state tracking
I think we're now at the point where the two paths are merged.

Still no atomic functionality because nothing assigned the primary plane,
so we have no atomic state to commit.  The machinery should be in place
though.
2017-05-05 12:53:23 -05:00
Derek Foreman ba4d41ff63 ecore_drm2: Handle atomic state in _release_buffer
Further merging of atomic and non-atomic paths
2017-05-05 12:53:23 -05:00
Derek Foreman b902ef7c69 ecore_drm2: Make _release_buffer take a state struct instead of fb
Lets us push the NULL set into _release_buffer for some clean up
2017-05-05 12:53:23 -05:00
Derek Foreman 89630ddeb1 ecore_drm2: Refactor common code from non-atomic path
We'll need to perform all this for atomic operations as well.
2017-05-05 12:53:23 -05:00
Derek Foreman 8d72a2cf46 ecore_drm2: Fix typo in comment 2017-05-05 12:53:23 -05:00
Derek Foreman e7a494ba87 ecore_drm2: treat atomic flip without a req as an error
We should use the safety macro here instead of silently continuing so we
can get something in the log if this happens.
2017-05-05 12:53:22 -05:00
Derek Foreman 9da0f52642 ecore_drm2: remove fb parameter from _fb_flip()
Time to start smashing the atomic and non-atomic paths together.
2017-05-05 12:53:22 -05:00
Derek Foreman 8143abff2c ecore_drm2: Replace output fbs with state structs
next, pending, and current are going to have to deal with atomic state
instead of just fbs soon
2017-05-05 12:53:22 -05:00
Derek Foreman 63dbf061a9 ecore_drm2: Move atomic state into an output state struct
This should make it easier to share code paths between atomic and non
atomic operations.
2017-05-05 12:53:22 -05:00
Derek Foreman 6482367aa2 ecore_drm2: Perform test flip during plane assignment
Make sure we can commit that plane at assign time so when we hook up to
the scene graph it knows when it can safely use a plane.
2017-05-05 12:53:22 -05:00
Derek Foreman 8d42d7d50a ecore_drm2: Drop static from _fb_atomic_flip_test()
We're going to need this one in plane assign to test commits
2017-05-05 12:53:22 -05:00
Derek Foreman f1d779da06 ecore_drm2: remove flip test from commit path
We'll be doing tests as we build up plane state assignment.  it's too late
to do anything about it if we fail here - failed tests will block plane
assignment in the first place so the scene graph knows it still has to
render those visual elements.
2017-05-05 12:53:22 -05:00
Derek Foreman ba2275b7ec ecore_drm2: Add ecore_drm2_plane_release to release planes
Opposite of plane assign.
2017-05-05 12:53:22 -05:00
Derek Foreman 014e84d8fa ecore_drm2: Store output in plane structure
This will simplify a bunch of API that would otherwise have to pass in
both output and plane - and in some cases we might not have the output
handy anyway.
2017-05-05 12:53:21 -05:00
Derek Foreman aae1c50dd3 ecore_drm2: Remove next, current, pending from plane state
These will be output state eventually
2017-05-05 12:53:21 -05:00
Derek Foreman 308a11cfd6 ecore_drm2: Assign planes in ecore_drm2_plane_assign
Don't just test, allocate the resource, and then prevent further
assignments from trying to use it as well.
2017-05-05 12:53:21 -05:00
Derek Foreman 7dd8d6d163 ecore_drm2: Don't use drmModeAtomicMerge
We're creating the entire state from scratch already - trying to merge
with the old state will likely bring in state we just tried to replace.
2017-05-05 12:53:21 -05:00
Derek Foreman eb305727d0 ecore_drm2: Remove extra #ifdef
It's the same as the previous one, so combine them.
2017-05-05 12:53:21 -05:00
Derek Foreman 63bc30dd5b ecore_drm2: Fix typo in error message
Stop printing "commit test failed" from non-test commits.
2017-05-05 12:53:21 -05:00
Derek Foreman 950df19c67 ecore_drm2: Add an env var to disable atomic pageflips
Allows testing non-atomic paths without a reboot or a rebuild.
2017-05-05 12:53:21 -05:00
Chris Michael 0595e70b22 ecore-drm2: Do atomic commits per-output
In cases where output monitors have different frequencies, we need to
be doing atomic commits on a per-output basis. This patch modifies the
ecore_drm2_fb_flip function to support doing atomic commits per output.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:21 -05:00
Chris Michael 2ba64a4c0a ecore-drm2: Free output atomic request on destruction
When we free an output, make sure we cleanup any existing atomic
commit requests

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00
Chris Michael 03cb02fa74 ecore-drm2: Remove newly added atomic API functions
As we need to do atomic commits on a per-output basis, these 2 newly
added API functions can go because these functions did one atomic
commit for all outputs

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00
Chris Michael e5de325e90 ecore-drm2: Remove #ifdef for HAVE_ATOMIC in plane_assign function
As there is nothing inside this function which requires any Atomic API
calls, this #ifdef can be removed and the function can then still be
used to assign Primary planes for non-atomic use cases.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00
Chris Michael b9f4641762 ecore-drm2: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00
Chris Michael 86bd42884a ecore-drm2: Fill output states regardless if atomic
This commit fills in various output 'state' structures during creation
so that those state structures can be reused for pageflip handling
even if Atomic support is not enabled.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00
Chris Michael f07f2e6e4e ecore-drm2: Enable filling state structures without atomic support
This commit enables the ability to fill our state structures even if
atomic support is not enabled. This will allow us to reuse those state
structures for dealing with pageflip in both the atomic & non-atomic
use cases.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00
Chris Michael e1b26f6320 ecore-drm2: Enable reuse of existing state structures for non-atomic
As there is nothing 'atomic' specific in these structures, we can move
them outside the atomic ifdef and make use of them for handling
pageflip for both atomic and non-atomic use cases.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00
Chris Michael eb1ed0fc0a ecore-drm2: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05 12:53:20 -05:00