diff options
author | Ian Fan <ianfan0@gmail.com> | 2019-01-02 22:31:05 +0000 |
---|---|---|
committer | Ian Fan <ianfan0@gmail.com> | 2019-01-08 12:17:53 +0000 |
commit | b666fc76a6de9d4eb24ca9a1e458736b1ffee974 (patch) | |
tree | b620e177d20b94ad35e03ea75fc1ea34558e4a41 /swaybar/tray | |
parent | Merge pull request #3275 from ianyfan/remove-readline (diff) | |
download | sway-b666fc76a6de9d4eb24ca9a1e458736b1ffee974.tar.gz sway-b666fc76a6de9d4eb24ca9a1e458736b1ffee974.tar.zst sway-b666fc76a6de9d4eb24ca9a1e458736b1ffee974.zip |
swaybar: free the right item during tray destruction
Also added a comment to make more obvious the reason for comparing
sni->status[0] == 'N'
Diffstat (limited to 'swaybar/tray')
-rw-r--r-- | swaybar/tray/item.c | 4 | ||||
-rw-r--r-- | swaybar/tray/tray.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/swaybar/tray/item.c b/swaybar/tray/item.c index 41cacd16..130496ec 100644 --- a/swaybar/tray/item.c +++ b/swaybar/tray/item.c | |||
@@ -19,7 +19,7 @@ | |||
19 | // TODO menu | 19 | // TODO menu |
20 | 20 | ||
21 | static bool sni_ready(struct swaybar_sni *sni) { | 21 | static bool sni_ready(struct swaybar_sni *sni) { |
22 | return sni->status && (sni->status[0] == 'N' ? | 22 | return sni->status && (sni->status[0] == 'N' ? // NeedsAttention |
23 | sni->attention_icon_name || sni->attention_icon_pixmap : | 23 | sni->attention_icon_name || sni->attention_icon_pixmap : |
24 | sni->icon_name || sni->icon_pixmap); | 24 | sni->icon_name || sni->icon_pixmap); |
25 | } | 25 | } |
@@ -396,7 +396,7 @@ uint32_t render_sni(cairo_t *cairo, struct swaybar_output *output, double *x, | |||
396 | icon_size = actual_size < ideal_size ? | 396 | icon_size = actual_size < ideal_size ? |
397 | actual_size*(ideal_size/actual_size) : ideal_size; | 397 | actual_size*(ideal_size/actual_size) : ideal_size; |
398 | icon = cairo_image_surface_scale(sni->icon, icon_size, icon_size); | 398 | icon = cairo_image_surface_scale(sni->icon, icon_size, icon_size); |
399 | } else { // draw a sad face | 399 | } else { // draw a :( |
400 | icon_size = ideal_size*0.8; | 400 | icon_size = ideal_size*0.8; |
401 | icon = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, icon_size, icon_size); | 401 | icon = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, icon_size, icon_size); |
402 | cairo_t *cairo_icon = cairo_create(icon); | 402 | cairo_t *cairo_icon = cairo_create(icon); |
diff --git a/swaybar/tray/tray.c b/swaybar/tray/tray.c index acc300af..0c3517cb 100644 --- a/swaybar/tray/tray.c +++ b/swaybar/tray/tray.c | |||
@@ -79,7 +79,7 @@ void destroy_tray(struct swaybar_tray *tray) { | |||
79 | finish_host(&tray->host_xdg); | 79 | finish_host(&tray->host_xdg); |
80 | finish_host(&tray->host_kde); | 80 | finish_host(&tray->host_kde); |
81 | for (int i = 0; i < tray->items->length; ++i) { | 81 | for (int i = 0; i < tray->items->length; ++i) { |
82 | destroy_sni(tray->items->items[0]); | 82 | destroy_sni(tray->items->items[i]); |
83 | } | 83 | } |
84 | list_free(tray->items); | 84 | list_free(tray->items); |
85 | destroy_watcher(tray->watcher_xdg); | 85 | destroy_watcher(tray->watcher_xdg); |