From b56eac65a9138aebbeef9644ab7e27f9d76295ce Mon Sep 17 00:00:00 2001 From: Felix Kratz Date: Tue, 14 Nov 2023 15:05:01 +0100 Subject: [PATCH] properly refresh on media artwork change --- src/bar_manager.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bar_manager.c b/src/bar_manager.c index 8d648f4..5d89da0 100644 --- a/src/bar_manager.c +++ b/src/bar_manager.c @@ -890,12 +890,16 @@ void bar_manager_handle_media_change(struct bar_manager* bar_manager, char* info } void bar_manager_handle_media_cover_change(struct bar_manager* bar_manager, CGImageRef image) { + bool needs_refresh = false; if (image_set_image(&bar_manager->current_artwork, image, CGRectNull, false)){ for (int i = 0; i < bar_manager->bar_item_count; i++) { struct bar_item* bar_item = bar_manager->bar_items[i]; - bar_item_set_media_cover(bar_item, &bar_manager->current_artwork); + needs_refresh |= bar_item_set_media_cover(bar_item, + &bar_manager->current_artwork); } } + + if (needs_refresh) bar_manager_refresh(bar_manager, false); } void bar_manager_handle_front_app_switch(struct bar_manager* bar_manager, char* info) {