small fixes

svn path=/trunk/kdebase/kwin/; revision=42768
This commit is contained in:
Matthias Ettrich 2000-03-06 19:14:20 +00:00
parent c19c5935bf
commit 98ea0a56db
3 changed files with 28 additions and 8 deletions

View file

@ -370,10 +370,10 @@ void Client::manage( bool isMapped )
move( geom.x(), geom.y() ); move( geom.x(), geom.y() );
gravitate( FALSE ); gravitate( FALSE );
if ( !placementDone && transient_for ) { // if ( !placementDone && transient_for ) {
// transient_for workaround for broken qt snapshot, ##### // // transient_for workaround for broken qt snapshot, #####
placementDone = TRUE; // placementDone = TRUE;
} // }
if ( !placementDone ) { if ( !placementDone ) {

View file

@ -140,6 +140,12 @@ bool Application::x11EventFilter( XEvent *e )
case PropertyNotify: case PropertyNotify:
kwin_time = e->xproperty.time; kwin_time = e->xproperty.time;
break; break;
case ConfigureNotify:
{
if ( e->xconfigure.window != e->xconfigure.event )
return TRUE;
}
break;
default: default:
break; break;
} }

View file

@ -48,6 +48,19 @@ int Shape::shapeEvent()
} }
static void updateTime()
{
static QWidget* w = 0;
if ( !w )
w = new QWidget;
long data = 1;
XChangeProperty(qt_xdisplay(), w->winId(), atoms->kwm_running, atoms->kwm_running, 32,
PropModeAppend, (unsigned char*) &data, 1);
XEvent ev;
XWindowEvent( qt_xdisplay(), w->winId(), PropertyChangeMask, &ev );
kwin_time = ev.xproperty.time;
}
Client* Workspace::clientFactory( Workspace *ws, WId w ) Client* Workspace::clientFactory( Workspace *ws, WId w )
{ {
// hack TODO hints // hack TODO hints
@ -285,6 +298,7 @@ bool Workspace::workspaceEvent( XEvent * e )
return TRUE; return TRUE;
return destroyClient( findClient( e->xdestroywindow.window ) ); return destroyClient( findClient( e->xdestroywindow.window ) );
case MapRequest: case MapRequest:
updateTime();
c = findClient( e->xmaprequest.window ); c = findClient( e->xmaprequest.window );
if ( !c ) { if ( !c ) {
if ( e->xmaprequest.parent == root ) { if ( e->xmaprequest.parent == root ) {