$$PWD/wlcompositor.h \
$$PWD/wldisplay.h \
$$PWD/wloutput.h \
- $$PWD/wlshmbuffer.h \
$$PWD/wlsurface.h \
$$PWD/wlshellsurface.h \
$$PWD/wlinputdevice.h \
$$PWD/wlcompositor.cpp \
$$PWD/wldisplay.cpp \
$$PWD/wloutput.cpp \
- $$PWD/wlshmbuffer.cpp \
$$PWD/wlsurface.cpp \
$$PWD/wlshellsurface.cpp \
$$PWD/wlinputdevice.cpp \
#include "waylandinput.h"
#include "wldisplay.h"
-#include "wlshmbuffer.h"
#include "wlsurface.h"
#include "waylandcompositor.h"
#include "wldatadevicemanager.h"
: m_display(new Display)
, m_default_input_device(0)
, m_pageFlipper(0)
- , m_shm(m_display)
, m_current_frame(0)
, m_last_queued_buf(-1)
, m_qt_compositor(qt_compositor)
m_shell = new Shell();
wl_display_add_global(m_display->handle(), &wl_shell_interface, m_shell, Shell::bind_func);
+ wl_display_init_shm(m_display->handle());
+
m_outputExtension = new OutputExtensionGlobal(this);
m_surfaceExtension = new SurfaceExtensionGlobal(this);
m_qtkeyExtension = new QtKeyExtensionGlobal(this);
#include "waylandexport.h"
#include <QtCore/QSet>
+#include <QtGui/QWindow>
#include "wloutput.h"
#include "wldisplay.h"
-#include "wlshmbuffer.h"
#include <wayland-server.h>
//This one should be part of the outputs
QPlatformScreenPageFlipper *m_pageFlipper;
- /* shm/*/
- ShmHandler m_shm;
-
DataDeviceManager *m_data_device_manager;
QList<Surface *> m_surfaces;
#include "wlinputdevice.h"
-#include "wlshmbuffer.h"
#include "wlcompositor.h"
#include "wldatadevice.h"
#include "wlsurface.h"
namespace Wayland {
-static ShmBuffer *currentCursor;
+static QImage *currentCursor;
InputDevice::InputDevice(WaylandInputDevice *handle, Compositor *compositor)
: m_handle(handle)
InputDevice *inputDevice = wayland_cast<InputDevice>(device_base);
if (wl_buffer_is_shm(buffer)) {
- ShmBuffer *shmBuffer = static_cast<ShmBuffer *>(buffer->user_data);
- if (shmBuffer) {
- inputDevice->m_compositor->waylandCompositor()->changeCursor(shmBuffer->image(), x, y);
- currentCursor = shmBuffer;
+ int stride = wl_shm_buffer_get_stride(buffer);
+ uint format = wl_shm_buffer_get_format(buffer);
+ (void) format;
+ void *data = wl_shm_buffer_get_data(buffer);
+ const uchar *char_data = static_cast<const uchar *>(data);
+ if (char_data) {
+ QImage *img = new QImage(char_data, buffer->width, buffer->height, stride, QImage::Format_ARGB32_Premultiplied);
+ inputDevice->m_compositor->waylandCompositor()->changeCursor(*img, x, y);
+ delete currentCursor;
+ currentCursor = img;
}
}
}
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the Qt Compositor.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "wlshmbuffer.h"
-
-#include "wldisplay.h"
-#include "wlcompositor.h"
-
-#include <QtCore/QDebug>
-
-#include <sys/mman.h>
-
-namespace Wayland {
-
-ShmBuffer::ShmBuffer(struct wl_buffer *buffer)
- : m_buffer(buffer)
-{
- m_buffer->user_data = this;
- m_data = wl_shm_buffer_get_data(m_buffer);
- m_stride = wl_shm_buffer_get_stride(m_buffer);
-
- damage();
-}
-
-ShmBuffer::~ShmBuffer()
-{
-}
-
-QImage ShmBuffer::image() const
-{
- return m_image;
-}
-
-QSize ShmBuffer::size() const
-{
- return QSize(m_buffer->width, m_buffer->height);
-}
-
-void ShmBuffer::damage()
-{
- QImage::Format imageFormat = QImage::Format_Invalid;
-
- imageFormat = QImage::Format_ARGB32_Premultiplied;
-
- m_image = QImage(static_cast<uchar *>(m_data),m_buffer->width, m_buffer->height,m_stride,imageFormat);
-
-}
-
-static ShmHandler *handlerInstance;
-
-ShmHandler::ShmHandler(Display *display)
- : m_display(display)
-{
- handlerInstance = this;
- m_shm = wl_shm_init(m_display->handle(),&shm_callbacks);
-}
-
-ShmHandler::~ShmHandler()
-{
- wl_shm_finish(m_shm);
-}
-
-struct wl_shm_callbacks ShmHandler::shm_callbacks = {
- buffer_created_callback,
- buffer_damaged_callback,
- buffer_destroyed_callback
-};
-
-void ShmHandler::buffer_created_callback(struct wl_buffer *buffer)
-{
- ShmBuffer *newBuffer = new ShmBuffer(buffer);
- Q_UNUSED(newBuffer);
-}
-
-void ShmHandler::buffer_damaged_callback(struct wl_buffer *buffer,
- int32_t x, int32_t y,
- int32_t width, int32_t height)
-{
- Q_UNUSED(buffer);
- Q_UNUSED(x);
- Q_UNUSED(y);
- Q_UNUSED(width);
- Q_UNUSED(height);
- //damage has the responsibillity to update the QImage
- //for now we just recrate the entire QImage as we need a new
- //hash key for texture uploads
- static_cast<ShmBuffer *>(buffer->user_data)->damage();
-}
-
-void ShmHandler::buffer_destroyed_callback(struct wl_buffer *buffer)
-{
- ShmBuffer *shmbuf = static_cast<ShmBuffer *>(buffer->user_data);
- delete shmbuf;
-}
-
-}
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the Qt Compositor.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef WL_SHMBUFFER_H
-#define WL_SHMBUFFER_H
-
-#include "waylandobject.h"
-
-#include <QtCore/QRect>
-#include <QtGui/QImage>
-
-
-namespace Wayland {
-
-class Surface;
-class Display;
-
-class ShmBuffer
-{
-public:
- ShmBuffer(struct wl_buffer *buffer);
- ~ShmBuffer();
-
- QImage image() const;
- QSize size() const;
-
- void damage();
-
-private:
- struct wl_buffer *m_buffer;
- int m_stride;
- void *m_data;
- QImage m_image;
-};
-
-class ShmHandler
-{
-public:
- ShmHandler(Display *display);
- ~ShmHandler();
-
-private:
- Display *m_display;
- struct wl_shm *m_shm;
-
- static struct wl_shm_callbacks shm_callbacks;
- static void buffer_created_callback(struct wl_buffer *buffer);
- static void buffer_damaged_callback(struct wl_buffer *buffer,
- int32_t x, int32_t y,
- int32_t width, int32_t height);
- static void buffer_destroyed_callback(struct wl_buffer *buffer);
-};
-
-}
-
-#endif //WL_SHMBUFFER_H
#include "waylandsurfaceitem.h"
#include "wlcompositor.h"
-#include "wlshmbuffer.h"
#include "wlinputdevice.h"
#include "wlextendedsurface.h"
#include "wlregion.h"
{
SurfaceBuffer *surfacebuffer = currentSurfaceBuffer();
if (surfacebuffer && !surfacebuffer->isDestroyed() && type() == WaylandSurface::Shm) {
- ShmBuffer *shmBuffer = static_cast<ShmBuffer *>(surfacebuffer->waylandBufferHandle()->user_data);
- return shmBuffer->image();
+ struct wl_buffer *buffer = surfacebuffer->waylandBufferHandle();
+ int stride = wl_shm_buffer_get_stride(buffer);
+ uint format = wl_shm_buffer_get_format(buffer);
+ (void) format;
+ void *data = wl_shm_buffer_get_data(buffer);
+ const uchar *char_data = static_cast<const uchar *>(data);
+ QImage img(char_data, buffer->width, buffer->height, stride, QImage::Format_ARGB32_Premultiplied);
+ return img;
}
return QImage();
}
#include "waylandexport.h"
-#include "wlshmbuffer.h"
#include "wlsurfacebuffer.h"
#include "waylandsurface.h"
void *SurfaceBuffer::handle() const
{
- return m_buffer->user_data;
+ return m_buffer;
}
void SurfaceBuffer::destroy_listener_callback(wl_listener *listener, wl_resource *resource, uint32_t time)
#ifndef QWAYLANDEGLINCLUDE_H
#define QWAYLANDEGLINCLUDE_H
+#include <string.h>
#include <wayland-client.h>
#include <wayland-egl.h>
virtual ~QWaylandBuffer() { }
wl_buffer *buffer() {return mBuffer;}
virtual QSize size() const = 0;
- inline void damage(const QRect &rect = QRect());
protected:
struct wl_buffer *mBuffer;
};
-void QWaylandBuffer::damage(const QRect &rect)
-{
- if (rect.isValid())
- wl_buffer_damage(mBuffer,rect.x(),rect.y(),rect.width(),rect.height());
- else
- wl_buffer_damage(mBuffer,0,0,size().width(),size().height());
-}
-
#endif // QWAYLANDBUFFER_H
QImage::Format_ARGB32);
}
reader.read(mBuffer->image());
- mBuffer->damage();
mDisplay->setCursor(mBuffer, p->hotspot_x, p->hotspot_y);
}
}
QDataStream ds(&byteValue, QIODevice::WriteOnly);
ds << value;
- wl_array data;
+ struct wl_array data;
data.size = byteValue.size();
data.data = (void*)byteValue.constData();
data.alloc = 0;
#ifndef QWAYLANDEXTENDEDSURFACE_H
#define QWAYLANDEXTENDEDSURFACE_H
-#include <wayland-client.h>
-
#include <QtCore/QString>
#include <QtCore/QVariant>
+#include <wayland-client.h>
+
class QWaylandDisplay;
class QWaylandWindow;
class QWaylandExtendedSurface;
inputDevice->mButtons);
}
+void QWaylandInputDevice::inputHandleAxis(void *data,
+ struct wl_input_device *wl_input_device,
+ uint32_t time,
+ uint32_t axis,
+ int32_t value)
+{
+ Q_UNUSED(data);
+ Q_UNUSED(wl_input_device);
+ Q_UNUSED(time);
+ Q_UNUSED(axis);
+ Q_UNUSED(value);
+}
#ifndef QT_NO_WAYLAND_XKB
static Qt::KeyboardModifiers translateModifiers(int s)
{
const struct wl_input_device_listener QWaylandInputDevice::inputDeviceListener = {
QWaylandInputDevice::inputHandleMotion,
QWaylandInputDevice::inputHandleButton,
+ QWaylandInputDevice::inputHandleAxis,
QWaylandInputDevice::inputHandleKey,
QWaylandInputDevice::inputHandlePointerEnter,
QWaylandInputDevice::inputHandlePointerLeave,
static void inputHandleButton(void *data,
struct wl_input_device *input_device,
uint32_t time, uint32_t button, uint32_t state);
+ static void inputHandleAxis(void *data,
+ struct wl_input_device *wl_input_device,
+ uint32_t time,
+ uint32_t axis,
+ int32_t value);
static void inputHandleKey(void *data,
struct wl_input_device *input_device,
uint32_t time, uint32_t key, uint32_t state);
}
mImage = QImage(data, size.width(), size.height(), stride, format);
- mBuffer = wl_shm_create_buffer(display->shm(),fd, size.width(), size.height(),
+ mShmPool = wl_shm_create_pool(display->shm(), fd, alloc);
+ mBuffer = wl_shm_pool_create_buffer(mShmPool,0, size.width(), size.height(),
stride, WL_SHM_FORMAT_ARGB8888);
close(fd);
}
{
munmap((void *) mImage.constBits(), mImage.byteCount());
wl_buffer_destroy(mBuffer);
+ wl_shm_pool_destroy(mShmPool);
}
QWaylandShmBackingStore::QWaylandShmBackingStore(QWindow *window)
QVector<QRect> rects = region.rects();
for (int i = 0; i < rects.size(); i++) {
const QRect rect = rects.at(i);
- wl_buffer_damage(mBuffer->buffer(),rect.x(),rect.y(),rect.width(),rect.height());
waylandWindow->damage(rect);
}
}
QImage *image() { return &mImage; }
private:
QImage mImage;
+ struct wl_shm_pool *mShmPool;
};
class QWaylandShmBackingStore : public QPlatformBackingStore
class QWaylandWindow;
class QWaylandSubSurface;
+#include <string.h>
#include <wayland-client.h>
class QWaylandSubSurfaceExtension
mockcompositor.cpp \
mockinput.cpp \
mockshell.cpp \
- mockshm.cpp \
mocksurface.cpp \
mockoutput.cpp
HEADERS += mockcompositor.h \
- mockshm.h \
mocksurface.h
wl_display_add_global(m_display, &wl_output_interface, this, bindOutput);
wl_display_add_global(m_display, &wl_shell_interface, this, bindShell);
- initShm();
+ wl_display_init_shm(m_display);
m_loop = wl_display_get_event_loop(m_display);
m_fd = wl_event_loop_get_fd(m_loop);
Compositor::~Compositor()
{
- wl_shm_finish(m_shm);
wl_display_destroy(m_display);
}
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mockcompositor.h"
-#include "mockshm.h"
-
-namespace Impl {
-
-ShmBuffer::ShmBuffer(wl_buffer *buffer)
- : m_buffer(buffer)
-{
- refresh();
-}
-
-void ShmBuffer::refresh()
-{
- m_image = QImage(static_cast<uint8_t *>(wl_shm_buffer_get_data(m_buffer)),
- m_buffer->width, m_buffer->height,
- wl_shm_buffer_get_stride(m_buffer),
- QImage::Format_ARGB32_Premultiplied);
-}
-
-QImage ShmBuffer::image() const
-{
- return m_image;
-}
-
-static void shm_buffer_created(wl_buffer *buffer)
-{
- buffer->user_data = new ShmBuffer(buffer);
-}
-
-static void shm_buffer_damaged(wl_buffer *buffer,
- int32_t x, int32_t y,
- int32_t width, int32_t height)
-{
- Q_UNUSED(QRect(x, y, width, height));
- static_cast<ShmBuffer *>(buffer->user_data)->refresh();
-}
-
-static void shm_buffer_destroyed(wl_buffer *buffer)
-{
- delete static_cast<ShmBuffer *>(buffer->user_data);
-}
-
-void Compositor::initShm()
-{
- static struct wl_shm_callbacks shmCallbacks = {
- shm_buffer_created,
- shm_buffer_damaged,
- shm_buffer_destroyed
- };
-
- m_shm = wl_shm_init(m_display, &shmCallbacks);
-}
-
-}
-
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qglobal.h>
-#include <wayland-server.h>
-
-#include <QImage>
-
-namespace Impl {
-
-class ShmBuffer
-{
-public:
- ShmBuffer(wl_buffer *buffer);
-
- void refresh();
- QImage image() const;
-
-private:
- wl_buffer *m_buffer;
- QImage m_image;
-};
-
-}
#include "mocksurface.h"
#include "mockcompositor.h"
-#include "mockshm.h"
namespace Impl {
if (!buffer)
return;
- if (wl_buffer_is_shm(buffer))
- surface->m_mockSurface->image = static_cast<ShmBuffer *>(buffer->user_data)->image();
+ if (wl_buffer_is_shm(buffer)) {
+ int stride = wl_shm_buffer_get_stride(buffer);
+ uint format = wl_shm_buffer_get_format(buffer);
+ (void) format;
+ void *data = wl_shm_buffer_get_data(buffer);
+ const uchar *char_data = static_cast<const uchar *>(data);
+ QImage img(char_data, buffer->width, buffer->height, stride, QImage::Format_ARGB32_Premultiplied);
+ surface->m_mockSurface->image = img;
+ }
wl_resource *frameCallback;
wl_list_for_each(frameCallback, &surface->m_frameCallbackList, link) {
backingStore.flush(rect);
- QTRY_COMPARE(surface->image.size(), rect.size());
- QTRY_COMPARE(surface->image.pixel(0, 0), color.rgba());
+ QTRY_COMPARE(surface->image.size(), window.frameGeometry().size());
+ QTRY_COMPARE(surface->image.pixel(window.frameMargins().left(), window.frameMargins().top()), color.rgba());
window.hide();
}
image = QImage(static_cast<uchar *>(data), size.width(), size.height(), stride, QImage::Format_ARGB32_Premultiplied);
- handle = wl_shm_create_buffer(shm,fd, size.width(), size.height(),
+ shm_pool = wl_shm_create_pool(shm,fd,alloc);
+ handle = wl_shm_pool_create_buffer(shm_pool,0, size.width(), size.height(),
stride, WL_SHM_FORMAT_ARGB8888);
close(fd);
}
{
munmap(image.bits(), image.byteCount());
wl_buffer_destroy(handle);
+ wl_shm_pool_destroy(shm_pool);
}
**
****************************************************************************/
+#include "string.h"
#include "wayland-client.h"
#include <QObject>
ShmBuffer(const QSize &size, wl_shm *shm);
~ShmBuffer();
- wl_buffer *handle;
+ struct wl_buffer *handle;
+ struct wl_shm_pool *shm_pool;
QImage image;
};
This version of Qt-Compositor is checked against the following sha1 from the
Wayland repository:
-bb4b05bc8d0df6dc119a20bdaad30a0849a028be
+aa777e5b10e17d12c4bb6440f7c659d2a12191f5