summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
Diffstat (limited to 'base')
-rw-r--r--base/message_pump_x.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/base/message_pump_x.cc b/base/message_pump_x.cc
index 3b1ed3d..8a253df 100644
--- a/base/message_pump_x.cc
+++ b/base/message_pump_x.cc
@@ -183,6 +183,8 @@ bool MessagePumpX::RunOnce(GMainContext* context, bool block) {
}
bool MessagePumpX::WillProcessXEvent(XEvent* xevent) {
+ if (!observers().might_have_observers())
+ return false;
ObserverListBase<MessagePumpObserver>::Iterator it(observers());
MessagePumpObserver* obs;
while ((obs = it.GetNext()) != NULL) {
@@ -193,11 +195,7 @@ bool MessagePumpX::WillProcessXEvent(XEvent* xevent) {
}
void MessagePumpX::DidProcessXEvent(XEvent* xevent) {
- ObserverListBase<MessagePumpObserver>::Iterator it(observers());
- MessagePumpObserver* obs;
- while ((obs = it.GetNext()) != NULL) {
- obs->DidProcessEvent(xevent);
- }
+ FOR_EACH_OBSERVER(MessagePumpObserver, observers(), DidProcessEvent(xevent));
}
} // namespace base