When disconnecting a surface, cancel don't queue the buffer

This isn't really right either, but avoids having an extra buffer that
the consumer has to drain which it might not be expecting.

To be correct, disconnecting a surface from a context should retain
the current buffer and continue using it when reconnected. The buffer
should only be canceled when the surface is destroyed. That will wait
for a later change.

Bug: 8320762
Change-Id: I5efa39c741193ca4f5612ea9de001ccbb683b345
This commit is contained in:
Jesse Hall 2013-03-07 15:14:18 -08:00
parent 78141e3acc
commit 5f555569e7
1 changed files with 1 additions and 2 deletions

View File

@ -420,9 +420,8 @@ void egl_window_surface_v2_t::disconnect()
bits = NULL;
unlock(buffer);
}
// enqueue the last frame
nativeWindow->queueBuffer(nativeWindow, buffer, -1);
if (buffer) {
nativeWindow->cancelBuffer(nativeWindow, buffer, -1);
buffer->common.decRef(&buffer->common);
buffer = 0;
}