tray: fix memory leaks

This commit is contained in:
Ian Fan 2019-02-16 11:02:15 +00:00 committed by emersion
parent 26d6360feb
commit f54077dbca
2 changed files with 7 additions and 3 deletions

View file

@ -299,6 +299,8 @@ void destroy_sni(struct swaybar_sni *sni) {
return;
}
cairo_surface_destroy(sni->icon);
sd_bus_slot_unref(sni->new_icon_slot);
sd_bus_slot_unref(sni->new_attention_icon_slot);
sd_bus_slot_unref(sni->new_status_slot);
@ -308,9 +310,11 @@ void destroy_sni(struct swaybar_sni *sni) {
free(sni->path);
free(sni->status);
free(sni->icon_name);
free(sni->icon_pixmap);
list_free_items_and_destroy(sni->icon_pixmap);
free(sni->attention_icon_name);
list_free_items_and_destroy(sni->attention_icon_pixmap);
free(sni->menu);
free(sni->icon_theme_path);
free(sni);
}

View file

@ -186,8 +186,8 @@ struct swaybar_watcher *create_watcher(char *protocol, sd_bus *bus) {
goto error;
}
sd_bus_slot_set_floating(signal_slot, 1);
sd_bus_slot_set_floating(vtable_slot, 1);
sd_bus_slot_set_floating(signal_slot, 0);
sd_bus_slot_set_floating(vtable_slot, 0);
watcher->bus = bus;
watcher->hosts = create_list();