
If an icon already exists in an app view with the same id, the duplicate is not added on a call to addItem. Unfortunately, since it's not added, the icon actor gets orphaned and leaked. This commit address the problem by introducing a new hasItem method and disallowing callers to call addItem with a duplicate in the first place. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628