aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ecore_wayland (follow)
Commit message (Collapse)AuthorAgeFilesLines
* here comes mesonMarcel Hollerbach2018-10-021-0/+42
| | | | | | | | | | | | | | | | | | | | | | | a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <zmike@samsung.com> Differential Revision: https://phab.enlightenment.org/D7012 Depends on D7011
* ecore_wl_dnd: correct wrong variable assignmentJongMin Lee2018-04-201-1/+1
| | | | @fix
* ecore_wayland: remove logically dead code.Bowon Ryu2018-04-061-2/+0
| | | | | | | | | | | | Summary: remove logically dead code. execution cannot reach this statement. Reviewers: cedric Differential Revision: https://phab.enlightenment.org/D5876 Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
* Fix static analysis resultShinwoo Kim2018-04-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | [Dereference after null check] (1) src/lib/ecore/ecore_main.c - _efl_loop_handler_efl_object_finalize checks if pd->loop_data is NULL. After that, _handler_reset > _handler_clear > _ecore_main_fd_handler_del > _ecore_main_fdh_pool_del is directly dereferencing pd->pool_data. - _efl_loop_handler_efl_object_parent_set checks if pd->loop_data as well. Then it calls _handler_reset as well. (2) src/lib/ecore_wayland/ecore_wl_dnd.c - ecore_wl_dnd_selection_set checks if t - result of wl_array_add - is NULL. And it is dereferecing t directly for wl_data_source_offer. (3) src/lib/elementary/efl_ui_dnd.c - Third parameter const char *data could be NULL. In this case strlen dereferences NULL. The data should be non NULL value. I have checked this with Mr. Thiep Ha. (4) src/lib/evas/canvas/evas_object_inform.c - _efl_canvas_object_efl_gfx_stack_stack_below checks if obj->layer is NULL. So it could call evas_object_inform_call_call_restack which is dereferencing obj->layer directly.
* efl: Reset ecore event types on initJean-Philippe Andre2017-12-191-19/+16
| | | | | | | | | | | | | | This fixes cycles of init/shutdown/init where ecore event types would become invalid, since they are now stored in a dynamic array rather than a statically stored array. The risk here is that if a module of EFL tends to init/shutdown in a "normal" scenario then the event type array will grow in a leaking manner. This could be fixed by resetting those event ID's only when the loop actually exits (EFL_EVENT_DEL on the main loop). I'm not using EFL_EVENT_DEL in this patch as this would add too many event callbacks to the main loop object, which may result in slightly slower event calls to it, affecting the overall performance.
* ecore_wayland: fix assigned value is never used.Subodh Kumar2017-10-161-4/+2
| | | | | | | | | | | | | | | Summary: Fix assigned value is never used. @fix Reviewers: cedric Subscribers: shilpasingh, jpeg Differential Revision: https://phab.enlightenment.org/D5283 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
* ecore_wayland: avoid crash during shutdown due to Ecore_Event queue.Cedric BAIL2017-03-091-0/+17
|
* doxygen: fix typos and some wrong expressions in API reference.Myoungwoon Roy, Kim2017-02-151-85/+84
| | | | | | | | | | | | | | Summary: I had fixed some typos and some wrong expressions, such as capital letters, singular, and orders of groups in API reference doxygen. Test Plan: Doxygen revision Reviewers: stefan, cedric, raster, Jaehyun_Cho, jpeg Subscribers: conr2d Differential Revision: https://phab.enlightenment.org/D4658 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
* ecore_wayland: fix over writing file descriptor bug for readingTaehyub Kim2016-11-181-5/+20
| | | | | | | | | | | | | | Summary: fix over writing file descriptor bug for reading. when we paste data to entry very fast, source->fd is over wrote by latest fd. It cause blocking of read function since the read function use invalid fd. so I make memorizing valid fd and using it in read function. @fix Reviewers: Hermet, jpeg, cedric, devilhorns, ManMower, raster Differential Revision: https://phab.enlightenment.org/D4410
* ecore-wayland: Prevent duplicated mouse up events.JengHyun Kang2016-06-281-5/+6
| | | | | | | | | | | | | | | | | | | | Summary: Prevent duplicated mouse up events generated from input_ungrab. If you touch downs and ups about all of fingers, that is sufficient condition to call ecore_wl_input_ungrab(). And then one mouse up event is generated from that function. So if you set a callback about ECORE_EVENT_MOUSE_BUTTON_UP, you can watch two mouse up events are occurred. Test Plan: Touch and release. And watch mouse up events. Reviewers: raster, zmike, devilhorns Reviewed By: devilhorns Subscribers: ohduna, input.hacker, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4112
* ecore-wayland: Deprecate Ecore_Wayland libraryChris Michael2016-05-031-0/+2
| | | | | | | | This patch deprecates the Ecore_Wayland library with a warning to not use it. This (imo) is a better method of deprecation rather than adding EINA_DEPRECATED to every function. Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
* ecore-wl(2): add copyright headers (MIT) from westonMike Blumenkrantz2016-04-201-0/+24
| | | | | | these files were created containing code which was very obviously copied from weston. when copying code, copyright headers must also be copied in order to comply with licenses.
* Ecore: Use calloc() to initialize Ecore_Event_Mouse_XXXXDuna Oh2016-04-201-4/+4
| | | | | | | | | | | | | | Summary: To ensure initialize all fields of Ecore_Event_Mouse_XXX, use calloc() instead of malloc(). Test Plan: N/A Reviewers: gwanglim, cedric, raster, devilhorns, ManMower, zmike Subscribers: jpeg, input.hacker, JHyun Differential Revision: https://phab.enlightenment.org/D3906
* ecore_wayland: Add a new API to get keymap - ecore_wl_input_keymap_get()JengHyun Kang2016-03-242-0/+17
| | | | | | | | | | | | | | | | | | | Summary: Each Ecore_Wl_Input structure has there own keymap. This keymap is struct xkb_keymap used in libxkbcommon lib and the client can get this keymap from server in wayland system. So if the client want to get keymap and use some libxkbcommon APIs, use this API to get keymap. Test Plan: Use this api after initialize wayland system. Reviewers: raster, zmike, ManMower, devilhorns Reviewed By: devilhorns Subscribers: input.hacker, ohduna, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D3819
* ecore_wayland: move check for pointer capabilityDuna Oh2016-01-141-2/+3
| | | | | | | | | | | | | | Summary: We don't need to work for cursor if system doesn't have pointer devices. Since this function is called by elementary(e.g. entry) also, we move a check condition into the function. @fix Reviewers: raster, zmike, devilhorns, ManMower, gwanglim Subscribers: cedric, JHyun, input.hacker, jpeg Differential Revision: https://phab.enlightenment.org/D3566
* ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_downDuna Oh2016-01-131-3/+6
| | | | | | | | | | | | | | | | | | | | | | Summary: When user touches the screen, ecore_drm generates MOUSE_MOVE event before MOUSE_BUTTON_DOWN. But when ecore_wayland gets touch_motion before touch_down, touch_focus window is NULL and sending MOUSE_MOVE event fails. Also in terms of 'touch' input, touch_focus needs be set in cb_touch_down, not in cb_pointer_enter. So this commit makes sure that ecore_wayland generates MOUSE_MOVE when touch_focus is set. @fix Test Plan: when the application is launched for first time, user clicks on any area of the screen. We can see the posion of touch event wrong. Reviewers: raster, zmike, devilhorns, gwanglim, ManMower Reviewed By: ManMower Subscribers: jpeg, JHyun, cedric, input.hacker Differential Revision: https://phab.enlightenment.org/D3555
* ecore_wayland: set touch_focus window when gets pointer_enterDuna Oh2016-01-071-0/+1
| | | | | | | | | | | | | | | | | | | Summary: When user touches the screen, ecore_wayland gets touch_motion event before touch_down event. But touch_focus would be NULL in cb_touch_motion, so doesn't send ECORE_EVENT_MOUSE_MOVE event to client. This fix set touch_focus when gets pointer_enter same as pointer_focus. Test Plan: when the application is launched for first time, user clicks on any area of the screen. We can see the posion of touch event wrong. @fix Reviewers: devilhorns, raster, ManMower, zmike Subscribers: input.hacker, cedric, jpeg, JHyun Differential Revision: https://phab.enlightenment.org/D3545
* ecore_wayland: rename session recovery to align namespaceStefan Schmidt2015-12-186-36/+36
| | | | | | | | | | Align out extension naming with other unstable wayland protocols. The unstable protocols from the wayland-protocols repo are prefixed with a zwp additionally we keep a e prefix for now as we are still developing this here. No functional change, just rename. Pointed out by Derek that the session-recovery interface name is a bit to generic here.
* ecore_wayland: add listener for uuid and provide already existing oneStefan Schmidt2015-12-161-2/+13
| | | | | | | | | Setup a listener to receive an uid from the compositor. If we already have one during creation, aka we are re-connecting to recover a session, we provide it to the compositor so it can look our attributes up based on it. Again hidden behind and env var to avoid problems with other developments, for now. ref T2922
* ecore_wayland: store uuid received from compositorStefan Schmidt2015-12-162-1/+11
| | | | | | | If we get an uuid assigned from the compositor we will store them locally to provide it later on if needed. ref T2922
* ecore_wayland: create session recovery listener only if env var is setStefan Schmidt2015-12-161-1/+1
| | | | | | | Same as for the global we make sure here we only add the listener if the, for now, needed env var is set. ref T2922
* ecore_wayland: only bind session recovery interface when env var is setStefan Schmidt2015-12-161-1/+1
| | | | | | | | To avoid trouble for other wayland testing we hide the session recovery work behind EFL_WAYLAND_SESSION_RECOVERY. Without this env var being set we do not bind the global. ref T2922
* ecore_wayland: remove disabled code for session recovery listenerStefan Schmidt2015-12-161-14/+0
| | | | The listener is handled inside ecore_wl_window. Remove the dead code from here.
* ecore-wl: Remove setting window animator in server modeChris Michael2015-12-031-3/+0
| | | | Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wl: Make "server mode" a globalChris Michael2015-12-032-1/+2
| | | | Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: Add support for using timer based animators if inChris Michael2015-12-031-0/+4
| | | | | | | | | | | server mode Summary: For E internal windows, we cannot use custom animator sources due to Other animators using a timer-based solution. For this case, when running in "server mode" for internal windows we will default to a timer based animator solution. Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: Reduce overhead for maximize/fullscreen set functionsChris Michael2015-11-181-5/+3
| | | | | | | | | This patch just gets the state flags directly from the window rather than calling "get" functions to return the same parameter. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: Fix iconified functions for consistencyChris Michael2015-11-181-10/+11
| | | | | | | | | | * sanitize bool params * enforce window state flag setting * correctly detect window state using window flag @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: Add EINA_SAFETY checks to window functionsChris Michael2015-11-181-35/+58
| | | | | | | | | This adds EINA_SAFETY returns for all public facing ecore_wl_window functions. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: rewrite maximize/fullscreen set functions for consistencyMike Blumenkrantz2015-11-171-25/+26
| | | | | | | | | | | * use safety macros for win struct param (should be the case for all fns here) * sanitize bool params * enforce window state flag setting * correctly detect window state using window flag instead of type @fix ref T2841
* ecore-wayland: return only the relevant state value for maximize/fullscreenMike Blumenkrantz2015-11-171-2/+2
| | | | | | | having window types for fullscreen/maximize is not defined by spec and leads to state mismatches when toggling from api vs receiving events from the compositor @fix
* ecore-wayland: Make ecore_wl_window_maximized_get return proper valuesChris Michael2015-11-171-4/+1
| | | | | | | | | | | This brings ecore_wl_window_maximized_get more inline with ecore_wl_fullscreen_get function in that it will now check either the window maximized state, or the window type, to determine if a window is actually maximized @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore_wayland: fix build for ivi-shell.Stefan Schmidt2015-10-261-4/+4
| | | | | | | | During a rework this bit got missed and made the build fail if ivi-shell was enabled. Thanks a lot to aerodynamik for bringing this to our attention and even pointed out the fix. Fixes T2798
* ecore-wayland: plug some trivial leaksMike Blumenkrantz2015-10-202-1/+7
|
* ecore-wayland: only do deferred shell surface creation when a surface existsMike Blumenkrantz2015-10-191-1/+2
|
* ecore-wayland: defer shell surface creation for windows if shell is not boundMike Blumenkrantz2015-10-193-116/+131
| | | | | | | | | in the case where a surface is created before the compositor binds its shell(s), a shell surface would never be created fixes case where internal windows would not create frames in enlightenment @fix
* Revert "ecore-wayland: Redo window animators to not use Custom source animators"Mike Blumenkrantz2015-10-162-54/+0
| | | | | | | | This reverts commit bd83d4c03ab9f6f6ae225976b9595a1dfde61237. adding an animator (and then not managing its ticks) causes the animator to fire constantly. in this case, it was causing 100% cpu usage and forcing a compositor re-render for every frame regardless of damages
* ecore-wayland: Redo window animators to not use Custom source animatorsChris Michael2015-10-142-0/+54
| | | | | | | | | | | Summary: This moves window animators (for frame callbacks) to not use a custom animator source but rather use a timer-based source. This also moves animators to be per-window based (in that an animator is created per-window). @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wl: Add missing EINA_UNUSED for unused function paramatersChris Michael2015-10-131-1/+1
| | | | Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wl: Don't update window size during ecore_wl_window_resizeChris Michael2015-10-121-2/+3
| | | | | | | | | | | | function Summary: As we call ecore_wl_window_update_size from various places when needed, don't call it inside the resize function. This addresses an issue where sizes for the Ecore_Wl_Window may be out of sync @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: Comment out unused functionsChris Michael2015-10-091-30/+0
| | | | | | | | | | | Summary: As we do not listen for surface enter/leave events, we do not need these functions so comment them out. Thanks to Tom for the report :) @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: Comment out unused functions for session listenerChris Michael2015-10-091-10/+10
| | | | | | | | | | | Summary: As session listener is currently disabled in Ecore_Wayland, we don't need these functions defined so comment them out. Thanks to Tom for the report :) @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wayland: Don't use custom animator when in server modeChris Michael2015-10-051-0/+2
| | | | | | | | Signed-off-by: Chris Michael <cp.michael@samsung.com> Reviewed-by: @zmike necessary to avoid breaking the compositor canvas animator
* ecore_wl: abort if wl_display_dispatch returns negative valueBoram Park2015-09-231-3/+32
| | | | | | | | | | | | | | | Summary: If the connection between server and client has problems, wl_display_dispatch an return negative value. i.e. when enlightenment has been killed accidently. In this case, app can enter into infinite loop. Signed-off-by: Boram Park <boram1288.park@samsung.com> Reviewers: stefan_schmidt, zmike, gwanglim, raster, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3077
* ecore_wayland: only add listener if recovery interface was binded correctlyStefan Schmidt2015-08-271-1/+2
| | | | In the case the bidn fails we could crash here by accessing it.
* ecore_wayland: add wayland session recovery listenerStefan Schmidt2015-08-261-0/+17
| | | | | Register and wait for the uuid event issued by the compositor once a new surface is created.
* ecore_wayland: bind and destroy session_recovery interface correctly.Stefan Schmidt2015-08-261-0/+7
| | | | | | | | This was missing from the initial session recovery support patches. Bind the interface so we can actually work with it on the client side and destroy it at the end. @fix
* Add experimental implementation of custom animator ticksChris Michael2015-08-201-1/+1
| | | | Signed-off-by: Chris Michael <cp.michael@samsung.com>
* ecore-wl: do not nul terminate dropsMike Blumenkrantz2015-08-131-3/+2
| | | | | | | the application can do this based on mime types. we should not be nul terminating incremental drop data @fix
* ecore-wl: Support wl_keyboard_send_repeat_info for adjusting keyboard repeat ↵Chris Michael2015-08-042-2/+34
| | | | | | | | | | | | rate and delay Summary: This adds support for allowing a client/compositor to adjust the keyboard repeat rate and delay via a call to wl_keyboard_send_repeat_info. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>