[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: infinite loop in KToolBar, current HEAD-cvs
From:       Waldo Bastian <bastian () kde ! org>
Date:       2002-01-15 0:48:46
[Download RAW message or body]

On Monday 14 January 2002 04:16 pm, Falk Brettschneider wrote:
> Waldo Bastian wrote:
> >Something like this?
> >
> >@@ -1643,6 +1643,7 @@
> >     // the available space)
> >     QResizeEvent ev(size(), size());
> >     resizeEvent(&ev);
> >+    QApplication::sendPostedEvents( this, QEvent::LayoutHint );
> >     setUpdatesEnabled( TRUE );
> >     repaint( FALSE );
> > }
> >
> >Does that work? I can't reproduce the problem with gideon.
>
> It happens in KDevelop-2.1 (the KDE_2_2_BRANCH version running with
> KDE3). Enable the MDI-view-taskbar and open as many MDI-views as the
> taskbar can contain. When it is full, it began to flicker because the
> infinite loop began.
>
> Anyway, this patch from above works great, slotRepaint() is called only
> 1 time now. Please, commit. Thanks a lot!
>
> I investigated some time and found this:
> 1.) KDevelop calls a KToolBar::childEvent(), it shots the layoutTimer
> with 50ms, means it posts an event for calling KToolBar::rebuildLayout()
> in 50ms.
> 2.) next KDevelop calls a 3 times KToolBar::event() for the LayoutHint;
> it shots a timer single shot of 100ms, means it's posts to call
> slotRepaint() 3 times, too.

We better fix that as well then.

Cheers,
Waldo
-- 
bastian@kde.org  |   SuSE Labs KDE Developer  |  bastian@suse.com


>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic