Commit Graph

3783 Commits

Author SHA1 Message Date
Calvin Lee 901c14c409 Prevent alloc errors from crashing in `list_t`
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
2017-08-16 09:23:21 +02:00
Dominique Martinet 880c239657 libinput: fail if no input found on init
This runs through events pending at init on initialization so we can
tell if some devices are available.

Note that with the way wlr_device_lists is managed, this checks that
there is at least one device we handle - it doesn't have to be a
keyboard, but there is at least a mouse or tablet_pad or something
that we care about.

Instead of failing inconditionally it might be better to leave the
decision to the user, e.g. add a "backend_has_devices" function to
call later.

(Tested by moving /dev/input off)

Fixes #24.
2017-08-16 09:18:12 +02:00
Drew DeVault 19d6442f52 Merge pull request #91 from martinetd/move_wl_shell
Move wl_shell into wlroots
2017-08-15 17:39:18 -04:00
Drew DeVault 27c13d621d Merge pull request #88 from 4e554c4c/alloc_crashing
Prevent alloc errors from crashing
2017-08-15 12:21:58 -04:00
Dominique Martinet dca3f630dd Fix wlr_wl/xdg_shell_destroy segfault
- Implement xdg_shell_destroy and use it at the right place
(impl->destroy is never called)
- Remove wl_global_destroy for now, something is missing with the
display/registry_resource_list
2017-08-15 15:52:20 +02:00
Dominique Martinet f9b55dfa95 Make wlr_wl_shell_create work like xdg
Also:
- rename wlr_xdg_shell_v6_init to create as that is what it does
- free wlr_xdg_shell on failure to create wl_global, the struct
is not initialized enough to call destroy at that point
2017-08-15 15:36:02 +02:00
Dominique Martinet d49edc8243 wl_shell/compositor surface: do not check if it's in list before removing 2017-08-15 15:34:26 +02:00
Dominique Martinet 5dae8e1be8 example compositor: only iterate over wl_shell and xdg_shell surfaces 2017-08-15 15:34:26 +02:00
Dominique Martinet f4e6b138fb Move wl_shell into wlroots 2017-08-15 15:13:23 +02:00
Drew DeVault f60b53c6e3 Change how surface matricies are calculated 2017-08-15 08:52:30 -04:00
Drew DeVault 09faf4ff64 Merge pull request #83 from acrisci/feature/buffer-damage2
Buffer damage and scaling (attempt 2)
2017-08-15 08:31:30 -04:00
Tony Crisci d5f98dbf61 refactor getting surface size into a function 2017-08-15 08:22:22 -04:00
Tony Crisci 4f2b1cc930 implement get_buffer_size for egl buffers 2017-08-15 07:58:07 -04:00
Tony Crisci 2bf2dbb2bd formatting fixup 2017-08-15 07:41:25 -04:00
Tony Crisci 5b1ce84350 implement buffer transform 2017-08-15 07:36:51 -04:00
Tony Crisci 84c6dbd58d remove unused dimension from buffer calculations 2017-08-15 07:36:51 -04:00
Tony Crisci e46ec57b43 implement surface sizing 2017-08-15 07:36:51 -04:00
Tony Crisci b49650b555 initialize buffer damage before conversion 2017-08-15 07:36:50 -04:00
Tony Crisci d87c58416b clip surface damage to surface size 2017-08-15 07:36:50 -04:00
Tony Crisci 72a33b736f implement texture get buffer size 2017-08-15 07:36:50 -04:00
Tony Crisci f0f190bfa5 implement buffer scale
Keep track of the scale of the buffer set by surface.set_buffer_scale.

Calculate the height and width of the texture from the buffer depending on the
scale when it is attached.

Use buffer damage to determine the damage of the buffer when flushing damage.

Convert surface damage to buffer damage and union to the surface buffer_damage
prior to flushing damage.
2017-08-15 07:36:50 -04:00
Tony Crisci e22e443717 fix formatting in surface_damage 2017-08-15 07:36:50 -04:00
Tony Crisci 0b3d56384f implement surface_damage_buffer 2017-08-15 07:36:17 -04:00
Drew DeVault d2e796edb7 Merge pull request #86 from nyorain/master
Fix style issues
2017-08-15 07:18:22 -04:00
nyorain 7d0bf9a1a7 Simplify tablet pad destruction 2017-08-15 12:16:23 +02:00
Calvin Lee 5cc7342606 Prevent alloc errors from crashing
Resolves #76
2017-08-15 08:04:57 +02:00
Drew DeVault 5ca88af557 Merge pull request #87 from nyorain/wlbcursor
Implement wayland backend cursor
2017-08-14 18:21:09 -04:00
nyorain d7dcbbc175 Add wayland backend cursor support 2017-08-14 18:02:05 -04:00
nyorain aa20634309 Simplify input device destruction code 2017-08-14 18:23:20 +02:00
nyorain f998bb8299 Fix style issues 2017-08-14 17:09:56 +02:00
Drew DeVault 53052b3f6e Merge pull request #85 from martinetd/refactor_states
Refactor states
2017-08-14 10:33:46 -04:00
Dominique Martinet e922e62924 wayland input_device_destroy: add missing braces 2017-08-14 16:30:10 +02:00
Dominique Martinet 4bbf718e7d impl->destroy cleanup:
- remove trivial destroy() function
 - make sure we check impl and impl->destroy before calling
 - always call free if not implemented
2017-08-14 16:22:31 +02:00
Dominique Martinet ba20d5b3ca Refactor out wlr_touch_state 2017-08-14 16:22:31 +02:00
Dominique Martinet bd67849c03 Refactor out wlr_tablet_tool_state 2017-08-14 16:22:31 +02:00
Dominique Martinet a289940bff Refactor out wlr_tablet_pad_state 2017-08-14 16:22:31 +02:00
Dominique Martinet 53e7bebd23 Refactor out wlr_pointer_state 2017-08-14 16:22:31 +02:00
Dominique Martinet 0a3246ad97 Refactor out wlr_keyboard_state 2017-08-14 16:22:31 +02:00
Dominique Martinet e6ad67911b Refactor out wlr_input_device_state 2017-08-14 16:22:31 +02:00
Drew DeVault 1e1e9887fb Merge pull request #84 from martinetd/fixes
Fixes
2017-08-14 09:13:24 -04:00
Dominique Martinet db77530a35 Fix output destory: impl->destroy must be called last + obvious double-free 2017-08-14 15:05:45 +02:00
Dominique Martinet 9a9dd15d5f Fix wlr_multi_backend_add incorrect assert 2017-08-14 15:01:59 +02:00
Drew DeVault 2facf1df65 Fix software cursors 2017-08-14 08:43:17 -04:00
Drew DeVault de6f32c84e Refactor away wlr_renderer_state 2017-08-14 08:37:50 -04:00
Drew DeVault 0de5eed048 Fix double free on wlr_outputs 2017-08-14 08:37:44 -04:00
Drew DeVault 94e6e6334b Refactor out wlr_texture_state 2017-08-14 08:25:26 -04:00
Drew DeVault c8c6619146 Refactor out wlr_output_mode_state 2017-08-14 08:03:51 -04:00
Drew DeVault f11b38f97a Merge pull request #82 from 4e554c4c/detection
Add backend detection functions
2017-08-13 17:13:12 -04:00
Calvin Lee de66bdb867 Add backend detection functions
Resolves #80
2017-08-13 23:08:33 +02:00
Drew DeVault 41e735242d Remove wlr_output_state, update backends 2017-08-13 11:38:03 -04:00