From fc8f083d5899fb789124d37d1daaf0ef67788090 Mon Sep 17 00:00:00 2001 From: Corentin Chary Date: Fri, 20 May 2011 09:46:04 +0200 Subject: [PATCH] qt-compositor/wayland_wrapper: wayland do not set buffer->compositor anymore MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This is only a temporary workaround since wl_buffer::compositor field will be removed soon. Signed-off-by: Corentin Chary Merge-request: 3 Reviewed-by: Samuel Rødal --- src/qt-compositor/wayland_wrapper/wlshmbuffer.cpp | 6 ++++++ src/qt-compositor/wayland_wrapper/wlsurface.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/src/qt-compositor/wayland_wrapper/wlshmbuffer.cpp b/src/qt-compositor/wayland_wrapper/wlshmbuffer.cpp index 66c2be5..f0a307a 100644 --- a/src/qt-compositor/wayland_wrapper/wlshmbuffer.cpp +++ b/src/qt-compositor/wayland_wrapper/wlshmbuffer.cpp @@ -52,6 +52,7 @@ ShmBuffer::ShmBuffer(struct wl_buffer *buffer) : m_buffer(buffer) { m_buffer->user_data = this; + m_buffer->compositor = NULL; m_data = wl_shm_buffer_get_data(m_buffer); m_stride = wl_shm_buffer_get_stride(m_buffer); @@ -75,7 +76,12 @@ QSize ShmBuffer::size() const void ShmBuffer::damage() { QImage::Format imageFormat = QImage::Format_Invalid; + //jl: need to do depth check as well. + + if (!m_buffer->compositor) + return ; + if (m_buffer->visual == &m_buffer->compositor->premultiplied_argb_visual) { imageFormat = QImage::Format_ARGB32_Premultiplied; } else if (m_buffer->visual == &m_buffer->compositor->rgb_visual) { diff --git a/src/qt-compositor/wayland_wrapper/wlsurface.cpp b/src/qt-compositor/wayland_wrapper/wlsurface.cpp index 92e464d..d26cd01 100644 --- a/src/qt-compositor/wayland_wrapper/wlsurface.cpp +++ b/src/qt-compositor/wayland_wrapper/wlsurface.cpp @@ -94,6 +94,7 @@ public: this->surfaceBuffer = buffer; surfaceType = WaylandSurface::Invalid; textureCreatedForBuffer = false; + buffer->compositor = compositor->base(); } inline struct wl_buffer *buffer() const { return surfaceBuffer; } -- 2.7.4