diff --git a/src/komposefullscreenwidget.cpp b/src/komposefullscreenwidget.cpp index 04a0d3a..6b3a9a2 100644 --- a/src/komposefullscreenwidget.cpp +++ b/src/komposefullscreenwidget.cpp @@ -281,7 +281,9 @@ void KomposeFullscreenWidget::keyReleaseEvent ( TQKeyEvent *e ) bool KomposeFullscreenWidget::focusNeighbourDesk( int direction ) { bool successfull = false; - if ( !children()->containsRef(focusWidget()) ) + static TQWidget* activeDesktop; + + if ( activeDesktop == NULL ) { kdDebug() << "KomposeFullscreenWidget::keyReleaseEvent - No widget focussed. Focussing first" << endl; const TQObjectList *lst = children(); @@ -296,6 +298,7 @@ bool KomposeFullscreenWidget::focusNeighbourDesk( int direction ) { kdDebug() << "KomposeFullscreenWidget::keyReleaseEvent - Focussing " << widget->className() << endl; widget->setFocus(); + activeDesktop = widget; successfull = true; break; } @@ -306,10 +309,11 @@ bool KomposeFullscreenWidget::focusNeighbourDesk( int direction ) else { KomposeWidget *widget; - if ( ( widget = layout->getNeighbour( dynamic_cast(focusWidget()), direction, WLAYOUT_BOTH ) ) != 0 ) + if ( ( widget = layout->getNeighbour( dynamic_cast(activeDesktop), direction, WLAYOUT_BOTH ) ) != 0 ) { kdDebug() << "KomposeFullscreenWidget::keyReleaseEvent - Focussing " << widget->className() << endl; widget->setFocus(); + activeDesktop = widget; successfull = true; } }