diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2012-03-13 00:23:24 +0100 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2012-03-13 00:23:24 +0100 |
| commit | f27c0c11acbdda4ceb798783b4638fe4f0b57b21 (patch) | |
| tree | 0759f1c876fa35d5bb62d9814185967aeeafc049 /UnityCore | |
| parent | ccbe84e73c18df56d89e1e383faa572596024d0d (diff) | |
Indicators: avoid to cast the AppmenuIndicator when not needed.
(bzr r1858.9.180)
Diffstat (limited to 'UnityCore')
| -rw-r--r-- | UnityCore/Indicators.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/UnityCore/Indicators.cpp b/UnityCore/Indicators.cpp index e9e298400..2186ed07f 100644 --- a/UnityCore/Indicators.cpp +++ b/UnityCore/Indicators.cpp @@ -141,9 +141,15 @@ Indicator::Ptr Indicators::Impl::AddIndicator(std::string const& name) Indicator* indptr; if (name == "libappmenu.so") - indptr = new AppmenuIndicator(name); + { + AppmenuIndicator *appmenu = new AppmenuIndicator(name); + appmenu->on_show_appmenu.connect(sigc::mem_fun(owner_, &Indicators::OnShowAppMenu)); + indptr = appmenu; + } else + { indptr = new Indicator(name); + } Indicator::Ptr indicator(indptr); @@ -152,14 +158,6 @@ Indicator::Ptr Indicators::Impl::AddIndicator(std::string const& name) indicator->on_secondary_activate.connect(sigc::mem_fun(owner_, &Indicators::OnEntrySecondaryActivate)); indicator->on_scroll.connect(sigc::mem_fun(owner_, &Indicators::OnEntryScroll)); - if (indicator->IsAppmenu()) - { - AppmenuIndicator *appmenu = dynamic_cast<AppmenuIndicator*>(indicator.get()); - - if (appmenu) - appmenu->on_show_appmenu.connect(sigc::mem_fun(owner_, &Indicators::OnShowAppMenu)); - } - indicators_[name] = indicator; owner_->on_object_added.emit(indicator); |
