Commit Graph

500 Commits

Author SHA1 Message Date
emersion 69409ea3cb
Merge pull request #654 from emersion/send-frame-done
rootston: send frame done events unconditionally
2018-02-23 18:55:18 +01:00
emersion ca3a947864
rootston: fix user-after-free in output_handle_destroy 2018-02-23 10:29:18 +01:00
emersion 5dba27216c
rootston: fix use-after-free in handle_keyboard_destroy 2018-02-23 10:24:28 +01:00
emersion 00e647e161
rootston: fix sending frame done to undefined view 2018-02-20 16:32:29 +01:00
emersion dc77b4c8c6
rootston: don't send frame done if wlr_output manages the surface 2018-02-20 16:17:23 +01:00
emersion 6f8eca2b3a
rootston: send frame done events unconditionally 2018-02-20 15:33:48 +01:00
Dominique Martinet 7d26a6debd xdg-shell stable: copy-pasta implementation 2018-02-14 12:52:30 +01:00
emersion c2e1474010
Reformat all #include directives 2018-02-12 21:29:23 +01:00
emersion 36ead80cd1
Make wlr_signal_emit_safe private 2018-02-12 19:52:47 +01:00
emersion 10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove} 2018-02-12 10:36:43 +01:00
emersion 5e58d46cc1
Add wlr_signal_emit_safe 2018-02-12 09:12:31 +01:00
emersion ec837e3c9e
Introduce wlr_output_damage 2018-02-11 12:49:30 +01:00
Dominique Martinet 5aee2afc7b rootston: allow scale < 1 as well
Since we support fractional scale, having scale=0.5 can make sense
(and, as far as I can tell, works fine)
2018-02-10 09:28:54 +01:00
emersion cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage 2018-02-09 14:50:26 +01:00
Vincent Vanlaer 74264d4f62 Rename roots_seat_cancel_transform 2018-02-08 13:13:33 +01:00
Vincent Vanlaer 84234b4311 Merge branch 'master' into cancel-grab 2018-02-08 13:07:39 +01:00
Drew DeVault 78dc0c7de1
Merge pull request #611 from DonOregano/fix-resize-freeze
Make pointer button release outside window still count down the button_count
2018-02-07 21:00:09 -05:00
Vincent Vanlaer 712665b83b Fix style error 2018-02-07 20:26:30 +01:00
Vincent Vanlaer 099c80e7d6 Fix jitter when quickly resizing windows
Surfaces and views get resized only on commit, therefore we may only
change the position of a window if there are no pending commits.
2018-02-07 18:36:08 +01:00
Lars Hagström b181f793c3 Make pointer button release outside window still count down the button_count.
When double-clicking a maximized window title, so that the windows size is restored and the mouse pointer ends up _outside_ the window it becomes impossible to move windows.
The reason is that the button_count variable is not counted down if the mouse button is released outside the window, so the button_count remains incremented even after the button is released.
This patch adds a call to wlr_seat_pointer_notify_button if the mouse button is released outside the window.
(I am a complete noob to wlroots, so be kind...)
2018-02-07 17:42:31 +01:00
Vincent Vanlaer 90eb50d9aa Merge roots_seat_cancel_* into one function 2018-02-06 22:55:56 +01:00
Vincent Vanlaer 147e5c0f8f Refactor roots_cursor_press_button
Removed the button_count check when resizing/moving/rotating ends,
since all buttons presses are now properly tracked.
2018-02-06 13:57:03 +01:00
Vincent Vanlaer 6567a35903 Update seat pointer on meta move/resize/rotate
This will send the button pressed event to the client. This shouldn't
be a problem since sebsequent pointer movements are not sent to the
client. Thus the client will not for example start selecting text when
it is being resized using the compositor keybindigns.
2018-02-06 12:53:51 +01:00
Vincent Vanlaer 7ae8800a63 Cancel rootston move/resize/rotate on escape press 2018-02-06 12:36:38 +01:00
Vincent Vanlaer 7e3bb39d49 Always notify seat on button press
When the cursor is not over a view, wlr_seat_pointer_notify_button is
not called. However, this function does the bookkeeping of the pointer
state with regards to the number of pressed buttons. Because this
function also sends updates to the focused view, it has been moved
down, after the focus has been updated.
2018-02-06 12:36:04 +01:00
Fabian Geiselhart ee6cbe2efd
Comments should talk about colons not semicolons 2018-02-04 15:26:12 +01:00
emersion 1cea73d2d8
rootston: fix rotated views damage tracking 2018-02-04 11:59:04 +01:00
emersion 1842487d61
rootston: fix crash when closing a fullscreened xwayland view 2018-02-03 16:43:31 +01:00
emersion 6ba36cc52f
rootston: do not rely on current view size when accumulating damage 2018-02-03 16:33:58 +01:00
emersion ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color 2018-02-03 09:32:02 +01:00
emersion 402587ed65
rootston: use output renderer 2018-02-03 09:25:35 +01:00
emersion 5aa642485d
rootston: do not render views fullscreened on other outputs 2018-02-02 20:39:15 +01:00
emersion 4d6e7f510e
rootston: fix artifacts when leaving fullscreen in a rotated view 2018-02-02 20:34:46 +01:00
emersion a7cba7d83f
rootston: damage whole output when entering/leaving fullscreen 2018-01-30 14:40:22 +01:00
emersion 2a855e6282
rootston: fix urxvt damage on HiDPI outputs
util/region: add wlr_region_expand
2018-01-30 12:01:10 +01:00
emersion d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
output: add wlr_output_transformed_resolution
2018-01-30 10:23:35 +01:00
emersion 51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-29 23:24:09 +01:00
Tony Crisci ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
Backport screenshooter fixes from the renderer redesign v1
2018-01-29 17:13:23 -05:00
emersion 4cc58288cb
rootston: fix damage when changing views z-index 2018-01-29 09:07:29 +01:00
emersion 20e6861021
Do not flush damage if swapping buffers failed
This should solve issues with multiple outputs on DRM backend.
2018-01-28 22:39:24 +01:00
emersion be888df4c3
rootston: fix build without xwayland 2018-01-28 21:38:29 +01:00
emersion 1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-28 21:22:50 +01:00
Patrick Steinhardt d05143950b rootston: move together XWayland setup code
The XWayland code for creating the cursor as well as creating the
surface itself are currently split up into two ifdef'ed sections in
`desktop_create()`. Move together these two sections in order to avoid
having multiple ifdefs as well as making it clearer that they do in fact
serve the same purpose of setting up the XWayland environment.
2018-01-28 12:12:33 +00:00
Patrick Steinhardt 52cb19d99d rootston: fix compilation without XWayland support
In case wlroots is not being compiled with XWayland support, we will not
have an xwayland surface in our roots view. While we make sure to pay
attention to that in some places, we are not being consistent and try to
access the xwayland surface in other places. Obviously, this leads to a
compiler error due to the field not being present.

Fix the issue by sprinkling in a few additional ifdefs where required.
2018-01-28 12:07:15 +00:00
emersion 692d33bf8b
rootston: fix clipped SSD for rotated views 2018-01-28 12:14:23 +01:00
emersion 63736be214
rootston: fix damage tracking for SSD 2018-01-28 10:11:31 +01:00
emersion 7adf13e284
Fix flickering when switching VT 2018-01-27 11:16:42 +01:00
emersion 7111dd79ef
rootston: damage tracking for rotated views 2018-01-27 10:43:17 +01:00
emersion 8d58ed502b
output: add wlr_output_schedule_frame 2018-01-26 22:39:23 +01:00
emersion ece2c1e4e2
Damage tracking for transformed outputs 2018-01-26 22:11:09 +01:00