| Index: ppapi/cpp/paint_manager.cc
|
| ===================================================================
|
| --- ppapi/cpp/paint_manager.cc (revision 66000)
|
| +++ ppapi/cpp/paint_manager.cc (working copy)
|
| @@ -15,7 +15,9 @@
|
| : instance_(NULL),
|
| client_(NULL),
|
| is_always_opaque_(false),
|
| - callback_factory_(NULL) {
|
| + callback_factory_(NULL),
|
| + manual_callback_pending_(false),
|
| + flush_pending_(false) {
|
| // Set the callback object outside of the initializer list to avoid a
|
| // compiler warning about using "this" in an initializer list.
|
| callback_factory_.Initialize(this);
|
| @@ -27,7 +29,9 @@
|
| : instance_(instance),
|
| client_(client),
|
| is_always_opaque_(is_always_opaque),
|
| - callback_factory_(NULL) {
|
| + callback_factory_(NULL),
|
| + manual_callback_pending_(false),
|
| + flush_pending_(false) {
|
| // Set the callback object outside of the initializer list to avoid a
|
| // compiler warning about using "this" in an initializer list.
|
| callback_factory_.Initialize(this);
|
| @@ -167,7 +171,7 @@
|
| // invalid regions. Even though we only schedule this callback when something
|
| // is pending, a Flush callback could have come in before this callback was
|
| // executed and that could have cleared the queue.
|
| - if (aggregator_.HasPendingUpdate())
|
| + if (aggregator_.HasPendingUpdate() && !flush_pending_)
|
| DoPaint();
|
| }
|
|
|
|
|