some attempts to fix Sun's latest Java, no success so far. Giving up.

svn path=/trunk/kdebase/kwin/; revision=88713
icc-effect-5.14.5
Matthias Ettrich 2001-03-26 08:10:31 +00:00
parent fe44db9631
commit 5cf8a3c9fd
2 changed files with 18 additions and 15 deletions

View File

@ -290,7 +290,7 @@ void WindowWrapper::deferredResize()
{
XMoveResizeWindow( qt_xdisplay(), win,
0, 0, width(), height() );
((Client*)parentWidget())->sendSynteticConfigureNotify();
((Client*)parentWidget())->sendSyntheticConfigureNotify();
if ( ((Client*)parentWidget())->shape() )
((Client*)parentWidget())->updateShape();
QApplication::syncX(); // process our own configure events synchronously.
@ -602,8 +602,6 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
if ( ( (xSizeHint.flags & PPosition) && !ignorePPosition ) ||
(xSizeHint.flags & USPosition) ) {
placementDone = TRUE;
if ( resource_name == "AWTapp" )
geom.moveTopLeft( QPoint(xSizeHint.x, xSizeHint.y) );
if ( windowType() == NET::Normal && !area.contains( geom.topLeft() ) && may_move ) {
int tx = geom.x();
int ty = geom.y();
@ -1007,7 +1005,8 @@ bool Client::configureRequest( XConfigureRequestEvent& e )
if ( isShade() )
setShade( FALSE );
// compress configure requests
/*
// compress configure requests
XEvent otherEvent;
while (XCheckTypedWindowEvent (qt_xdisplay(), win,
ConfigureRequest, &otherEvent) ) {
@ -1018,10 +1017,11 @@ bool Client::configureRequest( XConfigureRequestEvent& e )
break;
}
}
*/
bool stacking = e.value_mask & CWStackMode;
int stack_mode = e.detail;
if ( e.value_mask & CWBorderWidth ) {
// first, get rid of a window border
XWindowChanges wc;
@ -1082,7 +1082,7 @@ bool Client::configureRequest( XConfigureRequestEvent& e )
if ( isMaximized() ) {
geom_restore.moveTopLeft( np );
} else {
move( np );
move( np );
}
}
@ -1125,7 +1125,8 @@ bool Client::configureRequest( XConfigureRequestEvent& e )
}
}
sendSynteticConfigureNotify();
if ( e.value_mask & (CWX | CWY | CWWidth | CWHeight ) )
sendSyntheticConfigureNotify();
return TRUE;
}
@ -1203,7 +1204,7 @@ bool Client::clientMessage( XClientMessageEvent& e )
configuration.
*/
void Client::sendSynteticConfigureNotify()
void Client::sendSyntheticConfigureNotify()
{
XConfigureEvent c;
c.type = ConfigureNotify;
@ -1214,6 +1215,8 @@ void Client::sendSynteticConfigureNotify()
c.width = windowWrapper()->width();
c.height = windowWrapper()->height();
c.border_width = 0;
c.above = None;
c.override_redirect = 0;
XSendEvent( qt_xdisplay(), c.event, TRUE, StructureNotifyMask, (XEvent*)&c );
}
@ -1571,8 +1574,8 @@ void Client::leaveEvent( QEvent * )
void Client::setGeometry( int x, int y, int w, int h )
{
QWidget::setGeometry(x, y, w, h);
if ( !isResize() && !isMove() )
sendSynteticConfigureNotify();
if ( !isResize() && !isMove() && isVisible() )
sendSyntheticConfigureNotify();
}
/*!
@ -1581,8 +1584,8 @@ void Client::setGeometry( int x, int y, int w, int h )
void Client::move( int x, int y )
{
QWidget::move( x, y );
if ( !isMove() )
sendSynteticConfigureNotify();
if ( !isMove() && isVisible() )
sendSyntheticConfigureNotify();
}

View File

@ -137,7 +137,7 @@ public:
bool skipTaskbar() const;
void setSkipTaskbar( bool );
bool storeSettings() const;
void setStoreSettings( bool );
@ -283,7 +283,7 @@ private:
QPoint invertedMoveOffset;
QSize clientSize;
XSizeHints xSizeHint;
void sendSynteticConfigureNotify();
void sendSyntheticConfigureNotify();
int state;
QRect original_geometry;
QRect geom; //### TODO
@ -328,7 +328,7 @@ private:
static QCString staticWmCommand(WId);
static QCString staticWmClientMachine(WId);
static Window staticWmClientLeader(WId);
};
inline WId Client::window() const