Merge "deliver invalidate messages AFTER other messages" into gingerbread

This commit is contained in:
Mathias Agopian
2010-10-11 14:15:04 -07:00
committed by Android (Google) Code Review

View File

@ -72,14 +72,6 @@ sp<MessageBase> MessageQueue::waitMessage(nsecs_t timeout)
nsecs_t now = systemTime(); nsecs_t now = systemTime();
nsecs_t nextEventTime = -1; nsecs_t nextEventTime = -1;
// invalidate messages are always handled first
if (mInvalidate) {
mInvalidate = false;
mInvalidateMessage->when = now;
result = mInvalidateMessage;
break;
}
LIST::iterator cur(mMessages.begin()); LIST::iterator cur(mMessages.begin());
if (cur != mMessages.end()) { if (cur != mMessages.end()) {
result = *cur; result = *cur;
@ -95,6 +87,14 @@ sp<MessageBase> MessageQueue::waitMessage(nsecs_t timeout)
result = 0; result = 0;
} }
// see if we have an invalidate message
if (mInvalidate) {
mInvalidate = false;
mInvalidateMessage->when = now;
result = mInvalidateMessage;
break;
}
if (timeout >= 0) { if (timeout >= 0) {
if (timeoutTime < now) { if (timeoutTime < now) {
// we timed-out, return a NULL message // we timed-out, return a NULL message