Avoid sending synthetic configure notify events with user moving/resizing
when a real one will be sent. svn path=/trunk/kdebase/kwin/; revision=284785
This commit is contained in:
parent
10405ee978
commit
b525af029e
2 changed files with 7 additions and 4 deletions
|
@ -778,8 +778,9 @@ void Client::configureRequestEvent( XConfigureRequestEvent* e )
|
|||
|
||||
// TODO sending a synthetic configure notify always is fine, even in cases where
|
||||
// the ICCCM doesn't require this - it can be though of as 'the WM decided to move
|
||||
// the window later'. Perhaps those unnecessary ones could be saved though.
|
||||
// See also Client::setGeometry()/plainResize()/move().
|
||||
// the window later'. The client should not cause that many configure request,
|
||||
// so this should not have any significant impact. With user moving/resizing
|
||||
// the it should be optimized though (see also Client::setGeometry()/plainResize()/move()).
|
||||
sendSyntheticConfigureNotify();
|
||||
|
||||
// SELI TODO accept configure requests for isDesktop windows (because kdesktop
|
||||
|
|
|
@ -1149,12 +1149,13 @@ void Client::setGeometry( int x, int y, int w, int h, ForceGeometry_t force )
|
|||
cs.width(), cs.height());
|
||||
// FRAME tady poradi tak, at neni flicker
|
||||
XMoveResizeWindow( qt_xdisplay(), window(), 0, 0, cs.width(), cs.height());
|
||||
// no need for real configure notify, XMoveResizeWindow() already causes real one
|
||||
// sendSyntheticConfigureNotify();
|
||||
}
|
||||
if( shape())
|
||||
updateShape();
|
||||
// SELI TODO won't this be too expensive?
|
||||
updateWorkareaDiffs();
|
||||
sendSyntheticConfigureNotify(); // TODO optimize this?
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1187,11 +1188,12 @@ void Client::plainResize( int w, int h, ForceGeometry_t force )
|
|||
XMoveResizeWindow( qt_xdisplay(), wrapperId(), clientPos().x(), clientPos().y(),
|
||||
cs.width(), cs.height());
|
||||
XMoveResizeWindow( qt_xdisplay(), window(), 0, 0, cs.width(), cs.height());
|
||||
// no need for real configure notify, XMoveResizeWindow() already causes real one
|
||||
// sendSyntheticConfigureNotify();
|
||||
}
|
||||
if( shape())
|
||||
updateShape();
|
||||
updateWorkareaDiffs();
|
||||
sendSyntheticConfigureNotify();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue