diff options
| author | William Hua <william.hua@canonical.com> | 2014-02-07 16:17:43 +0000 |
|---|---|---|
| committer | William Hua <william.hua@canonical.com> | 2014-02-07 16:17:43 +0000 |
| commit | 6f13fe5160ecf6f7730335085d94878b0059a24b (patch) | |
| tree | 244ca593521be774185a4d4edb48d5bbb38c20c7 /unity-shared | |
| parent | 11d7ef6aaef2800d0412be2758c3520cc6ef9a4b (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.cpp | 13 |
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()) { |
