diff --git a/dwl.c b/dwl.c index a29f792..bd6b653 100644 --- a/dwl.c +++ b/dwl.c @@ -500,13 +500,14 @@ void createxdeco(struct wl_listener *listener, void *data) { struct wlr_xdg_toplevel_decoration_v1 *wlr_deco = data; - Decoration *d; + Decoration *d = wlr_deco->data = calloc(1, sizeof(*d)); - d = wlr_deco->data = calloc(1, sizeof(*d)); wl_signal_add(&wlr_deco->events.request_mode, &d->request_mode); d->request_mode.notify = getxdecomode; wl_signal_add(&wlr_deco->events.destroy, &d->destroy); d->destroy.notify = destroyxdeco; + + getxdecomode(&d->request_mode, wlr_deco); }