summaryrefslogtreecommitdiff
path: root/src/lib/ecore_evas/ecore_evas_buffer.c (follow)
AgeCommit message (Collapse)Author
2019-12-30ecore_evas_buffer: Unregister input events when ecore_evas_buffer is freedHosang Kim
Summary: When ecore_evas_buffer is freed, input events is not unregistered. So _window_hash size is increasing. Reviewers: Hermet, cedric, raster, zmike Reviewed By: zmike Subscribers: zmike, rajeev.jnnce, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10983
2019-07-22ecore_evas buffer: fix a deadlock issue.Hermet Park
We encountered a deadlock case in ecore_evas_image_object in ecore_evas_buffer that only happens if the ecore_evas_buffer has nothing changed to render, though it's triggered to rendering. See this normal scenario that is working fine as our intention. being ecore_evas_render() ... -> ecore_evas_buffer_prepare() -> evas_object_image_data_get() -> increment lock by backend engine. (egl/tbm ...) -> render() -> render_post() -> _ecore_evas_buffer_update_image() -> evas_object_image_data_set() ->decrement lock by backend engine (egl/tbm ...) ... end ecore_evas_render() The problem is, if the ecore_evas_buffer canvas doesn't changed at all, render post will be skipped, it could lose the chance to unlock the image data. Now the host can't render anymore since it's image source lost the lock. @fix
2019-02-13ecore_evas: fix a potentional deref after null problemWonki Kim
Summary: this patch modify a logic to return after, failing to call eore_evas_buffer_allocfunc_new function. Reviewers: Hermet, bu5hm4n, cedric, devilhorns Reviewed By: devilhorns Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7918
2019-01-31ecore-evas-buffer: Fix formattingChris Michael
NB: No functional changes
2018-12-03ecore evas - buffer - init ecore event evas as many times as shutdownCarsten Haitzler (Rasterman)
so ecore_event_evas_shutdown() was getting called much more than ecore_event_evas_init() - missing an init in the ee + img obj creator in ecore evas. this adds it in and ensures in allocation failures we dont over-init or shutdown too. @fix
2018-11-28ecore_evas_buffer: register it in ecore_evas_inputMarcel Hollerbach
this is done in order to make ecore_event_evas_key_down work with this. The function can be used to simulate interactions with a efl_ui_win. If this is not added, then the user of ecore_event_evas_key_down needs to differentiate between buffer engines and the rest of the engines. Differential Revision: https://phab.enlightenment.org/D7361
2018-11-09ecore evas - warn - buffer engine - set last tick get field to nullCarsten Haitzler (Rasterman)
missing field not set- set to null so we know its not set.
2018-08-22ecore-evas/buffer: implement ignore_events methodMike Blumenkrantz
Summary: this is a simple implementation of ignore_events functionality which sets pass_events if it's an image or prevents the emission of events in other cases the result should be that no user events are received. this deliberately does not block the triggering of resize callbacks as in the original ticket since this guarantees broken functionality and is just not a good idea fix T4700 Reviewers: devilhorns, Hermet Reviewed By: Hermet Subscribers: Hermet, cedric, #reviewers, #committers Tags: #efl_display_system Maniphest Tasks: T4700 Differential Revision: https://phab.enlightenment.org/D6876
2018-05-23ecore-evas-buffer: defer resize callback until pre-renderMike Blumenkrantz
Summary: this mimics other engines, all of which have the same mechanics due to display server interactions. it also avoids unnecessary recalcs before pre-render if the canvas size was changing repeatedly fix T6924 ref D6019 Reviewers: cedric, JackDanielZ Reviewed By: JackDanielZ Subscribers: #committers, JackDanielZ Tags: #efl Maniphest Tasks: T6924 Differential Revision: https://phab.enlightenment.org/D6145
2018-04-23ecore_evas: forgotten refactoring of the buffer engine.Cedric BAIL
Thanks @jackdanielz for the report.
2018-04-09ecore_evas: check return value.Woochan Lee
Summary: After migration this code in Tizen. The coverity said it needs to check return value(CID 39562). Reviewers: raster, myoungwoon, woohyun, cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5907 Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-13ecore_evas: implement the move method for basic buffer canvasCedric BAIL
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-06-16ecore-evas: block buffer canvas events during deletionMike Blumenkrantz
internal evas is destroyed before engine delete function is called, so do not refeed events received during this time @fix
2017-05-05ecore_evas: use generic function for rendering ecore_evas buffer backend.Cedric Bail
2017-05-05ecore_evas: adjust buffer engine with nicer behavior from evas.Cedric Bail
2017-04-28ecore_evas: make ecore_evas buffer asynchronous.Cedric BAIL
2017-04-28ecore_evas: do timeout reset on RENDER_POST for future asynchronous rendering.Cedric BAIL
2017-04-28ecore_evas: properly warn when we are already rendering.Cedric BAIL
2017-04-28ecore_evas: refactor ecore_evas buffer render logic.Cedric BAIL
First step into introducing async rendering for ecore_evas buffer.
2017-03-31ecore-evas: add flag for buffer canvas to prevent deadlock in pixels_getMike Blumenkrantz
when calling pixels_get during a render callback, another render would trigger which would cause a deadlock from evas spinlock usage @fix
2017-03-24ecore-evas: better handling for pointer_warp with buffer canvasMike Blumenkrantz
if buffer canvas is not image object, this needs to emit a move event to be consistent with other engines probably this should emit events in all cases, but adding for image buffers this close to release seems potentially risky so I'll leave that for later ref 4a691f79df88d4b26c5af48ffb811e28f031e2f1
2017-03-17ecore-evas: handle title_set and name_class_set for buffer engineMike Blumenkrantz
2017-02-24ecore-evas: handle pointer_warp() for buffer canvasMike Blumenkrantz
this was missing and would do nothing when called
2017-02-24ecore-evas: handle pointer_xy_get() for buffer canvasMike Blumenkrantz
this was missing and would do nothing when called
2017-02-24ecore-evas: handle screen_geom_get() for buffer canvasMike Blumenkrantz
this was missing and would do nothing when called
2017-02-16ecore_evas: Fix mouse event in inlined windowsJean-Philippe Andre
This fixes the following ERR message: ERR<10589>:eina_safety /home/jpeg/e/core/efl/src/lib/ecore_evas/ecore_evas.c:3149 _ecore_evas_mouse_move_process_internal() safety check failed: cursor == NULL
2016-12-20Ecore Evas: Add support to set cursor icon per mouse device.Guilherme Iscaro
Since Ecore Evas now supports multiple mouses new APIs were added in order to be able to set the cursor image to any device.
2016-12-20Ecore Evas: Add API to set/get the pointer position per device.Guilherme Iscaro
Since Ecore Evas now support multiple mouse devices new APIs were added in order to fetch the mouse position.
2016-11-28Ecore Evas: Add multi seat support for mouse in/out.Guilherme Iscaro
2016-11-28Ecore_Evas: Add support for per-seat focus.Guilherme Iscaro
2016-09-08evas_engines: Add fn_evas_changed callbackDerek Foreman
To allow using the pageflip completion event to drive timing in the DRM engine we need to know as soon as possible that a render has been after a render has been considered if it will cause a page flip or not. The fn_evas_changed callback sends this information.
2016-08-01ecore_evas: Register animators for inline image eeJean-Philippe Andre
In ecore_evas_object_image_new, register animator tick del/add catchers, so that animators can work. This fixes mouse scroll in an inline window.
2016-02-03Evas engines: Add missing initializers in Ecore_Evas_Engine_FuncJean-Philippe Andre
2016-01-29ecore_evas: trigger pre render function as expected.Cedric BAIL
This should fix exactness and elementary documentation screenshot bug discovered by commit 6149fd7a0a9ef3f9495270cf1c4ab7727a30f21c in elementary.
2015-06-24ecore_evas: fix forgotten call to post render callback.Cedric BAIL
This fix using expedite with buffer backend.
2015-02-06ecore evas should not crash when unsetting pointerMike Blumenkrantz
ref D812 disappointed.jpg
2015-01-12Ecore: add EAPI to retrieve Ecore_Evas parent of a buffer.Daniel Zaoui
2014-10-29ecore_evas - ecore_evas's should start withdrawn then normal on showCarsten Haitzler (Rasterman)
this fixes initial state of an ee where you couldn't detect when the window had been accepted by the wm (goes to normal state from withdrawn). @fix
2014-08-06ecore_evas_buffer: fix dereference null return valueGwanglim Lee
Summary: This fixes coverity CID 1210810 @fix Test Plan: N/A Reviewers: raster, cedric, stefan_schmidt, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D1273
2014-02-28ecore_evas: Added support for window auxiliary hintGwanglim Lee
Summary: The window auxiliary hint is the value which is used to decide which actions should be made available to the user by the WM. If you want to set specific hint to your window, then you should check whether it exists in the supported auxiliary hints that are registered in the root window by the window manager. Once you've added an auxiliary hint, you can get a new ID which is used to change value and delete hint. The window manager sends the response message to the application on receiving auxiliary hint change event. A list of auxiliary hint within the Ecore_Evas has this format: ID:HINT:VALUE,ID:HINT:VALUE,... Reviewers: raster, cedric, seoz, Hermet Reviewed By: raster CC: cedric Differential Revision: https://phab.enlightenment.org/D543
2014-02-09ecore_evas: added window manager rotation to manage the rotation of windows ↵Gwanglim Lee
by the WM. Summary: The window manager rotation allows the WM to controls the rotation of application windows. It is designed to support synchronized rotation for the multiple application windows at same time. Reviewers: raster, seoz, cedric, Hermet Reviewed By: raster CC: cedric Differential Revision: https://phab.enlightenment.org/D529
2014-01-13ecore_evas - use eina_bool instead of the char for interal data.ChunEon Park
2014-01-11ecore - clean up code.ChunEon Park
fix indentation and use Eina_Bool instead of char.
2013-11-29ecore_evas: fix wrong check in _ecore_evas_buffer_msg_sendJihoon Kim
'if (!child_ee)' implies that "child_ee" is equal to NULL, but child_ee is used in the nest of if statement. This fixes CID 1039431
2013-03-12ecore_evas: re-order inclusion of header to fix compilation on Windows.Cedric Bail
It is a very tricky things to get header order right on windows. Having that order only in .c files simplify the work a lot. So let's try to do it with Ecore_Evas after it rewrite and split into modules.
2013-02-15Add infrastructure to handle message between ecore and parent ecore in ↵Jiyoun Park
Ecore_Evas I add new example related with this. (ecore_evas_extn_socket & plug example) ecore extn use this infrasturcture, server app and client app can communicate each other later, this can be used to contorl access message SVN revision: 83942
2013-01-14efl: simplify automake.Gustavo Sverzut Barbieri
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for the .la, use the EFL_ macros to generate the contents to be used in automake files. There is a nasty bit that libtool will parse Makefile*.am and will not get _DEPENDENCIES from _LIBADD and _LDADD if these are in @REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The contents of this is almost the same as _LIBADD or _LDADD with the "_INTERNAL_" replacement name. I hope the code will be result will be shorter and consistent as there is less places to change when we add/remove dependencies. Statistics are quite impressive (diffstat): {{{ 37 files changed, 663 insertions(+), 1599 deletions(-) }}} SVN revision: 82785
2013-01-11efl/ecore_evas: merge buffer into core, split extn apart.Gustavo Sverzut Barbieri
buffer is lightweight and dependency for many engines, merge it back into core. extn is a module on its own, and it's the only one linking to ecore_ipc, no need to add that to ecore_evas. minor cosmetic changes to configure to make output consistent. SVN revision: 82648
2012-12-05ecore_evas: Make the engines loadable modulesFlavio Vinicius Alvares Ceolin
Implementing support for loadables modules. It makes the engines been loaded when they are needed. It not breakes the api, so each engine still has its own api. The implementation basically is: * Functions that creates Ecore_Evas, for example ecore_evas_software_x11_new, request to load its module and then get the module's function to create the Ecore_Evas. * The other functions such as \(.*\)_window_get from the Ecore_Evas its interface and then call the appropriate method. * As there is no unified interface to communicate with the engines (not break api problem), all interfaces were declared in ecore_evas_private.h * Now the data necessary for each module is not declared in the Ecore_Evas_Engine structure, instead of this, the struct has a void pointer that is used by the modules. * In this first moment engines as software_x11 and gl_x11 were put together in the same module, but obviously exporting all the things necessary. SVN revision: 80280
2012-12-05From: Gwanglim Lee <gl77.lee@samsung.com>Gwanglim Lee
Subject: Re: Re: Re: [E-devel] [RFC] Virtual desktop window profile I've attached 4th patch. May the 4th be with you. ecore patch has been merged with efl and all files are based on r80123. Thanks & Regards, Gwanglim ------- Original Message ------- Sender : Daniel Juyung Seo<seojuyung2@gmail.com> Date : 2012-12-04 01:55 (GMT+09:00) Title : Re: Re: [E-devel] [RFC] Virtual desktop window profile It looks ok to me. Sorry but can you re-generate the patch according to the recent ecore merge to efl single tree? Daniel Juyung Seo (SeoZ) On Thu, Nov 29, 2012 at 12:29 AM, Gwanglim Lee <gl77.lee@samsung.com> wrote: Dear Raster and Daniel Juyung Seo, I've attached 3rd patches and test_config according to your reviews. These are based on r79782. [elementary & ecore] 1. "profile,set" -> "profile,changed" - done 2. spaces after EINA_LIST_FOREACH - done 3. variable type - keep 4. author - done 5. removing deprecated marking in patch - done 6. add elm_win_available_profiles_get to test_config for the debugging purpose - done 7. check whether a given profile is present in an available profiles. otherwise window profile will be one of the item in available profiles. - newly added thing to the elm_win 8. merge with EO - done. :( Any comments would be appreciated. SVN revision: 80214