attempt at preventing menu flicker when removing an icon

This commit is contained in:
Lea Anthony
2021-01-13 20:47:08 +11:00
parent 3a9557ad30
commit 3045ec107f

View File

@@ -91,8 +91,16 @@ void UpdateTrayMenuIcon(TrayMenu *trayMenu) {
return;
}
id trayImage = hashmap_get(&trayIconCache, trayMenu->icon, strlen(trayMenu->icon));
id statusBarButton = msg(trayMenu->statusbaritem, s("button"));
// Empty icon means remove it
if( STREMPTY(trayMenu->icon) ) {
// Remove image
msg(statusBarButton, s("setImage:"), NULL);
return;
}
id trayImage = hashmap_get(&trayIconCache, trayMenu->icon, strlen(trayMenu->icon));
msg(statusBarButton, s("setImagePosition:"), trayMenu->trayIconPosition);
msg(statusBarButton, s("setImage:"), trayImage);
}