[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 2 commits - stlport/systemstl sw/source

Andre Fischer af at apache.org
Wed Mar 5 06:07:48 PST 2014


 stlport/systemstl/list         |   17 +++++++++--------
 sw/source/core/crsr/swcrsr.cxx |   40 ++++++++++++++++++++++++++--------------
 2 files changed, 35 insertions(+), 22 deletions(-)

New commits:
commit c739861cc38b09a1f99c3d91f879bfd8ee1ea43a
Author: Andre Fischer <af at apache.org>
Date:   Wed Mar 5 13:52:22 2014 +0000

    124361: Avoid MSVC warning 4555 while including list.

diff --git a/stlport/systemstl/list b/stlport/systemstl/list
index 283880b..1fa1dc5 100644
--- a/stlport/systemstl/list
+++ b/stlport/systemstl/list
@@ -23,16 +23,17 @@
 #define SYSTEM_STL_LIST
 
 #ifdef HAVE_STL_INCLUDE_PATH
-	// TODO: use computed include file name
-	#include_next <list>
+    // TODO: use computed include file name
+    #include_next <list>
 #elif defined(_MSC_VER)
-	#include <../../VC/include/list>
-	// MSVC's list would cause a lot of expression-result-unused warnings
-	// unless it is compiled in iterator-debugging mode. Silence this noise
-	#pragma warning(disable:4555)
+    // MSVC's list would cause a lot of expression-result-unused warnings
+    // unless it is compiled in iterator-debugging mode. Silence this noise temporarily.
+    #pragma warning(push)
+    #pragma warning(disable:4555)
+    #include <../../VC/include/list>
+    #pragma warning(pop)
 #else // fall back to boost/tr1
-	#include <boost/tr1/tr1/list>
+    #include <boost/tr1/tr1/list>
 #endif
 
 #endif
-
commit 83510855eff12832682adfb0c1093ccb5cfc7b13
Author: Oliver-Rainer Wittmann <orw at apache.org>
Date:   Wed Mar 5 13:24:23 2014 +0000

    123979: method <SwCursor::IsSelOvr(..)> - treat application of new position due to content frame without height to next/previous content frame as restore to saved position, if new position equals the saved one.
    
    This avoid cursor traveling loops due to hidden content at the beginning/end of the text document.

diff --git a/sw/source/core/crsr/swcrsr.cxx b/sw/source/core/crsr/swcrsr.cxx
index 6922b16..b81ea04 100644
--- a/sw/source/core/crsr/swcrsr.cxx
+++ b/sw/source/core/crsr/swcrsr.cxx
@@ -343,7 +343,8 @@ sal_Bool SwCursor::IsSelOvr( int eFlags )
     if( pNd->IsCntntNode() && !dynamic_cast<SwUnoCrsr*>(this) )
     {
         const SwCntntFrm* pFrm = ((SwCntntNode*)pNd)->getLayoutFrm( pDoc->GetCurrentLayout() );
-        if( pFrm && pFrm->IsValid()
+        if( pFrm != NULL
+            && pFrm->IsValid()
             && 0 == pFrm->Frm().Height()
             && 0 != ( nsSwCursorSelOverFlags::SELOVER_CHANGEPOS & eFlags ) )
         {
@@ -356,40 +357,51 @@ sal_Bool SwCursor::IsSelOvr( int eFlags )
 
             // --> LIJIAN/FME 2007-11-27 #i72394# skip to prev /next valid paragraph
             // with a layout in case the first search did not succeed:
-            if( !pFrm )
+            if ( pFrm == NULL )
             {
                 bGoNxt = !bGoNxt;
                 pFrm = ((SwCntntNode*)pNd)->getLayoutFrm( pDoc->GetCurrentLayout() );
-                while ( pFrm && 0 == pFrm->Frm().Height() )
+                while ( pFrm != NULL
+                        && 0 == pFrm->Frm().Height() )
                 {
-                    pFrm = bGoNxt ? pFrm->GetNextCntntFrm()
-                        :   pFrm->GetPrevCntntFrm();
+                    pFrm = bGoNxt ? pFrm->GetNextCntntFrm() : pFrm->GetPrevCntntFrm();
                 }
             }
             // <--
 
-            SwCntntNode* pCNd;
-            if( pFrm && 0 != (pCNd = (SwCntntNode*)pFrm->GetNode()) )
+            SwCntntNode* pCNd = (pFrm != NULL) ? (SwCntntNode*)pFrm->GetNode() : NULL;
+            if ( pCNd != NULL )
             {
                 // set this cntntNode as new position
                 rPtIdx = *pCNd;
                 pNd = pCNd;
 
-                // ContentIndex noch anmelden:
-                xub_StrLen nTmpPos = bGoNxt ? 0 : pCNd->Len();
+                // assign corresponding ContentIndex
+                const xub_StrLen nTmpPos = bGoNxt ? 0 : pCNd->Len();
                 GetPoint()->nContent.Assign( pCNd, nTmpPos );
 
-                // sollten wir in einer Tabelle gelandet sein?
-                if( IsInProtectTable( sal_True ) )
-                    pFrm = 0;
+                if ( rPtIdx.GetIndex() == pSavePos->nNode
+                     && nTmpPos == pSavePos->nCntnt )
+                {
+                    // new position equals saved one
+                    // --> trigger restore of saved pos by setting <pFrm> to NULL - see below
+                    pFrm = NULL;
+                }
+
+                if ( IsInProtectTable( sal_True ) )
+                {
+                    // new position in protected table
+                    // --> trigger restore of saved pos by setting <pFrm> to NULL - see below
+                    pFrm = NULL;
+                }
             }
         }
 
-        if( !pFrm )
+        if( pFrm == NULL )
         {
             DeleteMark();
             RestoreSavePos();
-            return sal_True;        // ohne Frames geht gar nichts!
+            return sal_True;
         }
     }
 


More information about the Libreoffice-commits mailing list