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:
parent
4304971dfd
commit
7c33e280ef
1 changed files with 2 additions and 1 deletions
|
@ -874,7 +874,6 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
|
||||||
|
|
||||||
bool showMe = (state == NormalState) && isOnDesktop( workspace()->currentDesktop() );
|
bool showMe = (state == NormalState) && isOnDesktop( workspace()->currentDesktop() );
|
||||||
|
|
||||||
sendSyntheticConfigureNotify();
|
|
||||||
workspace()->clientReady( this ); // will call Workspace::propagateClients()
|
workspace()->clientReady( this ); // will call Workspace::propagateClients()
|
||||||
|
|
||||||
if ( showMe && !doNotShow ) {
|
if ( showMe && !doNotShow ) {
|
||||||
|
@ -914,6 +913,8 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
|
||||||
if ( !doNotShow )
|
if ( !doNotShow )
|
||||||
workspace()->updateClientArea();
|
workspace()->updateClientArea();
|
||||||
|
|
||||||
|
sendSyntheticConfigureNotify();
|
||||||
|
|
||||||
delete session;
|
delete session;
|
||||||
return showMe;
|
return showMe;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue