Version: (using KDE 4.0.1) Installed from: Compiled From Sources OS: Linux Bug appears when using this options in konquerorrc: [FMSettings] TabPosition=Bottom CloseTabButton=false Both options are necessary. Open >=2 pages, scroll page down to the end by mouse wheel and konqueror will switch tab to the next one. The page must have vertical scrollbar.
I can confirm this (KDE 4.0.1, 20080201).
Bug appears, because there is no check that scrollbars are already at end of range. As a result event will be send to KonqFrameTabs with pos() for viewport widget which can be pretty large (ie 800x2000) But isEmptyTabbarSpace() doesn't expect such event->pos() and fails checks. One of this two fixes resolves issue: Index: khtml/khtmlview.cpp =================================================================== --- khtml/khtmlview.cpp (revision 777881) +++ khtml/khtmlview.cpp (working copy) @@ -3667,7 +3667,7 @@ killTimer(d->scrollingFromWheelTimerId); d->scrollingFromWheelTimerId = startTimer(400); - if (m_part->parentPart()) { + if (m_part->parentPart() || parent()) { // don't propagate if we are a sub-frame and our scrollbars are already at end of range bool h = (static_cast<QWheelEvent*>(e)->orientation() == Qt::Horizontal); bool d = (static_cast<QWheelEvent*>(e)->delta() < 0); Index: kdeui/widgets/ktabwidget.cpp =================================================================== --- kdeui/widgets/ktabwidget.cpp (revision 777881) +++ kdeui/widgets/ktabwidget.cpp (working copy) @@ -348,7 +348,7 @@ if ( event->orientation() == Qt::Horizontal ) return; - if ( d->isEmptyTabbarSpace( event->pos() ) ) + if ( d->isEmptyTabbarSpace( mapFromGlobal( event->globalPos() ) ) ) wheelDelta( event->delta() ); else event->ignore();
Can you still reproduce the bug with a recent KDE version? . Isn't it fixed with the patches described in comment 2 ?
I can't reproduce the bug anymore with current svn version. I guess it can be closed now.