Commit Graph

5221 Commits

Author SHA1 Message Date
Tobias Blass 482fc48c74 FIX: Suprocess loops endlessly when the control socket closes.
recvmsg(3) returns 0 if the connection partner has shut down its socket.
The communicate function considered 0 a successful message, though, and
keeps calling recvmsg(3) again and again.
2018-06-20 22:00:45 +02:00
emersion a6c0e25d36
surface: remove wlr_frame_callback
This removes the need to allocate a structure for frame callbacks.
wl_resource_get_link is used instead.
2018-06-20 20:00:23 +01:00
emersion cc89906ddf
Merge pull request #1067 from emersion/fix-surface-double-release
surface: fix double wl_buffer.release events
2018-06-17 18:24:34 +01:00
Rostislav Pehlivanov ed7d5b0f53 Fix example 2018-06-17 15:19:17 +01:00
emersion 57548b557a
Merge branch 'master' into screencontent 2018-06-17 14:49:18 +01:00
emersion bd0c1b7949
export-dmabuf: update protocol 2018-06-17 14:19:45 +01:00
Rostislav Pehlivanov 9eddcbc376 Update example and protocol 2018-06-17 14:06:52 +01:00
emersion 843621714f
surface: fix double wl_buffer.release events
Prior to this commit, we re-uploaded the buffer even if a new one
wasn't attached. After uploading, we send wl_buffer.release. So,
this sequence of requests resulted in a double release:

    surface.attach(buffer, 0, 0)
    surface.commit()
    <- buffer.release()
    surface.commit()
    <- buffer.release()
2018-06-17 12:49:34 +01:00
Drew DeVault fb118ac996
Merge pull request #1062 from emersion/wlr-buffer-comeback
Add back wlr_buffer
2018-06-16 13:43:14 -07:00
emersion 225aa815b0
buffer: fix wlr_texture leak on failed alloc 2018-06-16 19:01:13 +01:00
emersion ac0f9acb06
Merge pull request #1066 from ammen99/master
layer-shell: check if the surface is mapped in layer_surface_destroy()
2018-06-16 15:44:01 +01:00
Ilia Bozhinov 23707f6504 layer-shell: check whether the surface is mapped in layer_surface_destroy()
If the layer surface has been closed by the compositor, using
layer_surface_close(), then the unmap event is emitted. However, when
the layer surface is later destroyed by the client, the compositor used
to get a second unmap, which is fixed with this commit.
2018-06-16 17:29:53 +03:00
Drew DeVault 8e33deb0be
Merge pull request #1063 from ascent12/multi-seat
Multiseat fixes
2018-06-14 10:37:06 -07:00
emersion da114d5013
buffer: don't destroy DMA-BUF textures with wl_buffer
After some discussions on #wayland, it seems that as soon as you
hold a reference to a DMA-BUF (via EGLImage for instance), the
underlying memory won't get free'd. The client is allowed to
re-use the DMA-BUF and upload something else to it though.
2018-06-14 10:15:14 +01:00
Scott Anderson 964e0a50be Check for seat0 properly 2018-06-14 21:02:32 +12:00
Scott Anderson 47985d2dc5 Multiseat fixes 2018-06-14 20:46:16 +12:00
emersion 73f924b5ec
Merge branch 'remove-surface-texture' into wlr-buffer-comeback 2018-06-14 08:56:49 +01:00
emersion 3a2ef75d3a
Add back wlr_buffer
This reverts commit d27eeaa14c.
2018-06-14 08:51:38 +01:00
Drew DeVault d27eeaa14c Revert "Merge pull request #1050 from emersion/wlr-buffer"
This reverts commit 5e4af4862e, reversing
changes made to 9a1f0e2d5f.
2018-06-13 19:57:42 -04:00
emersion 0378d143d9
surface: remove wlr_surface.texture
The texture is managed by the surface's wlr_buffer now. In
particular, the buffer can destroy the texture early if it becomes
invalid.
2018-06-13 19:38:10 +01:00
emersion d643361c48
Merge pull request #1047 from NotKit/gles2fix
Fix GLES2 renderer to use glGetUniformLocations locations
2018-06-13 15:37:16 +01:00
Drew DeVault 5e4af4862e
Merge pull request #1050 from emersion/wlr-buffer
Introduce wlr_buffer
2018-06-13 05:40:23 -07:00
NeKit 6f29db1044 gles2 renderer: introduce struct wlr_gles2_tex_shader 2018-06-13 13:43:01 +03:00
emersion 38d415dd20
buffer: make wlr_buffer_ref return the buffer 2018-06-11 08:13:35 +01:00
Genki Sky 28d718c0dd rootston: Cancel existing keyboard grab when changing focus
It's possible that a non-default keyboard grab exists when we are trying
to change focus. For example, say there is an XDG popup when we click on
a different window. This popup's keyboard grab will swallow any
keyboard_notify_enter(), meaning the newly-clicked window won't receive
keyboard input.

So, we cancel any existing grabs in roots_seat_set_focus(). Before this
fix, a window would have been set as active but not receive keyboard
entry.

Fixes #233.

Signed-off-by: Genki Sky <sky@genki.is>
2018-06-10 21:47:49 -04:00
Drew DeVault 9a1f0e2d5f
Merge pull request #1052 from VincentVanlaer/egl-damage-khr
Split eglSwapBuffersWithDamage feature detection
2018-06-09 10:19:40 -07:00
Vincent Vanlaer f1a62a3200 Rename egl.exts to match the extension names 2018-06-09 19:11:51 +02:00
emersion 9ea5b1a85e
Merge branch 'master' into wlr-buffer 2018-06-09 17:54:47 +01:00
Vincent Vanlaer 5ec6d8230d Split eglSwapBuffersWithDamage feature detection
Detecting whether eglSwapBuffersWithDamageEXT or
eglSwapBuffersWithDamageKHR is used should be based on the extension
string, not only on the availability of the function.
2018-06-09 11:39:14 +02:00
emersion 9179b438a5
Merge pull request #1051 from RedSoxFan/fix-atti-assert
Fix atti assert in wlr_egl_init
2018-06-09 08:06:24 +01:00
Brian Ashworth 18bbe2d897 Fix atti assert in wlr_egl_init 2018-06-08 20:25:36 -04:00
Drew DeVault 7f3ad497eb Merge branch 'surface-fix-buffer-release' 2018-06-08 19:54:11 -04:00
emersion 8770449eb7
Merge pull request #1028 from emersion/egl-context-priority
Request a high priority EGL context
2018-06-08 21:06:01 +01:00
emersion 7d24af43e5
buffer: improve docs 2018-06-08 20:28:57 +01:00
emersion e4933ab445
Introduce wlr_buffer 2018-06-08 20:06:13 +01:00
emersion a072a8309e
Merge pull request #1049 from emersion/fix-xwayland-restart-on-shutdown
rootston: destroy xwayland before all clients
2018-06-08 09:53:40 +01:00
emersion 3a81afed0e
rootston: destroy xwayland before all clients
Destroying all clients disconnects the xwayland client, and
xwayland automatically restarts when disconnected.
2018-06-08 09:29:55 +01:00
emersion 457bfcab19
render/egl: only request high priority context on DRM 2018-06-08 00:17:45 +01:00
emersion d425edc96c
render/egl: consistent extension checking 2018-06-08 00:06:34 +01:00
emersion cbfe0e834a
Request a high priority EGL context 2018-06-08 00:06:34 +01:00
emersion 3e83f9d6b8
surface: don't release wl_drm and linux-dmabuf buffers early 2018-06-08 00:05:11 +01:00
emersion 32f9699359
Merge pull request #1029 from emersion/wl-backend-keyboard-focus-keys
backend/wayland: fix keyboard keys not pressed/released when focus changes
2018-06-08 00:04:33 +01:00
NeKit de91c55ea9 Fix GLES2 renderer to use glGetUniformLocations locations
This is needed as uniform locations are driver implementation-specific.
2018-06-07 18:06:31 +03:00
emersion 6f895081e1
Merge pull request #1043 from acrisci/drag-icon-unmap
drag-icon map and unmap fixes
2018-06-07 11:18:58 +01:00
emersion 211463ba87
Merge pull request #1045 from ammen99/master
xdg-shells: add a set_parent signal to toplevel surfaces
2018-06-06 21:38:32 +01:00
Tony Crisci 5d3e95f833 dont damage drag icon after update_position 2018-06-06 12:02:01 -04:00
Tony Crisci 1a07bf95ae
Merge pull request #1044 from emersion/fix-box-intersection
box: fix wlr_box_intersection
2018-06-06 11:59:40 -04:00
emersion b8202f072c
Merge pull request #1036 from martinetd/subsurface-draworder
wlr_surface: walk up surfaces in reverse order
2018-06-06 15:29:19 +01:00
Ilia Bozhinov a989104a6b xdg-shells: add a set_parent signal to toplevel surfaces 2018-06-06 17:08:06 +03:00
emersion ed89a24328
box: fix wlr_box_intersection 2018-06-06 08:47:04 +01:00