Tony Crisci
fe3c6c929b
wl-shell: popup input handling
7 years ago
Tony Crisci
22a16a59ca
wl-shell: basic pointer grab
7 years ago
Tony Crisci
cd1204f71f
wl-shell: render popups in the right place
7 years ago
Versus Void
a6db47196c
Upload texture on surface commit
7 years ago
Drew DeVault
c39bfe7f84
Merge pull request #206 from emersion/client-cursor
...
Client provided cursors
7 years ago
Tony Crisci
654e2ccd6b
move surface finder functions to wlroots
7 years ago
Timidger
3abf713e35
Fixed include in wlr_keyboard.h
7 years ago
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events
7 years ago
emersion
9b83caa658
Add wlr_output_set_cursor_surface
7 years ago
emersion
78d3582b70
Add request_set_cursor event
7 years ago
emersion
7b6d785f52
Rename wlr_surface->signals to events
7 years ago
Drew DeVault
9e1ff2dce9
Merge pull request #140 from emersion/screenshooter
...
Add screenshooter
7 years ago
Scott Anderson
c0e5feea37
Add GL/EGL extension loader generator
7 years ago
emersion
0ce3135304
Move read_pixels from output to renderer
7 years ago
Tony Crisci
4f848000af
Merge branch 'master' into feature/xdg-popup
7 years ago
emersion
a87f016017
Remove cairo dependency, write raw pixels
7 years ago
Tony Crisci
4680943e74
xdg-seat: keyboard grabs
7 years ago
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers
7 years ago
emersion
d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels
7 years ago
emersion
35f9700251
First attempt to implement screenshooter
7 years ago
emersion
1c8b72e0cd
Add screenshooter skeleton
7 years ago
Drew DeVault
08ccc7f653
Merge pull request #221 from versusvoid/wayland-xkb_state_update_mask
...
Use xkb_state_update_mask() with Wayland backend
7 years ago
Versus Void
568b270cdf
Use xkb_state_update_mask() with Wayland backend
...
Fix #158
7 years ago
emersion
69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close
7 years ago
Tony Crisci
67ea307753
xdg-shell: cleanup
7 years ago
Tony Crisci
48ae4fc588
rootston: handle grab end
7 years ago
Tony Crisci
4657f10dd2
Merge branch 'master' into feature/xdg-popup
7 years ago
Tony Crisci
d3ebf99b0f
xdg-popup: basic pointer grab
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
emersion
12b9b1a4bd
Copy xcb_icccm structs into wlroots
7 years ago
Tony Crisci
17b134e178
wlr-seat: pointer grab interface
7 years ago
emersion
454a6a902b
Parse _MOTIF_HINTS
7 years ago
emersion
fc61e82795
Use pointers for xwayland hints and size_hints
7 years ago
emersion
267f24753f
Add support for WM_HINTS
7 years ago
emersion
ca68ef37f0
Add padding if xcb_icccm is not available
7 years ago
emersion
ed9796ec68
xwayland: parse normal hints
7 years ago
emersion
ef5914bdb6
xwayland: add wlr_xwayland_surface->motif_hints
7 years ago
Tony Crisci
30eabf38b8
Merge branch 'master' into feature/xdg-popup
7 years ago
Versus Void
606311c755
Reset buffer resource pointer on destroy signal
7 years ago
emersion
521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers
7 years ago
emersion
d3d9aca40c
Add modifiers support in wayland backend, parse modifiers in rootston config
7 years ago
emersion
3a8fdebaaa
Fix modifiers handling, add wlr_keyboard_get_modifiers
7 years ago
emersion
2fccff16eb
Begin modifiers support
7 years ago
Tony Crisci
e003296c23
xdg-popup: render popups in the right place
7 years ago
Tony Crisci
97cdcccaf0
xdg-surface: get popup
7 years ago
Drew DeVault
87a0cb7ba3
Merge pull request #182 from ascent12/drm-multi-gpu
...
DRM Multi-GPU
7 years ago
Scott Anderson
009c3747a8
Multi-GPU DRM
7 years ago
Scott Anderson
fa3d0ed929
Change wlr_session to open every GPU
7 years ago
Tony Crisci
8f41c497a7
Merge branch 'master' into feature/subcompositor
7 years ago
Tony Crisci
8b7ae61ad4
subsurface handle parent destroy
7 years ago
emersion
7f5d0624d6
Add x, y, width, height arguments to wlr_xwayland_surface_configure
7 years ago
Tony Crisci
19e30aab9b
subcompositor protocol errors
7 years ago
Tony Crisci
93f79378f7
subsurface stacking requests
7 years ago
Tony Crisci
86bc4840a0
subsurface commit and render
7 years ago
Tony Crisci
cb2d05e83b
subsurface sync and position
7 years ago
Tony Crisci
7f39578824
cleanup wlr_surface.[ch]
7 years ago
Tony Crisci
68eeebc647
subsurface implementation stubs
7 years ago
Drew DeVault
a48dedba3d
Merge pull request #170 from emersion/xwayland
...
Improve xwayland, batch 2
7 years ago
emersion
4ccb83bf33
xwayland: add wlr_xwayland_surface_close
7 years ago
emersion
5002d968f3
xwayland: add window_type support
7 years ago
emersion
b78ae54158
xwayland: add pid support
7 years ago
emersion
97346e7a1b
xwayland: add state support
7 years ago
emersion
7c9f3240f6
xwayland: add set_parent event
7 years ago
emersion
d8c86431e0
xwayland: add signals for configure, set_{class,title}
7 years ago
emersion
f2b03b2ec1
Add reply->type checks, add XCB_ATOM_WM_TRANSIENT_FOR
7 years ago
emersion
47d767dbc4
xwayland: expose wlr_xwayland_surface_configure
7 years ago
emersion
e3917af69d
xwayland: read window title & class
7 years ago
Scott Anderson
517ba0bc16
Change egl_get_config to always use visual id
7 years ago
Scott Anderson
7ad2a57feb
Open X11 Window
7 years ago
Scott Anderson
a598e6d026
Add X11 backend skeleton
7 years ago
emersion
b7927078e9
x11 -> xwayland, window -> surface, fix some calloc sizes and wrong types
7 years ago
Drew DeVault
c92199a953
Merge pull request #163 from emersion/wl_shell-fixes
...
wl_shell fixes
7 years ago
Drew DeVault
220a6e9bf6
Add xwayland activate and fix EGL bug
7 years ago
Drew DeVault
906a816abf
Fix rootston keyboard, add Xwayland
7 years ago
emersion
9d405cffa7
Use enums instead of uint32_t where applicable
7 years ago
emersion
3d03ef2d02
role -> state
7 years ago
emersion
27ca8eaced
Fix typo: s/transcient/transient/
7 years ago
emersion
a04462ba8b
wl_shell: listen for wlr_surface destroy signal
7 years ago
emersion
d6c6b7c506
class_ -> class, free more stuff in destroy_shell_surface
7 years ago
emersion
241fec4d87
wl_shell: add wlr_wl_shell_surface_{configure,popup_done}
7 years ago
emersion
14ab56b6c5
wl_shell: implement set_popup request
7 years ago
emersion
663bfe4cd8
wlr_wl_shell: implement all requests except set_popup
7 years ago
emersion
e001e40022
Set view->surface
7 years ago
emersion
ed9a43c213
Add first try to add wl_shell to rootston
7 years ago
Drew DeVault
e6a6634bc5
Minor tweaks to (broken) keyboard support
7 years ago
Drew DeVault
f4387b437f
Merge branch 'master' into rootston
7 years ago
Drew DeVault
61e451ea1b
Move keyboard logic to wlr_{keyboard,seat}
7 years ago
Drew DeVault
d89272dbbd
Merge pull request #156 from acrisci/feature/wlr-keyboard-events
...
[wip] wlr-seat-keyboard: keyboard events
7 years ago
Tony Crisci
84a8f1b42d
add keys array param to seat keyboard enter
7 years ago
Tony Crisci
3895593998
wlr-seat: keyboard layout
7 years ago
emersion
4809b7b3e4
Fix some include guard names in interfaces/
7 years ago
emersion
427bdb5b55
Use more consistent include guard names
7 years ago
Tony Crisci
30b5d76426
wlr-seat: keyboard modifiers
7 years ago
Tony Crisci
cef1f60522
wlr-seat-keyboard: basic events
7 years ago
Drew DeVault
e5e6dab7fd
Fix use of serial on motion_request
7 years ago
Tony Crisci
e38248f34c
wlr-seat: implement cursor axis events
...
Axis events for the cursor are generated with the scroll wheel.
7 years ago
Scott Anderson
8cb49f4d68
Add stdbool.h
7 years ago
Drew DeVault
d558745633
Handle tablet motion in example compositor
7 years ago
Tony Crisci
7a3edf6e62
use double for cursor coordinates
7 years ago
Tony Crisci
8b74450b39
wlr_seat: pointer events
7 years ago
Tony Crisci
aeaa983631
wlr_seat: formatting cleanup
7 years ago
Tony Crisci
5b9373a791
xdg-toplevel-v6 set parent
7 years ago
Tony Crisci
2573c429ee
reset pending geometry on ack configure
7 years ago
Tony Crisci
94f4f1878d
xdg-surface-v6: implement ping
7 years ago
Tony Crisci
0f865c547a
xdg-toplevel-v6: seat events
7 years ago
Tony Crisci
27161a673f
xdg-shell new surface and ack configure events
7 years ago
Tony Crisci
569b147bba
schedule configure request on toplevel first commit
7 years ago
Tony Crisci
a0bdbc92ba
xdg-shell-toplevel configure requests
7 years ago
Tony Crisci
45a3b761a6
xdg-surface-v6: add events
7 years ago
Tony Crisci
50f4275298
implement xdg-toplevel state properties
7 years ago
Tony Crisci
353629b034
xdg-surface geometry
7 years ago
Tony Crisci
2fd5c7999b
set title and app_id
7 years ago
Tony Crisci
9d2dc8447a
use wlr_surface on shell struct and listen to events
7 years ago
Tony Crisci
b2c71287f2
set toplevel role on wlr_surface
7 years ago
Tony Crisci
c5f8f81e58
xdg_surface: handle wlr_surface destroy
7 years ago
Tony Crisci
74e9578889
add surface destroy signal
7 years ago
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
7 years ago
emersion
cd125377fc
Add wlr_output_{set_gamma,get_gamma_size}
7 years ago
emersion
1b588e7c1f
Add gamma_control skeleton
7 years ago
Tony Crisci
e733b0e643
Rename wlr_output_layout_init()
...
Rename wlr_output_layout_init() to wlr_output_layout_create() to be consistent
with the rest of the api.
7 years ago
Tony Crisci
57c18c38bb
wlr_cursor: handle layout changes
...
Add the layout `destroy` and `change` events.
When a layout is destroyed, detach is from the wlr_cursor.
When a layout is changed, warp the cursor to the closest layout boundary.
7 years ago
Tony Crisci
d84deb0742
add wlr_output destroy event
7 years ago
Tony Crisci
40bd6bcc43
implement output layout auto configuration
7 years ago
Drew DeVault
6daf9e9ab2
Merge pull request #120 from acrisci/feature/wlr-cursor
...
wlr_cursor
7 years ago
Tony Crisci
b6031d1065
refactor wlr_output_layout_closest_point
7 years ago
Tony Crisci
9b65d0b3f0
refactor and rename wlr_geometry to wlr_box
7 years ago
Tony Crisci
a51b76083e
rename wlr_cursor_init to wlr_cursor_create
7 years ago
Tony Crisci
1fb8bc9340
wlr_cursor.c: fix formatting
7 years ago
Tony Crisci
3449777a8d
wlr_output_layout.c: fix style
7 years ago
Drew DeVault
30611894f2
Implement tablet_tool support in pointer example
7 years ago
Tony Crisci
5c845f14ed
handle input device destroy
7 years ago
Tony Crisci
df0ee7f25f
implement tablet tool devices
7 years ago
Tony Crisci
5e06d61e42
implement touch up and touch down
7 years ago
Dominique Martinet
871646d225
Double-fork for xwayland execution
...
The intermediate fork needs to wait for SIGUSR1 for when Xserver is
ready, or SIGCHLD if the exec didn't work out.
Also change the exit() to _exit() as that is apparently more appropriate
for forks (and waitpid's status was wrong without it for some reason)
Fixes #122 .
7 years ago
Tony Crisci
c914697676
add device to touch events
7 years ago
Tony Crisci
ed126b0881
add touch events
7 years ago
Tony Crisci
ac503a47a7
intersect cursor and device regions
7 years ago
Tony Crisci
0a97b68278
implement cursor and device geometry mapping
7 years ago
Tony Crisci
98f4cdfccb
implement wlr_cursor_map_input_to_output
7 years ago
Tony Crisci
13e895d943
implement wlr_cursor_map_to_output
7 years ago
Tony Crisci
a4810203cc
change output layout coords to double type
7 years ago
Tony Crisci
0cba06dcef
implement wlr_cursor_warp
7 years ago
Tony Crisci
dd68f680e4
handle cursor to output edge cases
7 years ago
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
7 years ago
Scott Anderson
d16b2977f6
Remove single GPU assumptions from wlr_session
7 years ago
Scott Anderson
fb93628bda
Merge wlr_udev into wlr_session
7 years ago
Scott Anderson
46823152ea
Rename functions to be consistent with #93
7 years ago
Dominique Martinet
fd3ad3b9e4
xwayland: fix shutdown caused by Xwayland/client stop
7 years ago
Dominique Martinet
3391e5b634
xwayland: fix style issues
7 years ago
Dominique Martinet
1458a95e65
example compositor: loop through xwayland surfaces
7 years ago
Dominique Martinet
eb5b9cc6da
xwayland: move & split internal header file
7 years ago
Dominique Martinet
6eb20fb8d2
init xwm only once Xwayland server is ready
7 years ago
Dominique Martinet
3cc5b1acc6
wlr_compositor: add signal for create_surface
7 years ago
Dominique Martinet
b2bab1af5c
xwayland: split xwm structure out, initial xwm.c
7 years ago
Dominique Martinet
49a823d4c6
Xwayland: first draft, just start server for now
7 years ago
Dominique Martinet
1ca08dc4cb
wlr_compositor: change _init/finish to _create/destroy
7 years ago
Dominique Martinet
4110788159
move wl_compositor into wlroots as wlr_compositor
7 years ago
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
7 years ago
Tony Crisci
f03be94309
rename wlr_cursor to wlr_xcursor
...
This is for the implementation of another type that should be called wlr_cursor.
7 years ago
nyorain
86314caa5b
Implement wlr_data_{source,device,device_manager}
7 years ago
Drew DeVault
e5fd858394
Merge pull request #101 from nyorain/texture_fix
...
Fix surface buffer uploading
7 years ago
Drew DeVault
3138c5ddf0
Clean up wlr_output_layout
7 years ago
Tony Crisci
5a9baf487e
add helper methods for intersection
7 years ago
Tony Crisci
2e9e237f9d
layout-output example: handle empty config
7 years ago
Tony Crisci
44181b57ac
Add wlr_output_layout implementation
...
An output layout consists of a mapping of outputs to their position in a global
coordinate system that usually cooresponds to the output position in physical
space in front of the user.
Add an example that allows configuration of an output layout and demonstrates
its boundaries with a bouncing image.
7 years ago
nyorain
10eee58d2d
Fix surface buffer uploading
7 years ago
nyorain
ad22b4874d
Fix wlr_seat; add to example compositor
7 years ago
Drew DeVault
af5db7a44c
Initial pass on wlr_seat
7 years ago
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
7 years ago
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
7 years ago
Dominique Martinet
5dae8e1be8
example compositor: only iterate over wl_shell and xdg_shell surfaces
7 years ago
Dominique Martinet
f4e6b138fb
Move wl_shell into wlroots
7 years ago
Drew DeVault
f60b53c6e3
Change how surface matricies are calculated
7 years ago
Tony Crisci
d5f98dbf61
refactor getting surface size into a function
7 years ago
Tony Crisci
5b1ce84350
implement buffer transform
7 years ago
Tony Crisci
84c6dbd58d
remove unused dimension from buffer calculations
7 years ago
Tony Crisci
e46ec57b43
implement surface sizing
7 years ago
Tony Crisci
72a33b736f
implement texture get buffer size
7 years ago
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.
7 years ago
nyorain
f998bb8299
Fix style issues
7 years ago
Dominique Martinet
ba20d5b3ca
Refactor out wlr_touch_state
7 years ago
Dominique Martinet
bd67849c03
Refactor out wlr_tablet_tool_state
7 years ago
Dominique Martinet
a289940bff
Refactor out wlr_tablet_pad_state
7 years ago
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
7 years ago
Dominique Martinet
0a3246ad97
Refactor out wlr_keyboard_state
7 years ago
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
7 years ago
Drew DeVault
de6f32c84e
Refactor away wlr_renderer_state
7 years ago
Drew DeVault
94e6e6334b
Refactor out wlr_texture_state
7 years ago
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
7 years ago
Calvin Lee
de66bdb867
Add backend detection functions
...
Resolves #80
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
4386816889
wlr_backend_init -> wlr_backend_start
...
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
7 years ago
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
7 years ago
Drew DeVault
ce65a0c138
Merge pull request #69 from 4e554c4c/user_data
...
Add user data to wlr_* structs
7 years ago
Calvin Lee
a8c1e8ce69
Add user data to wlr_* structs
...
Resolves #68
7 years ago
nyorain
ed2fc30625
Fix wlr_surface invalid values
7 years ago
Drew DeVault
62d8b252c0
Refactor meson and move xdg-shell into wlroots
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
Drew DeVault
7095274a9e
Merge branch 'master' into drm_buffer
7 years ago
Drew DeVault
7da43ff8b0
Implement wlr_surface_flush_damage
7 years ago
nyorain
31d78ff497
Fix wlr_surface destruction bug
7 years ago
Tony Crisci
14654ecb77
implement compositor create region
...
Complete the implementation of wlr_region_create and put it in the compositor.
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
7 years ago
Drew DeVault
750d0ad458
Flesh out wlr_surface state lifecycle a bit
...
Sprinked some TODOs around for future work
7 years ago
Drew DeVault
4de930542f
Implement partial texture uploads
7 years ago
Tony Crisci
8306f46dfb
implement surface frame
...
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
7 years ago
nyorain
cf9ee6ce3f
Move wlr_surface into wlr
7 years ago
nyorain
1bea754521
Implement wlr_region using pixman
7 years ago
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Drew DeVault
7486263f7e
Add xcursor sublibrary
7 years ago
Scott Anderson
1db97a9af9
Updated DRM cursor rendering
7 years ago
Drew DeVault
5bf61ca7ed
Check for multi backend before using it
7 years ago
Scott Anderson
4d4da18437
Fixed VT switching
7 years ago
Scott Anderson
cb4d50e22c
Changed header paths.
7 years ago
Scott Anderson
2ae5cd6539
Moved session/ into backend/
7 years ago
Scott Anderson
ae4478e17f
Changed ownership of wlr_session to the multi backend.
...
Currently breaks VT switching for examples.
7 years ago
Tony Crisci
effea557bb
Implement destroying surfaces
...
Add a signal for wlr_surface destruction on the wlr_surface that compositors
can listen to to remove the surface from their state.
Implement a listener for this in the example wl_compositor to remove the
surface from its internal list of surfaces.
Destroy the surface in the compositor destroy_surface callback given when the
surface resource was created.
Add a reference to the surface resource to the wlr_surface so a compositor can
find it in its list of resources upon wlr_resource destruction.
8 years ago
Scott Anderson
5b8ec107b9
Session documentation.
8 years ago
Scott Anderson
bd5bca5283
Added public fields to wlr_session
8 years ago
Drew DeVault
8920b5d607
Merge branch 'wlcore'
8 years ago
Drew DeVault
18e6ddc1c5
Remove wlr_compositor
8 years ago
Drew DeVault
f5b7bc033e
Add wlr_wl_compositor and remove wlr_wl_shm
8 years ago
Scott Anderson
0cd94f0cf0
Added software cursor fallback
8 years ago
Drew DeVault
5a2796266f
Support wl_shm pixel formats in gles2 renderer
8 years ago
Drew DeVault
2aafb5dd19
Add wlcore/wl_shm (WIP)
8 years ago
Drew DeVault
b18209c904
Switch to GLES2
...
Closes #13
8 years ago
Drew DeVault
168f0955ab
Add wl_output globals for wlr_outputs
8 years ago
Drew DeVault
3d71969b2a
Make event names consistent
8 years ago
Drew DeVault
f4453d104d
Reorganize wlr-common
8 years ago
Drew DeVault
fd91244e83
Update everyone to use new headers
8 years ago
Drew DeVault
53a8b4f127
Split out types.h and wlr/types.h
...
TODO: Update the code accordingly and move other types into the same
paradigm
8 years ago
Scott Anderson
091de12bf4
Changed session signal to only emit on DRM changes
8 years ago
Drew DeVault
c2d0090ad7
Support multiple wl backend outputs
8 years ago
Drew DeVault
b9d36c8149
Add dynamic output resizing for Wayland backend
...
This allows outputs to:
- Not support modesetting
- Resize themselves
8 years ago
nyorain
e65ca967f9
Merge branch 'master' into wayland-backend
8 years ago
Drew DeVault
632a04f1b7
Implement keyboard LEDs
8 years ago
Drew DeVault
ecb04afcad
Implement tablet pads
8 years ago
nyorain
41a477375c
Merge branch 'libinput' into wayland-backend
8 years ago
nyorain
904739c405
Start to fix wayland backend
...
Starts to update the wayland backend to the new backend api.
Not yet updated to libinput branch (not yet compiling).
8 years ago
Drew DeVault
7e038a6110
Add (broken) DRM hardware cursors
8 years ago
Drew DeVault
2443a070e7
Add colored quad and ellipse rendering primitives
8 years ago
Drew DeVault
4a9966b1a4
Implement wlr_tablet_tool
8 years ago
Drew DeVault
3f24f8a1be
Flesh out touch events and add demo
8 years ago
Drew DeVault
d6905f86cb
Allocate wlr_touch devices
8 years ago
Drew DeVault
e257afeb7e
Establish multi backend support
8 years ago
Drew DeVault
5dd96c0772
Incorporate XKBCommon into example
8 years ago
Drew DeVault
7a5f35b5bb
Reassign ownership of libinput handle
8 years ago
Drew DeVault
59ceaf507e
Handle key presses
8 years ago
Drew DeVault
0e75d157f5
Initialize keyboards from libinput
8 years ago
Drew DeVault
af69591e62
Add error handling and init in backend_autocreate
8 years ago