summaryrefslogtreecommitdiff
path: root/unity-shared
diff options
Diffstat (limited to 'unity-shared')
-rw-r--r--unity-shared/MenuManager.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/unity-shared/MenuManager.cpp b/unity-shared/MenuManager.cpp
index 77828700d..36d9d538b 100644
--- a/unity-shared/MenuManager.cpp
+++ b/unity-shared/MenuManager.cpp
@@ -325,17 +325,12 @@ struct Manager::Impl : sigc::trackable
bool RegisterTracker(std::string const& menubar, PositionTracker const& cb)
{
- auto it = position_trackers_.find(menubar);
-
- if (it != end(position_trackers_))
- return false;
-
- position_trackers_.insert({menubar, cb});
+ bool added = position_trackers_.insert({menubar, cb}).second;
- if (active_menubar_ == menubar)
+ if (added && active_menubar_ == menubar)
UpdateActiveTracker();
- return true;
+ return added;
}
bool UnregisterTracker(std::string const& menubar, PositionTracker const& cb)