From e5478e2d90d7048e754ec4e2a193950d814e0274 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Thu, 1 Jun 2023 21:49:37 +0300 Subject: [PATCH] Move Window::geometryShapeChanged to X11Window --- src/internalwindow.cpp | 3 --- src/scene/surfaceitem_wayland.cpp | 2 +- src/scene/surfaceitem_x11.cpp | 2 +- src/waylandwindow.cpp | 1 - src/window.cpp | 1 - src/window.h | 1 - src/x11window.cpp | 2 +- src/x11window.h | 1 + 8 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/internalwindow.cpp b/src/internalwindow.cpp index b3bdaebad2..d001b6b685 100644 --- a/src/internalwindow.cpp +++ b/src/internalwindow.cpp @@ -310,8 +310,6 @@ void InternalWindow::createDecoration(const QRectF &oldGeometry) { setDecoration(std::shared_ptr(Workspace::self()->decorationBridge()->createDecoration(this))); moveResize(QRectF(oldGeometry.topLeft(), clientSizeToFrameSize(clientSize()))); - - Q_EMIT geometryShapeChanged(oldGeometry); } void InternalWindow::destroyDecoration() @@ -508,7 +506,6 @@ void InternalWindow::commitGeometry(const QRectF &rect) if (oldOutput != m_output) { Q_EMIT outputChanged(); } - Q_EMIT geometryShapeChanged(oldFrameGeometry); } void InternalWindow::setCaption(const QString &caption) diff --git a/src/scene/surfaceitem_wayland.cpp b/src/scene/surfaceitem_wayland.cpp index 7f7d2ab769..5355f84952 100644 --- a/src/scene/surfaceitem_wayland.cpp +++ b/src/scene/surfaceitem_wayland.cpp @@ -207,7 +207,7 @@ SurfaceItemXwayland::SurfaceItemXwayland(X11Window *window, Scene *scene, Item * : SurfaceItemWayland(window->surface(), scene, parent) , m_window(window) { - connect(window, &Window::geometryShapeChanged, this, &SurfaceItemXwayland::discardQuads); + connect(window, &X11Window::geometryShapeChanged, this, &SurfaceItemXwayland::discardQuads); } QVector SurfaceItemXwayland::shape() const diff --git a/src/scene/surfaceitem_x11.cpp b/src/scene/surfaceitem_x11.cpp index ed4d65b074..cf0e57cb37 100644 --- a/src/scene/surfaceitem_x11.cpp +++ b/src/scene/surfaceitem_x11.cpp @@ -19,7 +19,7 @@ SurfaceItemX11::SurfaceItemX11(X11Window *window, Scene *scene, Item *parent) { connect(window, &Window::bufferGeometryChanged, this, &SurfaceItemX11::handleBufferGeometryChanged); - connect(window, &Window::geometryShapeChanged, + connect(window, &X11Window::geometryShapeChanged, this, &SurfaceItemX11::handleGeometryShapeChanged); m_damageHandle = xcb_generate_id(kwinApp()->x11Connection()); diff --git a/src/waylandwindow.cpp b/src/waylandwindow.cpp index b07bd2a1bd..0a5278bbe7 100644 --- a/src/waylandwindow.cpp +++ b/src/waylandwindow.cpp @@ -322,7 +322,6 @@ void WaylandWindow::updateGeometry(const QRectF &rect) if (oldOutput != m_output) { Q_EMIT outputChanged(); } - Q_EMIT geometryShapeChanged(oldFrameGeometry); } void WaylandWindow::markAsMapped() diff --git a/src/window.cpp b/src/window.cpp index 702f1bb468..d3ef167fac 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -2642,7 +2642,6 @@ void Window::setDecoration(std::shared_ptr decoration) if (!isShade()) { checkWorkspacePosition(oldGeometry); } - Q_EMIT geometryShapeChanged(oldGeometry); }); connect(decoratedClient()->decoratedClient(), &KDecoration2::DecoratedClient::sizeChanged, this, &Window::updateDecorationInputShape); diff --git a/src/window.h b/src/window.h index 7dfbc5dde5..ef000c5dd0 100644 --- a/src/window.h +++ b/src/window.h @@ -1324,7 +1324,6 @@ Q_SIGNALS: void opacityChanged(KWin::Window *window, qreal oldOpacity); void damaged(KWin::Window *window); void inputTransformationChanged(); - void geometryShapeChanged(const QRectF &old); void closed(); void windowShown(KWin::Window *window); void windowHidden(KWin::Window *window); diff --git a/src/x11window.cpp b/src/x11window.cpp index 82ab77f682..edd05ced2b 100644 --- a/src/x11window.cpp +++ b/src/x11window.cpp @@ -326,7 +326,7 @@ X11Window::X11Window() connect(clientMachine(), &ClientMachine::localhostChanged, this, &X11Window::updateCaption); connect(options, &Options::configChanged, this, &X11Window::updateMouseGrab); connect(options, &Options::condensedTitleChanged, this, &X11Window::updateCaption); - connect(this, &Window::geometryShapeChanged, this, &X11Window::discardShapeRegion); + connect(this, &X11Window::geometryShapeChanged, this, &X11Window::discardShapeRegion); if (kwinApp()->operationMode() == Application::OperationModeX11) { connect(this, &X11Window::moveResizeCursorChanged, this, [this](CursorShape cursor) { diff --git a/src/x11window.h b/src/x11window.h index 646889500f..0af54c7629 100644 --- a/src/x11window.h +++ b/src/x11window.h @@ -358,6 +358,7 @@ Q_SIGNALS: * Emitted whenever the Client's block compositing state changes. */ void blockingCompositingChanged(KWin::X11Window *client); + void geometryShapeChanged(const QRectF &old); private: void exportMappingState(int s); // ICCCM 4.1.3.1, 4.1.4, NETWM 2.5.1