You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by pe...@apache.org on 2018/10/08 06:21:45 UTC

svn commit: r1843110 - in /openoffice/branches/AOO416: ./ main/ main/sw/ main/sw/source/core/inc/cntfrm.hxx main/sw/source/core/layout/tabfrm.cxx

Author: petko
Date: Mon Oct  8 06:21:45 2018
New Revision: 1843110

URL: http://svn.apache.org/viewvc?rev=1843110&view=rev
Log:
Issue 127875 - fix a loop that visits all objects on a page so that all objects get visited

Modified:
    openoffice/branches/AOO416/   (props changed)
    openoffice/branches/AOO416/main/   (props changed)
    openoffice/branches/AOO416/main/sw/   (props changed)
    openoffice/branches/AOO416/main/sw/source/core/inc/cntfrm.hxx
    openoffice/branches/AOO416/main/sw/source/core/layout/tabfrm.cxx

Propchange: openoffice/branches/AOO416/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  8 06:21:45 2018
@@ -2,5 +2,5 @@
 /openoffice/branches/ia2:1417739-1541842
 /openoffice/branches/ooxml-osba:1546391,1546395,1546574,1546934,1547030,1547392,1551920,1551954,1551958,1552283
 /openoffice/branches/rejuvenate01:1480411,1534063,1534098,1536312,1549902,1560617
-/openoffice/trunk:1571617,1571619,1571677,1572577,1572587,1573547,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585171,1585261,1586242,1586249,1586583,1587468,1589050,1591501,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602791,1602823,1602850,1603416,1603897,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1607111,1607793,1607836,1608348,1608359,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611549,1612539,1612801,1621121,1623847,1623849-1623850,1642300-1642302,1647713,1652476,1654282,1668939,1669457,1669459,1669462-1669463,1669465,1689883,1689959,1690740,1690755,1690854,1694131-1694132,1694701,1697228,1697237,1697247,1697306,1697312,1702894,1702898,1702986,1702988,1705542-1705543,1705551,1706649,170
 7397,1707659,1723875,1729921,1730154,1748497,1754469,1755873,1756017,1757789,1758150,1760461,1761439,1761808,1763017,1763019,1765170,1766467,1766530,1766915,1772139,1780015,1784925,1784961,1785175,1791815,1793216,1797494,1800077,1800568,1802428,1803787,1803939,1804182,1805089,1805208,1806314,1811013,1811435,1811737,1813450,1814994,1815700,1818098,1825850,1839130,1839837,1840427
+/openoffice/trunk:1571617,1571619,1571677,1572577,1572587,1573547,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585171,1585261,1586242,1586249,1586583,1587468,1589050,1591501,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602791,1602823,1602850,1603416,1603897,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1607111,1607793,1607836,1608348,1608359,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611549,1612539,1612801,1621121,1623847,1623849-1623850,1642300-1642302,1647713,1652476,1654282,1668939,1669457,1669459,1669462-1669463,1669465,1689883,1689959,1690740,1690755,1690854,1694131-1694132,1694701,1697228,1697237,1697247,1697306,1697312,1702894,1702898,1702986,1702988,1705542-1705543,1705551,1706649,170
 7397,1707659,1723875,1729921,1730154,1748497,1754469,1755873,1756017,1757789,1758150,1760461,1761439,1761808,1763017,1763019,1765170,1766467,1766530,1766915,1772139,1780015,1784925,1784961,1785175,1791815,1793216,1797494,1800077,1800568,1802428,1803787,1803939,1804182,1805089,1805208,1806314,1811013,1811435,1811737,1813450,1814994,1815700,1818098,1825850,1837212,1839130,1839837,1840427
 /openoffice/trunk/main:1705369

Propchange: openoffice/branches/AOO416/main/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  8 06:21:45 2018
@@ -2,4 +2,4 @@
 /openoffice/branches/ia2/main:1417739-1541842
 /openoffice/branches/ooxml-osba/main:1546391,1546395,1546574,1546934,1547030,1547392,1551920,1551954,1551958,1552283
 /openoffice/branches/rejuvenate01/main:1480411,1534063,1534098,1536312,1549902,1560617
-/openoffice/trunk/main:1571617,1571677,1572569,1572577,1573547,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585171,1585261,1586242,1586249,1586583,1587468,1589050,1591501,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602791,1602823,1602850,1603416,1603897,1603941,1604028,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1606706,1607111,1607793,1607836,1608348,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611470,1611549,1612070-1612071,1612539,1612801,1616457,1616944,1620195,1621121,1623847,1623849-1623850,1630814,1633294,1633297,1635806,1642300-1642302,1643177,1650314,1652476,1654282,1668939,1669457,1669459,1669462-1669463,1669465,1677190,1687177,1689883,1689959,1692551,1694132,1694701,1695962,169722
 8,1697237,1697247,1697306,1697312,1697807,1700078,1700126,1700135,1702107,1702894,1702898,1702986,1702988,1705193,1705196,1705199,1705276,1705364,1705368-1705369,1705542,1706649,1707167,1707169-1707170,1707175,1707397,1707408,1707412,1707642,1707645,1707659,1707844,1708477,1708483,1709212,1709377,1709403,1723875,1729921,1730154,1748497,1754469,1755873,1756017,1757789,1758150,1760461,1761439,1761808,1763017,1763019,1765170,1766467,1766915,1772139,1780015,1784925,1784961,1785175,1791815,1793216,1797494,1800077,1800568,1802428,1803787,1803939,1804182,1805089,1805208,1806314,1811737,1813450,1815700,1818098,1825850,1839130,1839837,1840427
+/openoffice/trunk/main:1571617,1571677,1572569,1572577,1573547,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585171,1585261,1586242,1586249,1586583,1587468,1589050,1591501,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602791,1602823,1602850,1603416,1603897,1603941,1604028,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1606706,1607111,1607793,1607836,1608348,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611470,1611549,1612070-1612071,1612539,1612801,1616457,1616944,1620195,1621121,1623847,1623849-1623850,1630814,1633294,1633297,1635806,1642300-1642302,1643177,1650314,1652476,1654282,1668939,1669457,1669459,1669462-1669463,1669465,1677190,1687177,1689883,1689959,1692551,1694132,1694701,1695962,169722
 8,1697237,1697247,1697306,1697312,1697807,1700078,1700126,1700135,1702107,1702894,1702898,1702986,1702988,1705193,1705196,1705199,1705276,1705364,1705368-1705369,1705542,1706649,1707167,1707169-1707170,1707175,1707397,1707408,1707412,1707642,1707645,1707659,1707844,1708477,1708483,1709212,1709377,1709403,1723875,1729921,1730154,1748497,1754469,1755873,1756017,1757789,1758150,1760461,1761439,1761808,1763017,1763019,1765170,1766467,1766915,1772139,1780015,1784925,1784961,1785175,1791815,1793216,1797494,1800077,1800568,1802428,1803787,1803939,1804182,1805089,1805208,1806314,1811737,1813450,1815700,1818098,1825850,1837212,1839130,1839837,1840427

Propchange: openoffice/branches/AOO416/main/sw/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  8 06:21:45 2018
@@ -2,4 +2,4 @@
 /openoffice/branches/ia2/main/sw:1417739-1541842
 /openoffice/branches/ooxml-osba/main/sw:1546391,1546395,1546574,1546934,1547030,1547392,1551920,1551954,1551958,1552283
 /openoffice/branches/rejuvenate01/main/sw:1480411,1534063,1534098,1536312,1549902,1560617
-/openoffice/trunk/main/sw:1571617,1571677,1572569,1572577,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585261,1586242,1586249,1586583,1587468,1589050,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602823,1602850,1603416,1603897,1603941,1604028,1604709,1605355,1605689,1606055,1606061,1607111,1607649,1608348,1608733,1610411,1610671,1611549,1612539,1621121,1623847,1623849-1623850,1642300-1642302,1702894,1702898,1702986,1702988,1705364,1705368,1707169
+/openoffice/trunk/main/sw:1571617,1571677,1572569,1572577,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585261,1586242,1586249,1586583,1587468,1589050,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602823,1602850,1603416,1603897,1603941,1604028,1604709,1605355,1605689,1606055,1606061,1607111,1607649,1608348,1608733,1610411,1610671,1611549,1612539,1621121,1623847,1623849-1623850,1642300-1642302,1702894,1702898,1702986,1702988,1705364,1705368,1707169,1837212

Modified: openoffice/branches/AOO416/main/sw/source/core/inc/cntfrm.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/AOO416/main/sw/source/core/inc/cntfrm.hxx?rev=1843110&r1=1843109&r2=1843110&view=diff
==============================================================================
--- openoffice/branches/AOO416/main/sw/source/core/inc/cntfrm.hxx (original)
+++ openoffice/branches/AOO416/main/sw/source/core/inc/cntfrm.hxx Mon Oct  8 06:21:45 2018
@@ -103,6 +103,7 @@ public:
 	sal_Bool MoveFtnCntFwd( sal_Bool, SwFtnBossFrm* );//von MoveFwd gerufen bei Ftn-Inhalt
 
     inline  SwCntntFrm* GetNextCntntFrm() const;
+    inline  SwCntntFrm* GetNextCntntFrm( bool ) const;
     inline  SwCntntFrm* GetPrevCntntFrm() const;
     static bool CalcLowers( SwLayoutFrm* pLay, const SwLayoutFrm* pDontLeave, long nBottom, bool bSkipRowSpanCells );
     void RegisterToNode( SwCntntNode& );
@@ -117,6 +118,16 @@ inline SwCntntFrm* SwCntntFrm::GetNextCn
         return (SwCntntFrm*)ImplGetNextCntntFrm( true );
 }
 
+inline SwCntntFrm* SwCntntFrm::GetNextCntntFrm( bool bPrune ) const
+{
+    if ( bPrune && !GetPrev() )
+        return NULL;
+    else if ( bPrune || !(GetNext() && GetNext()->IsCntntFrm()))
+        return (SwCntntFrm*)ImplGetNextCntntFrm( true );
+    else
+        return (SwCntntFrm*)GetNext();
+}
+
 inline SwCntntFrm* SwCntntFrm::GetPrevCntntFrm() const
 {
     if ( GetPrev() && GetPrev()->IsCntntFrm() )

Modified: openoffice/branches/AOO416/main/sw/source/core/layout/tabfrm.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/AOO416/main/sw/source/core/layout/tabfrm.cxx?rev=1843110&r1=1843109&r2=1843110&view=diff
==============================================================================
--- openoffice/branches/AOO416/main/sw/source/core/layout/tabfrm.cxx (original)
+++ openoffice/branches/AOO416/main/sw/source/core/layout/tabfrm.cxx Mon Oct  8 06:21:45 2018
@@ -1536,6 +1536,7 @@ bool SwCntntFrm::CalcLowers( SwLayoutFrm
     // LONG_MAX == nBottom means we have to calculate all
     bool bAll = LONG_MAX == nBottom;
     bool bRet = sal_False;
+    bool bPrune;
 	SwCntntFrm *pCnt = pLay->ContainsCntnt();
     SWRECTFN( pLay )
 
@@ -1612,9 +1613,8 @@ bool SwCntntFrm::CalcLowers( SwLayoutFrm
             pCnt->GetUpper()->Calc();
         }
         // <--
-        if( ! bAll && (*fnRect->fnYDiff)((pCnt->Frm().*fnRect->fnGetTop)(), nBottom) > 0 )
-			break;
-		pCnt = pCnt->GetNextCntntFrm();
+        bPrune = !bAll && ( (*fnRect->fnYDiff)((pCnt->Frm().*fnRect->fnGetTop)(), nBottom) > 0 );
+		pCnt = pCnt->GetNextCntntFrm( bPrune );
 	}
 	return bRet;
 }