From 5083adb1b85a7194bd84d170225596ca507b8858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Sun, 29 Jan 2017 14:30:43 +0100 Subject: [PATCH] Call performMoveResize when we got a new geoemtry during resize Summary: So far on a geometry sync we did not call performMoveResize like we do on X11 when getting the sync. This resulted in the clientStepUserMovedResized not getting called during resize and the geometry update effect to not function. BUG: 374869 FIXED-IN: 5.9.1 Test Plan: Geometry hint updates Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D4333 --- autotests/integration/move_resize_window_test.cpp | 2 -- shell_client.cpp | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/autotests/integration/move_resize_window_test.cpp b/autotests/integration/move_resize_window_test.cpp index 078f82b873..8ca1c01cba 100644 --- a/autotests/integration/move_resize_window_test.cpp +++ b/autotests/integration/move_resize_window_test.cpp @@ -252,7 +252,6 @@ void MoveResizeWindowTest::testResize() Test::render(surface.data(), QSize(108, 50), Qt::blue); QVERIFY(geometryChangedSpy.wait()); QCOMPARE(c->geometry(), QRect(0, 0, 108, 50)); - QEXPECT_FAIL("", "BUG 374869", Continue); QCOMPARE(clientStepUserMovedResizedSpy.count(), 1); // go down @@ -266,7 +265,6 @@ void MoveResizeWindowTest::testResize() Test::render(surface.data(), QSize(108, 58), Qt::blue); QVERIFY(geometryChangedSpy.wait()); QCOMPARE(c->geometry(), QRect(0, 0, 108, 58)); - QEXPECT_FAIL("", "BUG 374869", Continue); QCOMPARE(clientStepUserMovedResizedSpy.count(), 2); // let's end diff --git a/shell_client.cpp b/shell_client.cpp index 7ad971bd68..c4322f1488 100644 --- a/shell_client.cpp +++ b/shell_client.cpp @@ -508,6 +508,10 @@ void ShellClient::doSetGeometry(const QRect &rect) workspace()->updateClientArea(); } emit geometryShapeChanged(this, old); + + if (isResize()) { + performMoveResize(); + } } void ShellClient::doMove(int x, int y)