summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--LICENSE.GPLv32
-rw-r--r--LICENSE.LGPLv212
-rw-r--r--LICENSE.LGPLv32
-rw-r--r--src/client/hardwareintegration/qwaylandhardwareintegration_p.h4
-rw-r--r--src/client/qwaylandabstractdecoration.cpp5
-rw-r--r--src/client/qwaylandcursor_p.h8
-rw-r--r--src/client/qwaylanddatadevice.cpp34
-rw-r--r--src/client/qwaylanddisplay.cpp11
-rw-r--r--src/client/qwaylanddisplay_p.h4
-rw-r--r--src/client/qwaylandinputdevice.cpp1
-rw-r--r--src/client/qwaylandinputdevice_p.h2
-rw-r--r--src/client/qwaylandintegration_p.h32
-rw-r--r--src/client/qwaylandnativeinterface_p.h16
-rw-r--r--src/client/qwaylandscreen_p.h16
-rw-r--r--src/client/qwaylandshmbackingstore_p.h10
-rw-r--r--src/client/qwaylandshmwindow_p.h4
-rw-r--r--src/client/qwaylandwindow_p.h22
-rw-r--r--src/client/qwaylandwindowmanagerintegration_p.h6
-rw-r--r--src/client/qwaylandxdgsurface.cpp23
-rw-r--r--src/client/qwaylandxdgsurface_p.h2
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h8
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h6
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h10
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h6
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp2
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h16
-rw-r--r--src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h4
-rw-r--r--src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.h4
-rw-r--r--src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h4
-rw-r--r--src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h10
-rw-r--r--src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h4
-rw-r--r--src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h4
-rw-r--r--src/plugins/decorations/bradient/main.cpp8
-rw-r--r--src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp2
-rw-r--r--src/plugins/platforms/qwayland-xcomposite-glx/main.cpp2
35 files changed, 139 insertions, 157 deletions
diff --git a/LICENSE.GPLv3 b/LICENSE.GPLv3
index 4e49b122a..71c4ad49c 100644
--- a/LICENSE.GPLv3
+++ b/LICENSE.GPLv3
@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/
- You may use, distribute and copy the Qt GUI Toolkit under the terms of
+ You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3. That license references
the General Public License version 3, that is displayed below. Other
portions of the Qt Toolkit may be licensed directly under this license.
diff --git a/LICENSE.LGPLv21 b/LICENSE.LGPLv21
index 6e1846112..dfcab5e29 100644
--- a/LICENSE.LGPLv21
+++ b/LICENSE.LGPLv21
@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/
- You may use, distribute and copy the Qt GUI Toolkit under the terms of
+ You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 2.1, which is displayed below.
-------------------------------------------------------------------------
diff --git a/LICENSE.LGPLv3 b/LICENSE.LGPLv3
index 4d67bac0b..6bf924cd1 100644
--- a/LICENSE.LGPLv3
+++ b/LICENSE.LGPLv3
@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/
- You may use, distribute and copy the Qt GUI Toolkit under the terms of
+ You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3, which is displayed below.
This license makes reference to the version 3 of the GNU General
Public License, which you can find in the LICENSE.GPLv3 file.
diff --git a/src/client/hardwareintegration/qwaylandhardwareintegration_p.h b/src/client/hardwareintegration/qwaylandhardwareintegration_p.h
index 92748c9f0..db9e19ac9 100644
--- a/src/client/hardwareintegration/qwaylandhardwareintegration_p.h
+++ b/src/client/hardwareintegration/qwaylandhardwareintegration_p.h
@@ -69,8 +69,8 @@ public:
QString serverBufferIntegration();
protected:
- void hardware_integration_client_backend(const QString &name);
- void hardware_integration_server_backend(const QString &name);
+ void hardware_integration_client_backend(const QString &name) Q_DECL_OVERRIDE;
+ void hardware_integration_server_backend(const QString &name) Q_DECL_OVERRIDE;
private:
QString m_client_buffer;
diff --git a/src/client/qwaylandabstractdecoration.cpp b/src/client/qwaylandabstractdecoration.cpp
index 8ac2cabfa..daaf4e6bc 100644
--- a/src/client/qwaylandabstractdecoration.cpp
+++ b/src/client/qwaylandabstractdecoration.cpp
@@ -110,7 +110,10 @@ const QImage &QWaylandAbstractDecoration::contentImage()
if (d->m_isDirty) {
//Update the decoration backingstore
- d->m_decorationContentImage = QImage(window()->frameGeometry().size(), QImage::Format_ARGB32_Premultiplied);
+ const int scale = waylandWindow()->scale();
+ const QSize imageSize = window()->frameGeometry().size() * scale;
+ d->m_decorationContentImage = QImage(imageSize, QImage::Format_ARGB32_Premultiplied);
+ d->m_decorationContentImage.setDevicePixelRatio(scale);
d->m_decorationContentImage.fill(Qt::transparent);
this->paint(&d->m_decorationContentImage);
diff --git a/src/client/qwaylandcursor_p.h b/src/client/qwaylandcursor_p.h
index 4154ee191..11333d34d 100644
--- a/src/client/qwaylandcursor_p.h
+++ b/src/client/qwaylandcursor_p.h
@@ -73,10 +73,10 @@ public:
QWaylandCursor(QWaylandScreen *screen);
~QWaylandCursor();
- void changeCursor(QCursor *cursor, QWindow *window);
- void pointerEvent(const QMouseEvent &event);
- QPoint pos() const;
- void setPos(const QPoint &pos);
+ void changeCursor(QCursor *cursor, QWindow *window) Q_DECL_OVERRIDE;
+ void pointerEvent(const QMouseEvent &event) Q_DECL_OVERRIDE;
+ QPoint pos() const Q_DECL_OVERRIDE;
+ void setPos(const QPoint &pos) Q_DECL_OVERRIDE;
struct wl_cursor_image *cursorImage(Qt::CursorShape shape);
QSharedPointer<QWaylandBuffer> cursorBitmapImage(const QCursor *cursor);
diff --git a/src/client/qwaylanddatadevice.cpp b/src/client/qwaylanddatadevice.cpp
index 9cc4217ff..afc8849b3 100644
--- a/src/client/qwaylanddatadevice.cpp
+++ b/src/client/qwaylanddatadevice.cpp
@@ -156,31 +156,29 @@ void QWaylandDataDevice::data_device_enter(uint32_t serial, wl_surface *surface,
m_dragWindow = QWaylandWindow::fromWlSurface(surface)->window();
m_dragPoint = calculateDragPosition(x, y, m_dragWindow);
- QDrag *drag = static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag())->currentDrag();
-
QMimeData *dragData = Q_NULLPTR;
Qt::DropActions supportedActions;
+
+ m_dragOffer.reset(static_cast<QWaylandDataOffer *>(wl_data_offer_get_user_data(id)));
+ QDrag *drag = static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag())->currentDrag();
if (drag) {
dragData = drag->mimeData();
supportedActions = drag->supportedActions();
- } else {
- m_dragOffer.reset(static_cast<QWaylandDataOffer *>(wl_data_offer_get_user_data(id)));
- if (m_dragOffer) {
- dragData = m_dragOffer->mimeData();
- supportedActions = Qt::CopyAction | Qt::MoveAction | Qt::LinkAction;
- }
+ } else if (m_dragOffer) {
+ dragData = m_dragOffer->mimeData();
+ supportedActions = Qt::CopyAction | Qt::MoveAction | Qt::LinkAction;
}
const QPlatformDragQtResponse &response = QWindowSystemInterface::handleDrag(m_dragWindow, dragData, m_dragPoint, supportedActions);
if (drag) {
static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag())->setResponse(response);
+ }
+
+ if (response.isAccepted()) {
+ wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, m_dragOffer->firstFormat().toUtf8().constData());
} else {
- if (response.isAccepted()) {
- wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, m_dragOffer->firstFormat().toUtf8().constData());
- } else {
- wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, 0);
- }
+ wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, 0);
}
}
@@ -219,12 +217,12 @@ void QWaylandDataDevice::data_device_motion(uint32_t time, wl_fixed_t x, wl_fixe
if (drag) {
static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag())->setResponse(response);
+ }
+
+ if (response.isAccepted()) {
+ wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, m_dragOffer->firstFormat().toUtf8().constData());
} else {
- if (response.isAccepted()) {
- wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, m_dragOffer->firstFormat().toUtf8().constData());
- } else {
- wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, 0);
- }
+ wl_data_offer_accept(m_dragOffer->object(), m_enterSerial, 0);
}
}
diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
index a18b9853f..9ed76d2ce 100644
--- a/src/client/qwaylanddisplay.cpp
+++ b/src/client/qwaylanddisplay.cpp
@@ -125,19 +125,8 @@ QWaylandWindowManagerIntegration *QWaylandDisplay::windowManagerIntegration() co
return mWindowManagerIntegration.data();
}
-QWaylandInputDevice *QWaylandDisplay::lastKeyboardFocusInputDevice() const
-{
- return mLastKeyboardFocusInputDevice;
-}
-
-void QWaylandDisplay::setLastKeyboardFocusInputDevice(QWaylandInputDevice *device)
-{
- mLastKeyboardFocusInputDevice = device;
-}
-
QWaylandDisplay::QWaylandDisplay(QWaylandIntegration *waylandIntegration)
: mWaylandIntegration(waylandIntegration)
- , mLastKeyboardFocusInputDevice(0)
, mDndSelectionHandler(0)
, mWindowExtension(0)
, mSubCompositor(0)
diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
index 59b005743..1c0b46bfb 100644
--- a/src/client/qwaylanddisplay_p.h
+++ b/src/client/qwaylanddisplay_p.h
@@ -140,9 +140,6 @@ public:
QWaylandInputDevice *defaultInputDevice() const;
QWaylandInputDevice *currentInputDevice() const { return defaultInputDevice(); }
- QWaylandInputDevice *lastKeyboardFocusInputDevice() const;
- void setLastKeyboardFocusInputDevice(QWaylandInputDevice *device);
-
QWaylandDataDeviceManager *dndSelectionHandler() const { return mDndSelectionHandler.data(); }
QtWayland::qt_surface_extension *windowExtension() const { return mWindowExtension.data(); }
@@ -200,7 +197,6 @@ private:
QList<QWaylandInputDevice *> mInputDevices;
QList<Listener> mRegistryListeners;
QWaylandIntegration *mWaylandIntegration;
- QWaylandInputDevice *mLastKeyboardFocusInputDevice;
QScopedPointer<QWaylandDataDeviceManager> mDndSelectionHandler;
QScopedPointer<QtWayland::qt_surface_extension> mWindowExtension;
QScopedPointer<QtWayland::wl_subcompositor> mSubCompositor;
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index e85a8d984..613d517a3 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -656,7 +656,6 @@ void QWaylandInputDevice::Keyboard::focusCallback(void *data, struct wl_callback
self->mFocusCallback = 0;
}
- self->mParent->mQDisplay->setLastKeyboardFocusInputDevice(self->mFocus ? self->mParent : 0);
QWindowSystemInterface::handleWindowActivated(self->mFocus ? self->mFocus->window() : 0);
}
diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h
index 82b9d90c3..3954328f1 100644
--- a/src/client/qwaylandinputdevice_p.h
+++ b/src/client/qwaylandinputdevice_p.h
@@ -234,7 +234,7 @@ public:
void pointer_enter(uint32_t serial, struct wl_surface *surface,
wl_fixed_t sx, wl_fixed_t sy) Q_DECL_OVERRIDE;
- void pointer_leave(uint32_t time, struct wl_surface *surface);
+ void pointer_leave(uint32_t time, struct wl_surface *surface) Q_DECL_OVERRIDE;
void pointer_motion(uint32_t time,
wl_fixed_t sx, wl_fixed_t sy) Q_DECL_OVERRIDE;
void pointer_button(uint32_t serial, uint32_t time,
diff --git a/src/client/qwaylandintegration_p.h b/src/client/qwaylandintegration_p.h
index 4ee6fac8e..f5e68eaf4 100644
--- a/src/client/qwaylandintegration_p.h
+++ b/src/client/qwaylandintegration_p.h
@@ -72,37 +72,37 @@ public:
QWaylandIntegration();
~QWaylandIntegration();
- bool hasCapability(QPlatformIntegration::Capability cap) const;
- QPlatformWindow *createPlatformWindow(QWindow *window) const;
+ bool hasCapability(QPlatformIntegration::Capability cap) const Q_DECL_OVERRIDE;
+ QPlatformWindow *createPlatformWindow(QWindow *window) const Q_DECL_OVERRIDE;
#ifndef QT_NO_OPENGL
- QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const;
+ QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const Q_DECL_OVERRIDE;
#endif
- QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const;
+ QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const Q_DECL_OVERRIDE;
- QAbstractEventDispatcher *createEventDispatcher() const;
- void initialize();
+ QAbstractEventDispatcher *createEventDispatcher() const Q_DECL_OVERRIDE;
+ void initialize() Q_DECL_OVERRIDE;
- QPlatformFontDatabase *fontDatabase() const;
+ QPlatformFontDatabase *fontDatabase() const Q_DECL_OVERRIDE;
- QPlatformNativeInterface *nativeInterface() const;
+ QPlatformNativeInterface *nativeInterface() const Q_DECL_OVERRIDE;
- QPlatformClipboard *clipboard() const;
+ QPlatformClipboard *clipboard() const Q_DECL_OVERRIDE;
- QPlatformDrag *drag() const;
+ QPlatformDrag *drag() const Q_DECL_OVERRIDE;
- QPlatformInputContext *inputContext() const;
+ QPlatformInputContext *inputContext() const Q_DECL_OVERRIDE;
- QVariant styleHint(StyleHint hint) const;
+ QVariant styleHint(StyleHint hint) const Q_DECL_OVERRIDE;
- QPlatformAccessibility *accessibility() const;
+ QPlatformAccessibility *accessibility() const Q_DECL_OVERRIDE;
- QPlatformServices *services() const;
+ QPlatformServices *services() const Q_DECL_OVERRIDE;
QWaylandDisplay *display() const;
- QStringList themeNames() const;
+ QStringList themeNames() const Q_DECL_OVERRIDE;
- QPlatformTheme *createPlatformTheme(const QString &name) const;
+ QPlatformTheme *createPlatformTheme(const QString &name) const Q_DECL_OVERRIDE;
QWaylandInputDevice *createInputDevice(QWaylandDisplay *display, int version, uint32_t id);
diff --git a/src/client/qwaylandnativeinterface_p.h b/src/client/qwaylandnativeinterface_p.h
index 61c5e59d5..83e3fe5fa 100644
--- a/src/client/qwaylandnativeinterface_p.h
+++ b/src/client/qwaylandnativeinterface_p.h
@@ -67,17 +67,17 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandNativeInterface : public QPlatformNativeIn
{
public:
QWaylandNativeInterface(QWaylandIntegration *integration);
- void *nativeResourceForIntegration(const QByteArray &resource);
+ void *nativeResourceForIntegration(const QByteArray &resource) Q_DECL_OVERRIDE;
void *nativeResourceForWindow(const QByteArray &resourceString,
- QWindow *window);
+ QWindow *window) Q_DECL_OVERRIDE;
void *nativeResourceForScreen(const QByteArray &resourceString,
- QScreen *screen);
- void *nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context);
+ QScreen *screen) Q_DECL_OVERRIDE;
+ void *nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) Q_DECL_OVERRIDE;
- QVariantMap windowProperties(QPlatformWindow *window) const;
- QVariant windowProperty(QPlatformWindow *window, const QString &name) const;
- QVariant windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const;
- void setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value);
+ QVariantMap windowProperties(QPlatformWindow *window) const Q_DECL_OVERRIDE;
+ QVariant windowProperty(QPlatformWindow *window, const QString &name) const Q_DECL_OVERRIDE;
+ QVariant windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const Q_DECL_OVERRIDE;
+ void setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value) Q_DECL_OVERRIDE;
void emitWindowPropertyChanged(QPlatformWindow *window, const QString &name);
diff --git a/src/client/qwaylandscreen_p.h b/src/client/qwaylandscreen_p.h
index 12b680640..64980280a 100644
--- a/src/client/qwaylandscreen_p.h
+++ b/src/client/qwaylandscreen_p.h
@@ -72,25 +72,25 @@ public:
void init();
QWaylandDisplay *display() const;
- QRect geometry() const;
- int depth() const;
- QImage::Format format() const;
+ QRect geometry() const Q_DECL_OVERRIDE;
+ int depth() const Q_DECL_OVERRIDE;
+ QImage::Format format() const Q_DECL_OVERRIDE;
QSizeF physicalSize() const Q_DECL_OVERRIDE;
QDpi logicalDpi() const Q_DECL_OVERRIDE;
QList<QPlatformScreen *> virtualSiblings() const Q_DECL_OVERRIDE;
- void setOrientationUpdateMask(Qt::ScreenOrientations mask);
+ void setOrientationUpdateMask(Qt::ScreenOrientations mask) Q_DECL_OVERRIDE;
- Qt::ScreenOrientation orientation() const;
+ Qt::ScreenOrientation orientation() const Q_DECL_OVERRIDE;
int scale() const;
qreal devicePixelRatio() const Q_DECL_OVERRIDE;
- qreal refreshRate() const;
+ qreal refreshRate() const Q_DECL_OVERRIDE;
- QString name() const { return mOutputName; }
+ QString name() const Q_DECL_OVERRIDE { return mOutputName; }
- QPlatformCursor *cursor() const;
+ QPlatformCursor *cursor() const Q_DECL_OVERRIDE;
QWaylandCursor *waylandCursor() const { return mWaylandCursor; };
uint32_t outputId() const { return m_outputId; }
diff --git a/src/client/qwaylandshmbackingstore_p.h b/src/client/qwaylandshmbackingstore_p.h
index e403af315..c3e763502 100644
--- a/src/client/qwaylandshmbackingstore_p.h
+++ b/src/client/qwaylandshmbackingstore_p.h
@@ -72,7 +72,7 @@ public:
QWaylandShmBuffer(QWaylandDisplay *display,
const QSize &size, QImage::Format format, int scale = 1);
~QWaylandShmBuffer();
- QSize size() const { return mImage.size(); }
+ QSize size() const Q_DECL_OVERRIDE { return mImage.size(); }
int scale() const Q_DECL_OVERRIDE { return int(mImage.devicePixelRatio()); }
QImage *image() { return &mImage; }
@@ -91,11 +91,11 @@ public:
~QWaylandShmBackingStore();
QPaintDevice *paintDevice();
- void flush(QWindow *window, const QRegion &region, const QPoint &offset);
- void resize(const QSize &size, const QRegion &staticContents);
+ void flush(QWindow *window, const QRegion &region, const QPoint &offset) Q_DECL_OVERRIDE;
+ void resize(const QSize &size, const QRegion &staticContents) Q_DECL_OVERRIDE;
void resize(const QSize &size);
- void beginPaint(const QRegion &);
- void endPaint();
+ void beginPaint(const QRegion &) Q_DECL_OVERRIDE;
+ void endPaint() Q_DECL_OVERRIDE;
void hidden();
QWaylandAbstractDecoration *windowDecoration() const;
diff --git a/src/client/qwaylandshmwindow_p.h b/src/client/qwaylandshmwindow_p.h
index 2e5e0bcb5..d06b9b009 100644
--- a/src/client/qwaylandshmwindow_p.h
+++ b/src/client/qwaylandshmwindow_p.h
@@ -64,8 +64,8 @@ public:
QWaylandShmWindow(QWindow *window);
~QWaylandShmWindow();
- WindowType windowType() const;
- QSurfaceFormat format() const { return QSurfaceFormat(); }
+ WindowType windowType() const Q_DECL_OVERRIDE;
+ QSurfaceFormat format() const Q_DECL_OVERRIDE { return QSurfaceFormat(); }
};
}
diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
index 100c068fa..c2aa1a501 100644
--- a/src/client/qwaylandwindow_p.h
+++ b/src/client/qwaylandwindow_p.h
@@ -110,16 +110,16 @@ public:
~QWaylandWindow();
virtual WindowType windowType() const = 0;
- WId winId() const;
- void setVisible(bool visible);
- void setParent(const QPlatformWindow *parent);
+ WId winId() const Q_DECL_OVERRIDE;
+ void setVisible(bool visible) Q_DECL_OVERRIDE;
+ void setParent(const QPlatformWindow *parent) Q_DECL_OVERRIDE;
- void setWindowTitle(const QString &title);
+ void setWindowTitle(const QString &title) Q_DECL_OVERRIDE;
inline QIcon windowIcon() const;
- void setWindowIcon(const QIcon &icon);
+ void setWindowIcon(const QIcon &icon) Q_DECL_OVERRIDE;
- void setGeometry(const QRect &rect);
+ void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
void configure(uint32_t edges, int32_t width, int32_t height);
@@ -133,7 +133,7 @@ public:
void waitForFrameSync();
- QMargins frameMargins() const;
+ QMargins frameMargins() const Q_DECL_OVERRIDE;
static QWaylandWindow *fromWlSurface(::wl_surface *surface);
@@ -142,11 +142,11 @@ public:
QWaylandSubSurface *subSurfaceWindow() const;
QWaylandScreen *screen() const { return mScreen; }
- void handleContentOrientationChange(Qt::ScreenOrientation orientation);
+ void handleContentOrientationChange(Qt::ScreenOrientation orientation) Q_DECL_OVERRIDE;
void setOrientationMask(Qt::ScreenOrientations mask);
- void setWindowState(Qt::WindowState state);
- void setWindowFlags(Qt::WindowFlags flags);
+ void setWindowState(Qt::WindowState state) Q_DECL_OVERRIDE;
+ void setWindowFlags(Qt::WindowFlags flags) Q_DECL_OVERRIDE;
void raise() Q_DECL_OVERRIDE;
void lower() Q_DECL_OVERRIDE;
@@ -182,7 +182,7 @@ public:
void doResize();
void setCanResize(bool canResize);
- bool setMouseGrabEnabled(bool grab);
+ bool setMouseGrabEnabled(bool grab) Q_DECL_OVERRIDE;
static QWaylandWindow *mouseGrab() { return mMouseGrab; }
void sendProperty(const QString &name, const QVariant &value);
diff --git a/src/client/qwaylandwindowmanagerintegration_p.h b/src/client/qwaylandwindowmanagerintegration_p.h
index 80513af3a..f0c7ced6d 100644
--- a/src/client/qwaylandwindowmanagerintegration_p.h
+++ b/src/client/qwaylandwindowmanagerintegration_p.h
@@ -77,10 +77,10 @@ public:
explicit QWaylandWindowManagerIntegration(QWaylandDisplay *waylandDisplay);
virtual ~QWaylandWindowManagerIntegration();
- QByteArray desktopEnvironment() const;
+ QByteArray desktopEnvironment() const Q_DECL_OVERRIDE;
- bool openUrl(const QUrl &url);
- bool openDocument(const QUrl &url);
+ bool openUrl(const QUrl &url) Q_DECL_OVERRIDE;
+ bool openDocument(const QUrl &url) Q_DECL_OVERRIDE;
bool showIsFullScreen() const;
diff --git a/src/client/qwaylandxdgsurface.cpp b/src/client/qwaylandxdgsurface.cpp
index b9f07f0cc..69532b514 100644
--- a/src/client/qwaylandxdgsurface.cpp
+++ b/src/client/qwaylandxdgsurface.cpp
@@ -62,7 +62,6 @@ QWaylandXdgSurface::QWaylandXdgSurface(struct ::xdg_surface *xdg_surface, QWayla
{
if (window->display()->windowExtension())
m_extendedWindow = new QWaylandExtendedSurface(window);
- m_size = m_window->window()->geometry().size();
}
QWaylandXdgSurface::~QWaylandXdgSurface()
@@ -193,10 +192,7 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st
aboutToFullScreen = true;
break;
case XDG_SURFACE_STATE_RESIZING:
- m_margins = m_window->frameMargins();
- width -= m_margins.left() + m_margins.right();
- height -= m_margins.top() + m_margins.bottom();
- m_size = m_window->window()->geometry().size();
+ m_normalSize = QSize(width, height);
break;
case XDG_SURFACE_STATE_ACTIVATED:
// TODO: here about the missing window activation
@@ -207,6 +203,8 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st
}
if (!m_fullscreen && aboutToFullScreen) {
+ if (!m_maximized)
+ m_normalSize = m_window->window()->frameGeometry().size();
m_fullscreen = true;
m_window->window()->showFullScreen();
} else if (m_fullscreen && !aboutToFullScreen) {
@@ -217,6 +215,8 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st
m_window->window()->showNormal();
}
} else if (!m_maximized && aboutToMaximize) {
+ if (!m_fullscreen)
+ m_normalSize = m_window->window()->frameGeometry().size();
m_maximized = true;
m_window->window()->showMaximized();
} else if (m_maximized && !aboutToMaximize) {
@@ -224,14 +224,11 @@ void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height, st
m_window->window()->showNormal();
}
- if (width == 0 || height == 0) {
- width = m_size.width();
- height = m_size.height();
- }
-
- if (width > 0 && height > 0) {
- m_margins = m_window->frameMargins();
- m_window->configure(0, width + m_margins.left() + m_margins.right(), height + m_margins.top() + m_margins.bottom());
+ if (width <= 0 || height <= 0) {
+ if (!m_normalSize.isEmpty())
+ m_window->configure(0, m_normalSize.width(), m_normalSize.height());
+ } else {
+ m_window->configure(0, width, height);
}
ack_configure(serial);
diff --git a/src/client/qwaylandxdgsurface_p.h b/src/client/qwaylandxdgsurface_p.h
index 342dff75d..24eb86519 100644
--- a/src/client/qwaylandxdgsurface_p.h
+++ b/src/client/qwaylandxdgsurface_p.h
@@ -112,7 +112,7 @@ private:
bool m_maximized;
bool m_minimized;
bool m_fullscreen;
- QSize m_size;
+ QSize m_normalSize;
QMargins m_margins;
QWaylandExtendedSurface *m_extendedWindow;
diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h
index 1433fb5e7..6f1e4d920 100644
--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h
+++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h
@@ -66,13 +66,13 @@ public:
QWaylandBrcmEglIntegration();
~QWaylandBrcmEglIntegration();
- void initialize(QWaylandDisplay *waylandDisplay);
+ void initialize(QWaylandDisplay *waylandDisplay) Q_DECL_OVERRIDE;
- bool supportsThreadedOpenGL() const { return true; }
- bool supportsWindowDecoration() const { return false; }
+ bool supportsThreadedOpenGL() const Q_DECL_OVERRIDE { return true; }
+ bool supportsWindowDecoration() const Q_DECL_OVERRIDE { return false; }
QWaylandWindow *createEglWindow(QWindow *window);
- QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const;
+ QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const Q_DECL_OVERRIDE;
EGLDisplay eglDisplay() const;
diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
index 14e39e4ae..5874fb60f 100644
--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
+++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
@@ -60,10 +60,10 @@ class QWaylandBrcmEglWindow : public QWaylandWindow
public:
QWaylandBrcmEglWindow(QWindow *window);
~QWaylandBrcmEglWindow();
- WindowType windowType() const;
- void setGeometry(const QRect &rect);
+ WindowType windowType() const Q_DECL_OVERRIDE;
+ void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
- QSurfaceFormat format() const;
+ QSurfaceFormat format() const Q_DECL_OVERRIDE;
bool makeCurrent(EGLContext context);
void swapBuffers();
diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h
index 9121079e3..a79cfcc68 100644
--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h
+++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h
@@ -58,14 +58,14 @@ public:
QWaylandBrcmGLContext(EGLDisplay eglDisplay, const QSurfaceFormat &format, QPlatformOpenGLContext *share);
~QWaylandBrcmGLContext();
- void swapBuffers(QPlatformSurface *surface);
+ void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE;
- bool makeCurrent(QPlatformSurface *surface);
- void doneCurrent();
+ bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE;
+ void doneCurrent() Q_DECL_OVERRIDE;
- void (*getProcAddress(const char *procName)) ();
+ void (*getProcAddress(const char *procName)) () Q_DECL_OVERRIDE;
- QSurfaceFormat format() const { return m_format; }
+ QSurfaceFormat format() const Q_DECL_OVERRIDE { return m_format; }
EGLConfig eglConfig() const;
EGLContext eglContext() const { return m_context; }
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h
index 36a8c9d4d..556ed6879 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h
@@ -57,10 +57,10 @@ class QWaylandEglWindow : public QWaylandWindow
public:
QWaylandEglWindow(QWindow *window);
~QWaylandEglWindow();
- WindowType windowType() const;
+ WindowType windowType() const Q_DECL_OVERRIDE;
void updateSurface(bool create);
- virtual void setGeometry(const QRect &rect);
+ virtual void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
QRect contentsRect() const;
EGLSurface eglSurface() const;
@@ -68,7 +68,7 @@ public:
GLuint contentTexture() const;
bool needToUpdateContentFBO() const { return decoration() && (m_resize || !m_contentFBO); }
- QSurfaceFormat format() const;
+ QSurfaceFormat format() const Q_DECL_OVERRIDE;
void bindContentFBO();
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
index bd835b7ec..72e7b0e6a 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
@@ -209,7 +209,7 @@ public:
m_blitProgram->setAttributeArray(0, squareVertices, 2);
glBindTexture(GL_TEXTURE_2D, window->contentTexture());
QRect r = window->contentsRect();
- glViewport(r.x(), r.y(), r.width() * scale, r.height() * scale);
+ glViewport(r.x() * scale, r.y() * scale, r.width() * scale, r.height() * scale);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
//Cleanup
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
index fec1addd1..d513eefa3 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
@@ -63,19 +63,19 @@ public:
QWaylandGLContext(EGLDisplay eglDisplay, QWaylandDisplay *display, const QSurfaceFormat &format, QPlatformOpenGLContext *share);
~QWaylandGLContext();
- void swapBuffers(QPlatformSurface *surface);
+ void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE;
- bool makeCurrent(QPlatformSurface *surface);
- void doneCurrent();
+ bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE;
+ void doneCurrent() Q_DECL_OVERRIDE;
- GLuint defaultFramebufferObject(QPlatformSurface *surface) const;
+ GLuint defaultFramebufferObject(QPlatformSurface *surface) const Q_DECL_OVERRIDE;
- bool isSharing() const;
- bool isValid() const;
+ bool isSharing() const Q_DECL_OVERRIDE;
+ bool isValid() const Q_DECL_OVERRIDE;
- void (*getProcAddress(const char *procName)) ();
+ void (*getProcAddress(const char *procName)) () Q_DECL_OVERRIDE;
- QSurfaceFormat format() const { return m_format; }
+ QSurfaceFormat format() const Q_DECL_OVERRIDE { return m_format; }
EGLConfig eglConfig() const;
EGLContext eglContext() const { return m_context; }
diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h
index 41db3771e..612421bed 100644
--- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h
+++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h
@@ -88,8 +88,8 @@ public:
int screen() const;
Window rootWindow() const;
- bool supportsThreadedOpenGL() const { return true; }
- bool supportsWindowDecoration() const { return false; }
+ bool supportsThreadedOpenGL() const Q_DECL_OVERRIDE { return true; }
+ bool supportsWindowDecoration() const Q_DECL_OVERRIDE { return false; }
private:
QWaylandDisplay *mWaylandDisplay;
diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.h b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.h
index 9421ea677..f655dee21 100644
--- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.h
+++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.h
@@ -57,10 +57,10 @@ class QWaylandXCompositeEGLContext : public QEGLPlatformContext
public:
QWaylandXCompositeEGLContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display, EGLConfig config);
- void swapBuffers(QPlatformSurface *surface);
+ void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE;
private:
- EGLSurface eglSurfaceForPlatformSurface(QPlatformSurface *surface);
+ EGLSurface eglSurfaceForPlatformSurface(QPlatformSurface *surface) Q_DECL_OVERRIDE;
};
}
diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h
index b4993c5ee..1203c7ee8 100644
--- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h
+++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h
@@ -54,9 +54,9 @@ class QWaylandXCompositeEGLWindow : public QWaylandWindow
{
public:
QWaylandXCompositeEGLWindow(QWindow *window, QWaylandXCompositeEGLClientBufferIntegration *glxIntegration);
- WindowType windowType() const;
+ WindowType windowType() const Q_DECL_OVERRIDE;
- void setGeometry(const QRect &rect);
+ void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
EGLSurface eglSurface() const;
diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h
index 23a5116f9..eff75f292 100644
--- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h
+++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h
@@ -57,14 +57,14 @@ class QWaylandXCompositeGLXContext : public QPlatformOpenGLContext
public:
QWaylandXCompositeGLXContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share, Display *display, int screen);
- QSurfaceFormat format() const;
+ QSurfaceFormat format() const Q_DECL_OVERRIDE;
- void swapBuffers(QPlatformSurface *surface);
+ void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE;
- bool makeCurrent(QPlatformSurface *surface);
- void doneCurrent();
+ bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE;
+ void doneCurrent() Q_DECL_OVERRIDE;
- void (*getProcAddress(const char *procName)) ();
+ void (*getProcAddress(const char *procName)) () Q_DECL_OVERRIDE;
private:
GLXContext m_context;
diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h
index ff327b71c..bd8fe4108 100644
--- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h
+++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h
@@ -82,8 +82,8 @@ public:
int screen() const;
Window rootWindow() const;
- bool supportsThreadedOpenGL() const { return false; }
- bool supportsWindowDecoration() const { return false; }
+ bool supportsThreadedOpenGL() const Q_DECL_OVERRIDE { return false; }
+ bool supportsWindowDecoration() const Q_DECL_OVERRIDE { return false; }
private:
QWaylandDisplay *mWaylandDisplay;
diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h
index c78362d94..7318044f3 100644
--- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h
+++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h
@@ -56,9 +56,9 @@ class QWaylandXCompositeGLXWindow : public QWaylandWindow
{
public:
QWaylandXCompositeGLXWindow(QWindow *window, QWaylandXCompositeGLXIntegration *glxIntegration);
- WindowType windowType() const;
+ WindowType windowType() const Q_DECL_OVERRIDE;
- void setGeometry(const QRect &rect);
+ void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
Window xWindow() const;
diff --git a/src/plugins/decorations/bradient/main.cpp b/src/plugins/decorations/bradient/main.cpp
index b7381aeac..f7ce0fca6 100644
--- a/src/plugins/decorations/bradient/main.cpp
+++ b/src/plugins/decorations/bradient/main.cpp
@@ -365,11 +365,11 @@ bool QWaylandBradientDecoration::handleMouse(QWaylandInputDevice *inputDevice, c
window()->setWindowState(Qt::WindowMinimized);
} else if (local.y() <= margins().top()) {
processMouseTop(inputDevice,local,b,mods);
- } else if (local.y() > window()->height() - margins().bottom() + margins().top()) {
+ } else if (local.y() > window()->height() + margins().top()) {
processMouseBottom(inputDevice,local,b,mods);
} else if (local.x() <= margins().left()) {
processMouseLeft(inputDevice,local,b,mods);
- } else if (local.x() > window()->width() - margins().right() + margins().left()) {
+ } else if (local.x() > window()->width() + margins().left()) {
processMouseRight(inputDevice,local,b,mods);
} else {
waylandWindow()->restoreMouseCursor(inputDevice);
@@ -411,7 +411,7 @@ void QWaylandBradientDecoration::processMouseTop(QWaylandInputDevice *inputDevic
//top left bit
waylandWindow()->setMouseCursor(inputDevice, Qt::SizeFDiagCursor);
startResize(inputDevice,WL_SHELL_SURFACE_RESIZE_TOP_LEFT,b);
- } else if (local.x() > window()->width() - margins().right()) {
+ } else if (local.x() > window()->width() + margins().left()) {
//top right bit
waylandWindow()->setMouseCursor(inputDevice, Qt::SizeBDiagCursor);
startResize(inputDevice,WL_SHELL_SURFACE_RESIZE_TOP_RIGHT,b);
@@ -434,7 +434,7 @@ void QWaylandBradientDecoration::processMouseBottom(QWaylandInputDevice *inputDe
//bottom left bit
waylandWindow()->setMouseCursor(inputDevice, Qt::SizeBDiagCursor);
startResize(inputDevice, WL_SHELL_SURFACE_RESIZE_BOTTOM_LEFT,b);
- } else if (local.x() > window()->width() - margins().right()) {
+ } else if (local.x() > window()->width() + margins().left()) {
//bottom right bit
waylandWindow()->setMouseCursor(inputDevice, Qt::SizeFDiagCursor);
startResize(inputDevice, WL_SHELL_SURFACE_RESIZE_BOTTOM_RIGHT,b);
diff --git a/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp b/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp
index deef13e83..f7ae0cdfa 100644
--- a/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp
+++ b/src/plugins/hardwareintegration/client/libhybris-egl-server/main.cpp
@@ -49,7 +49,7 @@ class LibHybrisEglServerBufferPlugin : public QWaylandServerBufferIntegrationPlu
Q_OBJECT
Q_PLUGIN_METADATA(IID QWaylandServerBufferIntegrationFactoryInterface_iid FILE "libhybris-egl-server.json")
public:
- QWaylandServerBufferIntegration *create(const QString&, const QStringList&);
+ QWaylandServerBufferIntegration *create(const QString&, const QStringList&) Q_DECL_OVERRIDE;
};
QWaylandServerBufferIntegration *LibHybrisEglServerBufferPlugin::create(const QString& system, const QStringList& paramList)
diff --git a/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp b/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp
index 666add99e..4dcce14ee 100644
--- a/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp
+++ b/src/plugins/platforms/qwayland-xcomposite-glx/main.cpp
@@ -51,7 +51,7 @@ class QWaylandIntegrationPlugin : public QPlatformIntegrationPlugin
Q_OBJECT
Q_PLUGIN_METADATA(IID QPlatformIntegrationFactoryInterface_iid FILE "qwayland-xcomposite-glx.json")
public:
- QPlatformIntegration *create(const QString&, const QStringList&);
+ QPlatformIntegration *create(const QString&, const QStringList&) Q_DECL_OVERRIDE;
};
QPlatformIntegration *QWaylandIntegrationPlugin::create(const QString& system, const QStringList& paramList)