One change that was supposed to go with r603295.

svn path=/trunk/KDE/kdebase/workspace/; revision=603296
This commit is contained in:
Luboš Luňák 2006-11-08 14:09:06 +00:00
parent 3a0e22ebe3
commit 3f0d6b97c1

View file

@ -38,14 +38,11 @@ bool Client::manage( Window w, bool isMapped )
{
StackingUpdatesBlocker stacking_blocker( workspace());
grabXServer();
XWindowAttributes attr;
if( !XGetWindowAttributes(display(), w, &attr))
{
ungrabXServer();
return false;
}
grabXServer();
// from this place on, manage() mustn't return false
postpone_geometry_updates = 1;
@ -53,11 +50,6 @@ bool Client::manage( Window w, bool isMapped )
embedClient( w, attr );
vis = attr.visual;
bit_depth = attr.depth;
setupCompositing();
// SELI order all these things in some sane manner
bool init_minimize = false;
@ -85,7 +77,6 @@ bool Client::manage( Window w, bool isMapped )
NET::WM2UserTime |
NET::WM2StartupId |
NET::WM2ExtendedStrut |
NET::WM2Opacity |
0;
info = new WinInfo( this, display(), client, rootWindow(), properties, 2 );
@ -114,9 +105,6 @@ bool Client::manage( Window w, bool isMapped )
setupWindowRules( false );
setCaption( cap_normal, true );
if( Extensions::shapeAvailable())
XShapeSelectInput( display(), window(), ShapeNotifyMask );
detectShape( window());
detectNoBorder();
fetchIconicName();
getWMHints(); // needs to be done before readTransient() because of reading the group
@ -325,7 +313,8 @@ bool Client::manage( Window w, bool isMapped )
if(( !isSpecialWindow() || isToolbar()) && isMovable())
keepInArea( area, partial_keep_in_area );
if( shape())
XShapeSelectInput( display(), window(), ShapeNotifyMask );
is_shape = Shape::hasShape( window());
updateShape();
//CT extra check for stupid jdk 1.3.1. But should make sense in general
@ -539,7 +528,7 @@ bool Client::manage( Window w, bool isMapped )
void Client::embedClient( Window w, const XWindowAttributes &attr )
{
assert( client == None );
assert( frameId() == None );
assert( frame == None );
assert( wrapper == None );
client = w;
// we don't want the window to be destroyed when we are destroyed
@ -555,10 +544,9 @@ void Client::embedClient( Window w, const XWindowAttributes &attr )
swa.background_pixmap = None;
swa.border_pixel = 0;
Window frame = XCreateWindow( display(), rootWindow(), 0, 0, 1, 1, 0,
frame = XCreateWindow( display(), rootWindow(), 0, 0, 1, 1, 0,
attr.depth, InputOutput, attr.visual,
CWColormap | CWBackPixmap | CWBorderPixel, &swa );
setHandle( frame );
wrapper = XCreateWindow( display(), frame, 0, 0, 1, 1, 0,
attr.depth, InputOutput, attr.visual,
CWColormap | CWBackPixmap | CWBorderPixel, &swa );
@ -577,8 +565,7 @@ void Client::embedClient( Window w, const XWindowAttributes &attr )
FocusChangeMask |
ExposureMask |
PropertyChangeMask |
StructureNotifyMask | SubstructureRedirectMask |
VisibilityChangeMask );
StructureNotifyMask | SubstructureRedirectMask );
XSelectInput( display(), wrapper, ClientWinMask | SubstructureNotifyMask );
XSelectInput( display(), client,
FocusChangeMask |