Fix #39172. Send the synthetic configure notify event _after_ reparenting

into WindowWrapper (in WindowWrapper::show() triggered by Client::show()).
Some toolkits go up the window hiearchy when finding the "real" position
of the window (i.e. the topleft decoration border corner), and if they
receive the ReparentNotify after the synthetic ConfigureNotify, they'll
miscalculate it. (Hmm, I wonder how Qt does it since it gets it right.)

CCMAIL: 39172-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=185453
This commit is contained in:
Luboš Luňák 2002-10-24 15:47:09 +00:00
parent 4304971dfd
commit 7c33e280ef

View file

@ -874,7 +874,6 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
bool showMe = (state == NormalState) && isOnDesktop( workspace()->currentDesktop() );
sendSyntheticConfigureNotify();
workspace()->clientReady( this ); // will call Workspace::propagateClients()
if ( showMe && !doNotShow ) {
@ -914,6 +913,8 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
if ( !doNotShow )
workspace()->updateClientArea();
sendSyntheticConfigureNotify();
delete session;
return showMe;
}