Merging from old trunk:
r574237 | lunakl | 2006-08-18 15:45:50 +0200 (Fri, 18 Aug 2006) | 5 lines Differentiate properly between shape set by the window itself (which forces it to be a non-decorated window) and mask set by the decoration. svn path=/trunk/KDE/kdebase/workspace/; revision=659281
This commit is contained in:
parent
04d5294afa
commit
b99dee8cf7
1 changed files with 7 additions and 7 deletions
14
client.cpp
14
client.cpp
|
@ -288,6 +288,7 @@ void Client::updateDecoration( bool check_workspace_pos, bool force )
|
|||
destroyDecoration();
|
||||
if( !noBorder())
|
||||
{
|
||||
setMask( QRegion()); // reset shape mask
|
||||
decoration = workspace()->createDecoration( bridge );
|
||||
// TODO check decoration's minimum size?
|
||||
decoration->init();
|
||||
|
@ -470,17 +471,15 @@ void Client::updateShape()
|
|||
clientPos().x(), clientPos().y(),
|
||||
window(), ShapeBounding, ShapeSet);
|
||||
}
|
||||
else
|
||||
{
|
||||
XShapeCombineMask( display(), frameId(), ShapeBounding, 0, 0,
|
||||
None, ShapeSet);
|
||||
}
|
||||
// !shape() mask setting is done in setMask() when the decoration
|
||||
// calls it or when the decoration is created/destroyed
|
||||
|
||||
if( Shape::version() >= 0x11 ) // 1.1, has input shape support
|
||||
{ // there appears to be no way to find out if a window has input
|
||||
// shape set or not, so always set propagate the input shape
|
||||
// (it's the same like the bounding shape by default)
|
||||
XShapeCombineMask( display(), frameId(), ShapeInput, 0, 0,
|
||||
None, ShapeSet );
|
||||
XShapeCombineShape( display(), frameId(), ShapeInput, 0, 0,
|
||||
frameId(), ShapeBounding, ShapeSet );
|
||||
XShapeCombineShape( display(), frameId(), ShapeInput,
|
||||
clientPos().x(), clientPos().y(),
|
||||
window(), ShapeBounding, ShapeSubtract );
|
||||
|
@ -500,6 +499,7 @@ void Client::updateShape()
|
|||
noborder = true;
|
||||
updateDecoration( true );
|
||||
}
|
||||
updateShape();
|
||||
}
|
||||
|
||||
void Client::setMask( const QRegion& reg, int mode )
|
||||
|
|
Loading…
Reference in a new issue