This is only a temporary workaround since wl_buffer::compositor field
will be removed soon.
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Merge-request: 3
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
: 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);
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) {
this->surfaceBuffer = buffer;
surfaceType = WaylandSurface::Invalid;
textureCreatedForBuffer = false;
+ buffer->compositor = compositor->base();
}
inline struct wl_buffer *buffer() const { return surfaceBuffer; }