summaryrefslogtreecommitdiff
path: root/src/lib/ecore_wl2 (follow)
AgeCommit message (Collapse)Author
2018-12-14ecore_wl2: Fix anchor for xdg pop-upsDerek Foreman
Anchors are in window geometry, so we should be using 0,0 instead of the parent x,y for the top left corner of the window. Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com> Reviewed-by: Chris Michael <cp.michael@samsung.com> Differential Revision: https://phab.enlightenment.org/D7436
2018-12-14ecore_wl2: Replace direct usage of set_config.geometry with gettersDerek Foreman
I'm going to deal with some ugly geometry problems in the getter func shortly. Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com> Reviewed-by: Chris Michael <cp.michael@samsung.com> Differential Revision: https://phab.enlightenment.org/D7431
2018-12-14ecore_wl2: remove uniconify path from ecore_wl2_window_iconified_setDerek Foreman
Wayland shells have no way to unset iconified state. What this code did was corrupt current window state in potentially fatal ways. Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com> Reviewed-by: Chris Michael <cp.michael@samsung.com> Differential Revision: https://phab.enlightenment.org/D7430
2018-11-15ecore_wl2_dnd: initialize source to NULL when it destroyYeongjong Lee
Summary: This prevent double destruction of source. if _ecore_wl2_input_del is called with destroyed source, it can make unexpected troubles. Reviewers: Hermet, id213sin, devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7265
2018-11-09ecore wl2 - fix wl touch handler struct to set extra cb fieldsCarsten Haitzler (Rasterman)
sape and orient were not set, set them to NULL with fixme's
2018-11-09ecore wl2 - fix wl protocol listyener to init all struct fieldsCarsten Haitzler (Rasterman)
2018-10-17ecore_wl2: Fix a memory leaking caseWonki Kim
Summary: there is a memory leaking in some case. this patch fixes it. Signed-off-by: Wonki Kim <wonki_.kim@samsung.com> Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7167
2018-10-12meson: add buildsystem to ecore_wl2Marcel Hollerbach
this was missing. Reported by jf_simon.
2018-10-10ecore_wl2: fix build breakMarcel Hollerbach
when i tested this commit i had wayland turned off. Sorry for the noise.
2018-10-10ecore_wl2: fix coverity issue. (Resource Leak)Hosang Kim
Module is not freed when eina_module_load is failed. Differential Revision: https://phab.enlightenment.org/D7152
2018-10-02here comes mesonMarcel Hollerbach
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
2018-09-19ecore_wl2_window: Fix incorrectly implemented null check.Woochanlee
Summary: It checks 'window->xdg_toplevel' two times. Reviewers: ManMower, devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7065
2018-09-12ecore_wl2: add support for intree loading of the moduleMarcel Hollerbach
Summary: the module was not loaded when we were running intree. Reviewers: ManMower, devilhorns Reviewed By: devilhorns Subscribers: devilhorns, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7023
2018-09-11ecore_wl2: Move surface module file to modules directoryDerek Foreman
It is now similar to how other modules are handled. Differential Revision: https://phab.enlightenment.org/D7016 Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-08-31docs: Fix typos in API reference doc and comments.Yeongjong Lee
Reviewers: Hermet, segfaultxavi Reviewed By: Hermet, segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6948
2018-08-23ecore wl2: change logging level.Hermet Park
Summary: ease the error message to warning because it's not serious one. Reviewers: devilhorns, ManMower Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6899
2018-07-10ecore_wl2&elput: correctly fill the key structureMarcel Hollerbach
Summary: the key structure has two fields key and keyname, those should be identical to the keystructures from x. the method xkb_keysym_to_utf8 however returns different values for keys like "minus" thus only relying on xkb_keysym_name files this issue. Reviewers: eagleeye, devilhorns Reviewed By: eagleeye Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6520
2018-07-06ecore_wl2: Remove ecore_wl2_display_window_findDerek Foreman
Summary: This is now totally trivial and needs not exist. Depends on D6522 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6523
2018-07-06ecore_wl2: Replace window ids with pointersDerek Foreman
Summary: There's no benefit to generating ids instead of just using the Ecore_Wl2_Window pointer in events. This has the added benefit of working around a really nasty hash collision bug when multiple ecore_evas engines are used at once. ref T7053 ref T6222 @beta_break Depends on D6521 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #committers, zmike Tags: #efl Maniphest Tasks: T7053, T6222 Differential Revision: https://phab.enlightenment.org/D6522
2018-06-19ecore_wl2: Better error handling for dmabuf sync ioctlsDerek Foreman
Summary: Turns out these can fail with EINTR or EAGAIN, and we're supposed to try again. Reviewers: zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6250
2018-06-15ecore_wl2: purge surface buffers in semi_freeDerek Foreman
Summary: This fixes a session recovery bug with software render. An attempt to re-use a buffer in a new wayland connection resulted in another disconnect and broken rendering. Depends on D6281 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6282
2018-06-15ecore_wl2: Add purge to ecore_wl2_window_surface_flushDerek Foreman
Summary: It's convenient to be able to pass this through this api too. @betabreak Depends on D6280 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6281
2018-06-15ecore_wl2: Handle purging flush in dmabuf moduleDerek Foreman
Summary: Allow destroying all buffers, even attached ones, in the dmabuf surface module. Depends on D6279 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6280
2018-06-15ecore_wl2: Add a purge option to surface flushDerek Foreman
Summary: We need to be able to forcibly destroy all surface buffers to make session recovery work safely for software rendering. @betabreak Depends on D6278 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6279
2018-06-15ecore_wl2: Set the parent window's surface to NULL on surface destroyDerek Foreman
Summary: Prevents potential use after free. Depends on D6277 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6278
2018-06-15ecore_wl2: Remove ecore_wl2_window_raiseDerek Foreman
Summary: Since this can't be done, it probably doesn't need API. @betabreak Depends on D6276 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6277
2018-06-05ecore_wl2: Fix dmabuf lockingDerek Foreman
Summary: The ioctls weren't properly used so no locking took place at all, leading to rendering anomalies when placing dmabuf buffers in hardware planes. Also, forgetting to check error returns left no indication that the ioctl was failing, so we now emit a warning if the ioctl fails. Reviewers: zmike Reviewed By: zmike Subscribers: devilhorns, cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6237
2018-05-22ecore_wl2_window: Silence early commit ERR for mouse cursorsDerek Foreman
Summary: Our wayland mouse cursor code can trigger commits with commit pending when mousing into a window across CSD, which results in quickly setting the default cursors then an animated resize cursor before the first commit has finished. Fixing this is non trivial, and the bug is just a harmless inefficiency of little impact, so just disable the ERR for that specific case instead. Reviewers: zmike Reviewed By: zmike Subscribers: cedric, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6184
2018-05-08ecore_wl2: complain loudly when move or resize doesn't provide a seatDerek Foreman
Summary: We now have the ability to provide the seat information properly, so fire off an ERR if a caller doesn't. Depends on D6131 Reviewers: zmike, cedric Reviewed By: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6132
2018-05-08ecore_wl2: warn on unused result from ecore_wl2_input_seat_id_getDerek Foreman
Summary: Make it harder to misuse this function in the future. Depends on D6129 Reviewers: zmike, cedric Reviewed By: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6130
2018-05-08ecore_wl2: Fix window drag mouse eventingDerek Foreman
Summary: When a CSD button interaction under wayland leads to a compositor action like move or resize, we essentially "give back" that button press to the compositor, and it never sends us a mouse up for it. We need to internally fire a mouse up event to fix up state so the client doesn't think the mouse is still down. Until now we've been doing this by setting a flag when we start a move/resize and checking it at next pointer enter for the window. This leads to unsolvable races and wacky bookkeeping, and runs afoul of the fact that we're not actually guaranteed a pointer enter immediately after a move completes. There is absolutely no way at all on wayland to know if a move or resize operation has completed. So, let's just fire the mouse up immediately on start of interaction, which is raceless. This fixes a years old bug where dragging a window might leave a stuck mouse up, and allow hilighting text without drag after the window drag completes. (elementary-test -to "text editor" with multiple windows open exhibits this bug) Depends on D6127 Reviewers: zmike, cedric Reviewed By: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6128
2018-05-08ecore_wl2: Remove ecore_wl2_input_grab/ungrabDerek Foreman
Summary: These should never be called, so they shouldn't be API. This kind of internal state fiddling should happen implicitly in the API that need it. @beta_break Depends on D6126 Reviewers: zmike, cedric Reviewed By: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6127
2018-05-08elm_win: Remove move stop callbackDerek Foreman
Summary: This is only fired to trigger a cursor set under wayland, but that cursor set should be done unconditionally on mouse in. However, mouse in was being discarded because mouse out was being deferred when the window was "grabbed" for moving. If instead we just let the mouse out occur as it should, the cursor is properly updated on mouse in. Depends on D6118 Reviewers: zmike, cedric Reviewed By: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6119
2018-04-20ecore_wl2: reduce wayland display flushesDerek Foreman
Clean up various places where we do flushes that we don't need to because some immediately following action is going to cause a flush. Also fix places where we flush without actually doing anything.
2018-04-20ecore_wl2: Share same region between input and opaque when possibleDerek Foreman
If input and opaque region are the same (they usually are) we can use the same region for both.
2018-04-20ecore_wl2: Refactor region createDerek Foreman
Trivial refactor
2018-04-20ecore_wl2: Make ecore_wl2_window_false_commit more robustDerek Foreman
False commit when a commit is already pending is an error, but for safety it should be a nop. Currently it would overwrite the existing frame callback which could cause problems on window destruction.
2018-04-20ecore_wl2: Don't unmap buffers at unlockDerek Foreman
We should be using dmabuf sync ioctls instead of mmap/munmap every draw, this makes that happen. The surface code continues to do what its always done, and map/unlock.
2018-04-20ecore_wl2: Add ERR for buffer lock errorsDerek Foreman
Should never double lock or double unlock, this isn't refcounted, and probably doesn't need to be.
2018-04-20ecore_wl2: Add dma_buf lock/unlock ioctlsDerek Foreman
These should help with coherency later when we don't unmap for every surface post.
2018-04-20ecore_wl2: Add lock/unlock function pointers to buffersDerek Foreman
For backend specific lock/unlock behaviour
2018-04-20ecore_wl2: Add ecore_wl2_buffer_lockDerek Foreman
Currently we're making mapping implicitly take a lock.
2018-04-20ecore_wl2: Don't do anything but update alpha in alpha_setDerek Foreman
This is now done in ecore_evas where it should be. alpha_set now does only what its name claims it does - sets whether a surface has an alpha channel or not.
2018-04-20ecore_wl2: Reconfigure window on alpha setDerek Foreman
This allows software renderers to reconfigure their buffers to actually change whether alpha is present.
2018-04-20ecore_wl2: Remove window_transparent_setDerek Foreman
This is exactly the same as alpha_set, so it really doesn't have much reason to exist.
2018-04-20ecore_wl2_dmabuf: Properly reconfigure on surface alpha changeDerek Foreman
When alpha changes we need to blow away all our buffers in reconfigure, even if they're still the right dimensions. Otherwise we can end up rendering to an XRGB buffer when we wanted to use ARGB and we won't have proper transparency.
2018-04-20ecore_wl2: Add ecore_wl2_surface_alpha_get queryDerek Foreman
We'll need this for some surface modules to properly handle alpha changes
2018-04-20ecore_wl2: Add alpha to reconfigureDerek Foreman
Currently we only ever make wayland windows with alpha, this is a step towards changing that.
2018-04-17ecore_wl2: handle configure_complete after handling configureDerek Foreman
since configure_complete may result in a draw op, configure should be handled first so the size is correct.
2018-04-11ecore_wl2: Fix ecore_wl2_window_output_findDerek Foreman
Window geometry x, y are the offset from the top left corner of the buffer, and not screen co-ordinates, so has nothing to do with output geometry and can't be used to determine which window we're on. Now that we track surface enter/leave events we can just give the first output in the list of outputs we know we're on.