[Libreoffice-commits] .: sw/source

Cédric Bosdonnat cbosdo at kemper.freedesktop.org
Sat May 7 11:49:37 PDT 2011


 sw/source/core/layout/trvlfrm.cxx |   92 +++++++++++++++++++-------------------
 1 file changed, 46 insertions(+), 46 deletions(-)

New commits:
commit 47667a18609f4a75240defaf7f3f1b8a39fd9573
Author: Cédric Bosdonnat <cedric.bosdonnat.ooo at free.fr>
Date:   Sat May 7 20:48:54 2011 +0200

    Revert "Right click and clic-drag on a text over background image is weird"
    
    This reverts commit 4e035a1932446c8805c75841ea1db08f863254e6. Reverted
    as is introduced fdo#36496.

diff --git a/sw/source/core/layout/trvlfrm.cxx b/sw/source/core/layout/trvlfrm.cxx
index e3ddba9..49b85bc 100644
--- a/sw/source/core/layout/trvlfrm.cxx
+++ b/sw/source/core/layout/trvlfrm.cxx
@@ -161,63 +161,63 @@ sal_Bool SwPageFrm::GetCrsrOfst( SwPosition *pPos, Point &rPoint,
         aPoint.Y() = Min( aPoint.Y(), Frm().Bottom() );
     }
 
-    //Wenn kein Cntnt unterhalb der Seite 'antwortet', so korrigieren
-    //wir den StartPoint und fangen nochmal eine Seite vor der
-    //aktuellen an. Mit Flys ist es dann allerdings vorbei.
-    if ( SwLayoutFrm::GetCrsrOfst( pPos, aPoint, pCMS ) )
-        bRet = sal_True;
-    else
+    //Koennte ein Freifliegender gemeint sein?
+    //Wenn sein Inhalt geschuetzt werden soll, so ist nix mit Crsr
+    //hineinsetzen, dadurch sollten alle Aenderungen unmoeglich sein.
+    if ( GetSortedObjs() )
     {
-        if ( pCMS && (pCMS->bStop || pCMS->bExactOnly) )
+        SwOrderIter aIter( this );
+        aIter.Top();
+        while ( aIter() )
         {
-            ((SwCrsrMoveState*)pCMS)->bStop = sal_True;
-            return sal_False;
-        }
-        const SwCntntFrm *pCnt = GetCntntPos( aPoint, sal_False, sal_False, sal_False, pCMS, sal_False );
-        if ( pCMS && pCMS->bStop )
-            return sal_False;
-
-        OSL_ENSURE( pCnt, "Crsr is gone to a Black hole" );
-        if( pCMS && pCMS->pFill && pCnt->IsTxtFrm() )
-            bRet = pCnt->GetCrsrOfst( pPos, rPoint, pCMS );
-        else
-            bRet = pCnt->GetCrsrOfst( pPos, aPoint, pCMS );
+            const SwVirtFlyDrawObj* pObj =
+                                static_cast<const SwVirtFlyDrawObj*>(aIter());
+            const SwFlyFrm* pFly = pObj ? pObj->GetFlyFrm() : 0;
+            if ( pFly &&
+                 ( ( pCMS ? pCMS->bSetInReadOnly : sal_False ) ||
+                   !pFly->IsProtected() ) &&
+                 pFly->GetCrsrOfst( pPos, aPoint, pCMS ) )
+            {
+                bRet = sal_True;
+                break;
+            }
 
-        if ( !bRet )
-        {
-            // Set point to pCnt, delete mark
-            // this may happen, if pCnt is hidden
-            *pPos = SwPosition( *pCnt->GetNode(), SwIndex( (SwTxtNode*)pCnt->GetNode(), 0 ) );
-            bRet = sal_True;
+            if ( pCMS && pCMS->bStop )
+                return sal_False;
+            aIter.Prev();
         }
     }
 
     if ( !bRet )
     {
-        //Koennte ein Freifliegender gemeint sein?
-        //Wenn sein Inhalt geschuetzt werden soll, so ist nix mit Crsr
-        //hineinsetzen, dadurch sollten alle Aenderungen unmoeglich sein.
-        if ( GetSortedObjs() )
+        //Wenn kein Cntnt unterhalb der Seite 'antwortet', so korrigieren
+        //wir den StartPoint und fangen nochmal eine Seite vor der
+        //aktuellen an. Mit Flys ist es dann allerdings vorbei.
+        if ( SwLayoutFrm::GetCrsrOfst( pPos, aPoint, pCMS ) )
+            bRet = sal_True;
+        else
         {
-            SwOrderIter aIter( this );
-            aIter.Top();
-            while ( aIter() )
+            if ( pCMS && (pCMS->bStop || pCMS->bExactOnly) )
             {
-                const SwVirtFlyDrawObj* pObj =
-                                    static_cast<const SwVirtFlyDrawObj*>(aIter());
-                const SwFlyFrm* pFly = pObj ? pObj->GetFlyFrm() : 0;
-                if ( pFly &&
-                     ( ( pCMS ? pCMS->bSetInReadOnly : sal_False ) ||
-                       !pFly->IsProtected() ) &&
-                     pFly->GetCrsrOfst( pPos, aPoint, pCMS ) )
-                {
-                    bRet = sal_True;
-                    break;
-                }
+                ((SwCrsrMoveState*)pCMS)->bStop = sal_True;
+                return sal_False;
+            }
+            const SwCntntFrm *pCnt = GetCntntPos( aPoint, sal_False, sal_False, sal_False, pCMS, sal_False );
+            if ( pCMS && pCMS->bStop )
+                return sal_False;
 
-                if ( pCMS && pCMS->bStop )
-                    return sal_False;
-                aIter.Prev();
+            OSL_ENSURE( pCnt, "Crsr is gone to a Black hole" );
+            if( pCMS && pCMS->pFill && pCnt->IsTxtFrm() )
+                bRet = pCnt->GetCrsrOfst( pPos, rPoint, pCMS );
+            else
+                bRet = pCnt->GetCrsrOfst( pPos, aPoint, pCMS );
+
+            if ( !bRet )
+            {
+                // Set point to pCnt, delete mark
+                // this may happen, if pCnt is hidden
+                *pPos = SwPosition( *pCnt->GetNode(), SwIndex( (SwTxtNode*)pCnt->GetNode(), 0 ) );
+                bRet = sal_True;
             }
         }
     }


More information about the Libreoffice-commits mailing list