diff options
Diffstat (limited to 'sway/container.c')
-rw-r--r-- | sway/container.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sway/container.c b/sway/container.c index 98941b2c..ff9c983a 100644 --- a/sway/container.c +++ b/sway/container.c @@ -31,6 +31,9 @@ static void free_swayc(swayc_t *c) { } remove_child(c->parent, c); } + if (c->name) { + free(c->name); + } free(c); } @@ -51,8 +54,10 @@ swayc_t *new_output(wlc_handle handle) { output->height = size->h; output->handle = handle; - add_child(&root_container, output); + //link this to handler + wlc_handle_set_user_data(handle, output); + add_child(&root_container, output); //TODO something with this int total_width = 0; container_map(&root_container, add_output_widths, &total_width); @@ -135,6 +140,8 @@ swayc_t *new_view(swayc_t *sibling, wlc_handle handle) { view->name = strdup(title); view->visible = true; + //Link view to handle + wlc_handle_set_user_data(handle, view); //Case of focused workspace, just create as child of it if (sibling->type == C_WORKSPACE) { add_child(sibling, view); |