File protect-geometry-QTBUG-40584.patch of Package libqt5-qtbase.2170
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index 35a526e..d417e41 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -573,6 +573,14 @@ bool QWidgetWindow::updatePos()
void QWidgetWindow::updateMargins()
{
const QMargins margins = frameMargins();
+
+ if (geometry().x() != m_widget->data->crect.x() ||
+ geometry().y() != m_widget->data->crect.y())
+ m_widget->setAttribute(Qt::WA_Moved);
+ if (geometry().width() != m_widget->data->crect.width() ||
+ geometry().height() != m_widget->data->crect.height())
+ m_widget->setAttribute(Qt::WA_Resized);
+
QTLWExtra *te = m_widget->d_func()->topData();
te->posIncludesFrame= false;
te->frameStrut.setCoords(margins.left(), margins.top(), margins.right(), margins.bottom());