diff options
Diffstat (limited to 'kde/window-decorator/window.cpp')
-rw-r--r-- | kde/window-decorator/window.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/kde/window-decorator/window.cpp b/kde/window-decorator/window.cpp index 51659957..75f149d2 100644 --- a/kde/window-decorator/window.cpp +++ b/kde/window-decorator/window.cpp @@ -1144,15 +1144,18 @@ KWD::Window::resizeDecoration (bool force) mPicture = 0; } + if (w != width() || h != height()) + { + mPendingConfigure = 1; + } + setGeometry (QRect (mGeometry.x () + ROOT_OFF_X - mBorder.left, mGeometry.y () + ROOT_OFF_Y - mBorder.top, w, h)); - if (mMapped) - { - mPendingConfigure++; - } - else + mSize = QSize (w, h); + + if (!mMapped) { mPendingMap = 1; @@ -1219,12 +1222,15 @@ KWD::Window::handleMap (void) } bool -KWD::Window::handleConfigure (void) +KWD::Window::handleConfigure (QSize size) { if (!mPendingConfigure) return FALSE; - mPendingConfigure--; + if (size != mSize) + return FALSE; + + mPendingConfigure = 0; if (mPendingConfigure || mPendingMap) return FALSE; |