Commit Graph

2320 Commits

Author SHA1 Message Date
Vincent Vanlaer 0232269a2d Fix style 2018-02-09 19:35:44 +01:00
Vincent Vanlaer b2f6941617 Free gamma when property blob creation fails 2018-02-09 18:54:56 +01:00
Vincent Vanlaer 2df97ed16a Set needs_swap on output when gamma changes 2018-02-09 17:29:14 +01:00
Vincent Vanlaer f5e5d1983b Do not allow gamma control without a crtc 2018-02-09 17:29:14 +01:00
Vincent Vanlaer ab011406ad Add atomic gamma lut size fetching
Legacy gamma lut size now uses the new legacy_crtc member of
wlr_drm_crtc. This was Previously doen using old_crtc in
wlr_drm_connector, but since this refers to the crtc that was connected to
the ouput, this could give the wrong result.
2018-02-09 17:29:14 +01:00
Vincent Vanlaer cc1229e75e Add atomic gamma setting 2018-02-09 17:29:04 +01:00
Drew DeVault 34489dca16
Merge pull request #571 from emersion/output-damage
Output damage tracking
2018-02-09 09:38:48 -05:00
emersion cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage 2018-02-09 14:50:26 +01:00
Tony Crisci 09c2626e32
Merge pull request #609 from VincentVanlaer/cancel-grab
Cancel rootson move/resize/rotate on escape
2018-02-08 13:38:50 -05: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
emersion e13b13ff1d
Merge pull request #612 from VincentVanlaer/fix-move-resize
Fix jitter when quickly resizing windows
2018-02-07 22:43:41 +01: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
Drew DeVault 9d7a9fc9d4
Merge pull request #610 from Ongy/drm_reuse
prevents reuse of outdated wlr_output state
2018-02-06 19:14:16 -05:00
Vincent Vanlaer 90eb50d9aa Merge roots_seat_cancel_* into one function 2018-02-06 22:55:56 +01:00
Markus Ongyerth 08fda567d2 prevents reuse of outdated wlr_output state
On the drm output the wlr_drm_connector structs are reused.
This struct contains the wlr_output struct, which is reused as well.
The old code kept modes/edid and output state persistent over hotplug.
This nulls the relevant strings, reads newer edid data and removes old
modes on unplug.
2018-02-06 22:45:37 +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
Drew DeVault b10269e513
Merge pull request #607 from VincentVanlaer/cursor-bug
Prevent cursor from getting stuck at infinity
2018-02-04 22:56:20 -05:00
Vincent Vanlaer 8dcb2f2d6b Prevent cursor from getting stuck at infinity 2018-02-04 22:40:24 +01:00
emersion d33a113f67
Merge pull request #606 from FabianGeiselhart/fix-typo
Fix typo in rootston config
2018-02-04 19:14:51 +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 faa57341ca
output: replace raw GL calls by wlr_renderer_* calls 2018-02-03 10:01:42 +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 3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage 2018-02-03 00:15:44 +01:00
Drew DeVault 86a404f2cd
Merge pull request #601 from emersion/output-modeset-enabled
backend/drm: update output enabled property on modeset
2018-02-02 17:33:02 -05:00
emersion bb39277e97
backend/drm: update output enabled property on modeset 2018-02-02 22:28:08 +01:00
emersion bb4aeb3b2f
backend/drm: support updating cursor when session is paused 2018-02-02 21:01:59 +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
Drew DeVault 39d5e78d37 Fix typo in xcursor.h 2018-02-02 08:48:01 -05:00
Drew DeVault 8cf622f074 Improve xcursor docs 2018-02-01 20:30:32 -05:00
emersion a43555d7f5
Merge pull request #598 from Ongy/screenshot_transform
Screenshot transform
2018-02-01 21:41:15 +01:00
Markus Ongyerth cd925f496c fixes the off by one errors in examples/screenshot
The inverse loop iterations for the transformed outputs had an off by
one error, iterating 1 based, not 0 based. This commit fixes that.
2018-02-01 21:36:14 +01:00
emersion 42ec696b82
Merge pull request #599 from emersion/output-cursor-destroy-signal
output: add destroy signal for wlr_output_cursor
2018-02-01 15:04:54 +01:00
emersion 8eed857292
output: add destroy signal for wlr_output_cursor 2018-02-01 12:08:35 +01:00
Markus Ongyerth 3a404e4f8d handle the other transformations for screenshots
This handles all current transformations for outputs properly.
This ensures an output is drawn in readable orientation/flipping no
matter the actual transformations applied to it.
2018-01-31 16:05:33 +01:00
Markus Ongyerth 4afc933ea4 fixes 90 degree rotation screenshots
This fixes the screenshot example application when an output is rotated
by 90 degrees.
Other tranformations are not taken into account yet.
2018-01-31 12:54:57 +01:00
emersion edb4c8d858
output: damage whole output when fullscreen surface size changes 2018-01-30 22:06:10 +01:00
emersion a295c805c4
output: fix output_damage_whole for scaled outputs 2018-01-30 21:42:12 +01:00
emersion babdd6ccf7
backend: fix use-after-free when destroying backends
The backend destroy signal is emitted before the output_remove
signal is. When the destroy signal is emitted listeners remove
their output_remove listener, so the output_remove signal is never
received and listeners have an invalid output pointer.

The correct way to solve this would be to remove the output_remove
signal completely and use the wlr_output.events.destroy signal
instead. This isn't yet possible because wl_signal_emit is unsafe
and listeners cannot be removed in listeners.
2018-01-30 19:45:57 +01:00