summaryrefslogtreecommitdiff
path: root/unity-shared
diff options
authorWilliam Hua <william.hua@canonical.com>2014-02-07 16:17:43 +0000
committerWilliam Hua <william.hua@canonical.com>2014-02-07 16:17:43 +0000
commit6f13fe5160ecf6f7730335085d94878b0059a24b (patch)
tree244ca593521be774185a4d4edb48d5bbb38c20c7 /unity-shared
parent11d7ef6aaef2800d0412be2758c3520cc6ef9a4b (diff)
screen_ might be NULL if Compiz wasn't initialized (as in tests).
(bzr r3608.4.38)
Diffstat (limited to 'unity-shared')
-rw-r--r--unity-shared/GnomeKeyGrabber.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/unity-shared/GnomeKeyGrabber.cpp b/unity-shared/GnomeKeyGrabber.cpp
index 2de3a8b84..4333b3d06 100644
--- a/unity-shared/GnomeKeyGrabber.cpp
+++ b/unity-shared/GnomeKeyGrabber.cpp
@@ -73,8 +73,11 @@ GnomeKeyGrabber::Impl::Impl(CompScreen* screen, bool test_mode)
GnomeKeyGrabber::Impl::~Impl()
{
- for (auto& action : actions_)
- screen_->removeAction(&action);
+ if (screen_)
+ {
+ for (auto& action : actions_)
+ screen_->removeAction(&action);
+ }
}
unsigned int GnomeKeyGrabber::Impl::addAction(CompAction const& action, bool addressable)
@@ -89,7 +92,8 @@ unsigned int GnomeKeyGrabber::Impl::addAction(CompAction const& action, bool add
actions_by_action_id_[current_action_id_] = &action;
}
- screen_->addAction(&actions_.back());
+ if (screen_)
+ screen_->addAction(&actions_.back());
return current_action_id_;
}
@@ -109,7 +113,8 @@ bool GnomeKeyGrabber::Impl::removeAction(unsigned int action_id)
auto j = actions_.begin() + (i - action_ids_.begin());
auto k = actions_by_action_id_.find(action_id);
- screen_->removeAction(&(*j));
+ if (screen_)
+ screen_->removeAction(&(*j));
if (k != actions_by_action_id_.end())
{