Chromium Code Reviews| Index: base/message_pump_aurax11.h |
| =================================================================== |
| --- base/message_pump_aurax11.h (revision 173177) |
| +++ base/message_pump_aurax11.h (working copy) |
| @@ -77,7 +77,6 @@ |
| private: |
| typedef std::map<unsigned long, MessagePumpDispatcher*> DispatchersMap; |
| - typedef std::vector<MessagePumpDispatcher*> Dispatchers; |
| // Initializes the glib event source for X. |
| void InitXSource(); |
| @@ -106,8 +105,12 @@ |
| scoped_ptr<GPollFD> x_poll_; |
| DispatchersMap dispatchers_; |
| - Dispatchers root_window_dispatchers_; |
| + // Dispatch calls can cause addition of new dispatchers as we iterate |
| + // through them. Use ObserverList to ensure the iterator remains valid across |
| + // additions. |
| + ObserverList<MessagePumpDispatcher> root_window_dispatchers_; |
|
willchan no longer on Chromium
2012/12/19 17:25:42
YOu need the #include for this.
|
| + |
| unsigned long x_root_window_; |
| DISALLOW_COPY_AND_ASSIGN(MessagePumpAuraX11); |