Version: 1.5.0 (using KDE 3.5.2, Debian Package 4:3.5.2-2 (testing/unstable)) Compiler: Target: i486-linux-gnu OS: Linux (i686) release 2.6.15-1-686 Steps to reproduce: - Open the attached presentation file using KPresenter - Select the "A" area by clicking on it - Click on one of the lower grips of the "A" area and drag it around Current behavior: - The "B" area gets resized Expected behavior: - The "A" area should get resized
Created an attachment (id=15576) [details] Test file to reproduce the bug with
SVN commit 529542 by zachmann: o Fix Bug 125418: Resizing textarea resizes wrong textarea The problem was that another obejcts was selected when trying to resize the object. This has be fixed by checking if there is allready an other object selected at this place. Thanks for reporting the bug. BUG: 125418 M +16 -10 KPrPage.cpp --- branches/koffice/1.5/koffice/kpresenter/KPrPage.cpp #529541:529542 @@ -2326,17 +2326,23 @@ KPrObject* KPrPage::getObjectAt( const KoPoint &pos, bool withoutProtected ) const { QPtrListIterator<KPrObject> it( m_objectList ); - KPrObject *o = it.toLast(); - while ( o ) { - if ( o != m_doc->footer() || - o != m_doc->header() || - ( m_bHasFooter && o == m_doc->footer() ) || - ( m_bHasHeader && o == m_doc->header() ) ) - { - if ( o->contains( pos ) && !( o->isProtect() && withoutProtected ) ) - return o; + KPrObject *o = 0; + //tz Check first if there is a selected object at this pos! + for ( int i = 0; i < 2; ++i ) + { + o = it.toLast(); + while ( o ) { + if ( o != m_doc->footer() || + o != m_doc->header() || + ( m_bHasFooter && o == m_doc->footer() ) || + ( m_bHasHeader && o == m_doc->header() ) ) + { + if ( ( o->isSelected() || i > 0 ) && + o->contains( pos ) && !( o->isProtect() && withoutProtected ) ) + return o; + } + o = --it; } - o = --it; } return 0L; }
You need to log in before you can comment on or make changes to this bug.