| Index: base/message_pump_glib.h
|
| diff --git a/base/message_pump_glib.h b/base/message_pump_glib.h
|
| index 06635de73565a4d4d8e35dcd6ee3726f246cbb20..4e07f663825eaf6ca87b382c07cf438221684d73 100644
|
| --- a/base/message_pump_glib.h
|
| +++ b/base/message_pump_glib.h
|
| @@ -92,11 +92,27 @@ class MessagePumpForUI : public MessagePump {
|
| // Returns the dispatcher for the current run state (|state_->dispatcher|).
|
| Dispatcher* GetDispatcher();
|
|
|
| - private:
|
| // We may make recursive calls to Run, so we save state that needs to be
|
| // separate between them in this structure type.
|
| - struct RunState;
|
| + struct RunState {
|
| + Delegate* delegate;
|
| + Dispatcher* dispatcher;
|
| +
|
| + // Used to flag that the current Run() invocation should return ASAP.
|
| + bool should_quit;
|
| +
|
| + // Used to count how many Run() invocations are on the stack.
|
| + int run_depth;
|
| +
|
| + // This keeps the state of whether the pump got signaled that there was new
|
| + // work to be done. Since we eat the message on the wake up pipe as soon as
|
| + // we get it, we keep that state here to stay consistent.
|
| + bool has_work;
|
| + };
|
|
|
| + RunState* state_;
|
| +
|
| + private:
|
| // Invoked from EventDispatcher. Notifies all observers we're about to
|
| // process an event.
|
| void WillProcessEvent(GdkEvent* event);
|
| @@ -108,8 +124,6 @@ class MessagePumpForUI : public MessagePump {
|
| // Callback prior to gdk dispatching an event.
|
| static void EventDispatcher(GdkEvent* event, void* data);
|
|
|
| - RunState* state_;
|
| -
|
| // This is a GLib structure that we can add event sources to. We use the
|
| // default GLib context, which is the one to which all GTK events are
|
| // dispatched.
|
|
|