Fix segfault, add wl_shell view

This commit is contained in:
emersion 2017-09-27 14:48:53 +02:00
parent ed9a43c213
commit acf58e04de
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
4 changed files with 24 additions and 8 deletions

View file

@ -10,6 +10,6 @@ executable(
'output.c',
'pointer.c',
'xdg_shell_v6.c',
'wl_shell.c'
'wl_shell.c',
], dependencies: wlroots
)

View file

@ -16,5 +16,21 @@ void handle_wl_shell_surface(struct wl_listener *listener, void *data) {
struct wlr_wl_shell_surface *surface = data;
wlr_log(L_DEBUG, "new wl_shell surface");
wlr_wl_shell_surface_ping(surface);
//wlr_wl_shell_surface_ping(surface);
struct roots_wl_shell_surface *roots_surface =
calloc(1, sizeof(struct roots_wl_shell_surface));
// TODO: all of the trimmings
struct roots_view *view = calloc(1, sizeof(struct roots_view));
view->type = ROOTS_WL_SHELL_VIEW;
view->x = view->y = 200;
view->wl_shell_surface = surface;
view->roots_wl_shell_surface = roots_surface;
//view->wlr_surface = surface->surface;
//view->get_input_bounds = get_input_bounds;
//view->activate = activate;
view->desktop = desktop;
roots_surface->view = view;
wl_list_insert(&desktop->views, &view->link);
}