Bug 125418: Resizing textarea resizes wrong textarea (normal)
Opened:2006-04-12 12:52
Product:kpresenter
Component:general
Version:unspecified
Status:RESOLVED
Platform:unspecified
Resolution:FIXED
Reporter:Eckhart Wörner
Assigned to:T Zachmann

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


------- Additional Comment #1 From Eckhart Wörner 2006-04-12 12:53 -------
Created an attachment (id=15576)
Test file to reproduce the bug with


------- Additional Comment #2 From T Zachmann 2006-04-13 19:37 -------
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
 at  at  -2326,17 +2326,23  at  at
 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;
 }


Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments:


View Bug Activity   |   Format For Printing


Attachment Type Modified Status Actions
Test file to reproduce the bug with application/vnd.oasis.opendocument.presentation 2006-04-12 12:53:54 none Edit
Create a New Attachment (proposed patch, testcase, etc.) View All


Actions: Query | Reports Search:   New Account | Log In