summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2012-03-06 11:35:34 +0100
committerJørgen Lind <jorgen.lind@nokia.com>2012-03-06 11:42:57 +0100
commit11b02237e1bc207ac2916ea2bd067fd68b56f929 (patch)
treeaeded54869ef47778297136ea69f77d7e27b6e68 /src
parent0f5abf0189a8f111e5a3762772f0750bac206ba8 (diff)
Fix potential crash when buffers are destroyed
Also remove non-optimization. Change-Id: Ic5903efffc064eb1ef0d46ef72231e726270af47 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/compositor/wayland_wrapper/wlsurface.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/compositor/wayland_wrapper/wlsurface.cpp b/src/compositor/wayland_wrapper/wlsurface.cpp
index af37d04a9..9d4658d06 100644
--- a/src/compositor/wayland_wrapper/wlsurface.cpp
+++ b/src/compositor/wayland_wrapper/wlsurface.cpp
@@ -300,19 +300,15 @@ bool Surface::advanceBufferQueue()
m_backBuffer = m_bufferQueue.takeFirst();
while (m_backBuffer && m_backBuffer->isDestroyed()) {
m_backBuffer->disown();
- m_bufferQueue.takeFirst();
- m_backBuffer = m_bufferQueue.size() ? m_bufferQueue.first():0;
+ m_backBuffer = m_bufferQueue.size() ? m_bufferQueue.takeFirst() : 0;
}
if (!m_backBuffer)
return false; //we have no new backbuffer;
- if (m_backBuffer->waylandBufferHandle()) {
- if (width != m_backBuffer->width() ||
- height != m_backBuffer->height()) {
- width = m_backBuffer->width();
- height = m_backBuffer->height();
- }
+ if (m_backBuffer->waylandBufferHandle()) {
+ width = m_backBuffer->width();
+ height = m_backBuffer->height();
}
setSize(QSize(width,height));