big problems with KDE's window manager

F@lk Brettschneider gigafalk at yahoo.com
Wed May 23 10:46:07 UTC 2001


Matthias Ettrich wrote:
> 
> On Wednesday 23 May 2001 11:16, gigafalk at yahoo.com wrote:
> > Hi,
> >
> > Matthias Ettrich wrote:
> > > On Wednesday 23 May 2001 10:22, gigafalk at yahoo.com wrote:
> > > > Hi,
> > > >
> > > > The latest KDE from CVS (as well as KDE-2.1.1) in combination with the
> > > > latest KDevelop from branch KDEVELOP_1_4 cause this problem:
> > > > 50% of application restarts lead to a mainwindow without any toplevel
> > > > window frame. Sometimes it hangs completely.
> > > >
> > > > Can any of the window manager gurus take a look, please? We are
> > > > baffled.
> > >
> > > Can you reproduce that with anything other than kdevelop?
> >
> > No, I can't.
> >
> > Well, the relevant code is the using of
> > KDockMainWindow::readDockConfig() (kdelibs/kdeui/kdockwidget.cpp) in
> > CKDevelop's constructor (kdevelop-2.0cvs/kdevelop/ckdevelop_init.cpp).
> >
> > This happens in the constructor: First the constructor creates a lot of
> > KDockWidgets and docks them to their default position. After that
> > readDockConfig() is called which reads a saved docksession from
> > kdeveloprc and redocks all KDockWidgets to the new position.
> >
> > It seems, such a lot of reparent and whatever events causes event timing
> > problems in KDE's window manager. On my fast machine (1,2GHz) it works
> > more often than on other slow machines of Harry and Roland.
> 
> Yep, that's possible. There are some race conditions in ICCCM that a window
> manager cannot safely work around - unless you want it to be really slow.
> 
> It's the client's reponsibility to delay a MapRequest after a prior
> HideRequest until the winddow manager actually had time to hide the frame. Qt
> tries to enforce that, but somehow you seem to be able to hack around this
> with evil code. Simply do not show/hide/show/reparent/hide/show stuff
> unnecessarily if show should be enough.
Is a reparent/...more_reparents.../reparent/show OK?
If yes, KDockWidget::manualDock() should be improved...


Ciao,
F at lk

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


-
to unsubscribe from this list send an email to kdevelop-devel-request at kdevelop.org with the following body:
unsubscribe »your-email-address«



More information about the KDevelop-devel mailing list