[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - 5 commits - filter/source sc/source sw/qa

Stephan Bergmann sbergman at redhat.com
Tue May 27 23:17:26 PDT 2014


 filter/source/graphicfilter/ipcx/ipcx.cxx |   14 +++----
 filter/source/graphicfilter/iras/iras.cxx |   31 +++++++----------
 sc/source/core/data/column3.cxx           |   54 ------------------------------
 sc/source/ui/dialogs/searchresults.cxx    |    4 +-
 sc/source/ui/inc/searchresults.hxx        |    2 -
 sw/qa/core/macros-test.cxx                |    1 
 6 files changed, 21 insertions(+), 85 deletions(-)

New commits:
commit f9231916051b1760d0051c319945896c84257562
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue May 27 11:12:37 2014 +0200

    Fix memory leak (as observed with CppunitTest_filter_pcx_test)
    
    Change-Id: Ic00653cad7f15f60a8f2613938def25820d7e9ae
    (cherry picked from commit c77c39056847d23a109172ff53bfac0ba4c21b39)

diff --git a/filter/source/graphicfilter/ipcx/ipcx.cxx b/filter/source/graphicfilter/ipcx/ipcx.cxx
index 2d941b8..32dc0d9 100644
--- a/filter/source/graphicfilter/ipcx/ipcx.cxx
+++ b/filter/source/graphicfilter/ipcx/ipcx.cxx
@@ -32,7 +32,6 @@ private:
     SvStream& m_rPCX;               // the PCX file to read
 
     Bitmap              aBmp;
-    BitmapWriteAccess*  pAcc;
     sal_uInt8           nVersion;           // PCX-Version
     sal_uInt8           nEncoding;          // compression type
     sal_uLong           nBitsPerPlanePix;   // bits per plane per pixel
@@ -48,7 +47,7 @@ private:
 
 
     bool            Callback( sal_uInt16 nPercent );
-    void                ImplReadBody();
+    void                ImplReadBody(BitmapWriteAccess * pAcc);
     void                ImplReadPalette( sal_uLong nCol );
     void                ImplReadHeader();
 
@@ -63,7 +62,6 @@ public:
 
 PCXReader::PCXReader(SvStream &rStream)
     : m_rPCX(rStream)
-    , pAcc(NULL)
     , nVersion(0)
     , nEncoding(0)
     , nBitsPerPlanePix(0)
@@ -112,7 +110,8 @@ bool PCXReader::ReadPCX(Graphic & rGraphic)
     if ( nStatus )
     {
         aBmp = Bitmap( Size( nWidth, nHeight ), nDestBitsPerPixel );
-        if ( ( pAcc = aBmp.AcquireWriteAccess() ) == 0 )
+        Bitmap::ScopedWriteAccess pAcc(aBmp);
+        if ( pAcc == 0 )
             return false;
 
         if ( nDestBitsPerPixel <= 8 )
@@ -126,7 +125,7 @@ bool PCXReader::ReadPCX(Graphic & rGraphic)
             }
         }
         // read bitmap data
-        ImplReadBody();
+        ImplReadBody(pAcc.get());
 
         // If an extended color palette exists at the end of the file, then read it and
         // and write again in palette:
@@ -148,9 +147,8 @@ bool PCXReader::ReadPCX(Graphic & rGraphic)
             rBitmap.SetPrefMapMode(aMapMode);
             rBitmap.SetPrefSize(Size(nWidth,nHeight));
         }
-    */  if ( nStatus && pAcc )
+    */  if ( nStatus )
         {
-            aBmp.ReleaseAccess( pAcc ), pAcc = NULL;
             rGraphic = aBmp;
             return true;
         }
@@ -217,7 +215,7 @@ void PCXReader::ImplReadHeader()
     }
 }
 
-void PCXReader::ImplReadBody()
+void PCXReader::ImplReadBody(BitmapWriteAccess * pAcc)
 {
     sal_uInt8   *pPlane[ 4 ], * pDest, * pSource1, * pSource2, * pSource3, *pSource4;
     sal_uLong   i, nx, ny, np, nCount, nPercent;
commit c63dbc56f01cd0fc4e0fa3d6daf536e0dfb3c70b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue May 27 10:30:05 2014 +0200

    Fix memory leak (as observed with CppunitTest_filter_ras_test)
    
    (cherry picked from commit ba00f596cfbb78046e705f1d45264951bf03a9a1)
    
    Change-Id: Id3fa526f01ab7dae72beb311fe0774ba1f77d8a0

diff --git a/filter/source/graphicfilter/iras/iras.cxx b/filter/source/graphicfilter/iras/iras.cxx
index 9f71ab7..c58bd46 100644
--- a/filter/source/graphicfilter/iras/iras.cxx
+++ b/filter/source/graphicfilter/iras/iras.cxx
@@ -44,7 +44,6 @@ private:
 
     bool                mbStatus;
     Bitmap              maBmp;
-    BitmapWriteAccess*  mpAcc;
     sal_uInt32          mnWidth, mnHeight;      // Bildausmass in Pixeln
     sal_uInt16              mnDstBitsPerPix;
     sal_uInt16              mnDstColors;
@@ -53,7 +52,7 @@ private:
     sal_uInt8               mnRepCount, mnRepVal;   // RLE Decoding
     bool                mbPalette;
 
-    bool                ImplReadBody();
+    bool                ImplReadBody(BitmapWriteAccess * pAcc);
     bool                ImplReadHeader();
     sal_uInt8               ImplGetByte();
 
@@ -68,7 +67,6 @@ public:
 RASReader::RASReader(SvStream &rRAS)
     : m_rRAS(rRAS)
     , mbStatus(true)
-    , mpAcc(NULL)
     , mnWidth(0)
     , mnHeight(0)
     , mnDstBitsPerPix(0)
@@ -108,7 +106,8 @@ bool RASReader::ReadRAS(Graphic & rGraphic)
         return false;
 
     maBmp = Bitmap( Size( mnWidth, mnHeight ), mnDstBitsPerPix );
-    if ( ( mpAcc = maBmp.AcquireWriteAccess() ) == 0 )
+    Bitmap::ScopedWriteAccess pAcc(maBmp);
+    if ( pAcc == 0 )
         return false;
 
     if ( mnDstBitsPerPix <= 8 )     // paletten bildchen
@@ -127,7 +126,7 @@ bool RASReader::ReadRAS(Graphic & rGraphic)
 
             if ( ( mnDstColors >= 2 ) && ( ( mnColorMapSize % 3 ) == 0 ) )
             {
-                mpAcc->SetPaletteEntryCount( mnDstColors );
+                pAcc->SetPaletteEntryCount( mnDstColors );
                 sal_uInt16  i;
                 sal_uInt8   nRed[256], nGreen[256], nBlue[256];
                 for ( i = 0; i < mnDstColors; i++ ) m_rRAS.ReadUChar( nRed[ i ] );
@@ -135,7 +134,7 @@ bool RASReader::ReadRAS(Graphic & rGraphic)
                 for ( i = 0; i < mnDstColors; i++ ) m_rRAS.ReadUChar( nBlue[ i ] );
                 for ( i = 0; i < mnDstColors; i++ )
                 {
-                    mpAcc->SetPaletteColor( i, BitmapColor( nRed[ i ], nGreen[ i ], nBlue[ i ] ) );
+                    pAcc->SetPaletteColor( i, BitmapColor( nRed[ i ], nGreen[ i ], nBlue[ i ] ) );
                 }
                 mbPalette = true;
             }
@@ -149,11 +148,11 @@ bool RASReader::ReadRAS(Graphic & rGraphic)
         if ( !mbPalette )
         {
             mnDstColors = 1 << mnDstBitsPerPix;
-            mpAcc->SetPaletteEntryCount( mnDstColors );
+            pAcc->SetPaletteEntryCount( mnDstColors );
             for ( sal_uInt16 i = 0; i < mnDstColors; i++ )
             {
                 sal_uLong nCount = 255 - ( 255 * i / ( mnDstColors - 1 ) );
-                mpAcc->SetPaletteColor( i, BitmapColor( (sal_uInt8)nCount, (sal_uInt8)nCount, (sal_uInt8)nCount ) );
+                pAcc->SetPaletteColor( i, BitmapColor( (sal_uInt8)nCount, (sal_uInt8)nCount, (sal_uInt8)nCount ) );
             }
         }
     }
@@ -167,12 +166,8 @@ bool RASReader::ReadRAS(Graphic & rGraphic)
     }
 
     // Bitmap-Daten einlesen
-    mbStatus = ImplReadBody();
+    mbStatus = ImplReadBody(pAcc.get());
 
-    if ( mpAcc )
-    {
-        maBmp.ReleaseAccess( mpAcc ), mpAcc = NULL;
-    }
     if ( mbStatus )
         rGraphic = maBmp;
 
@@ -219,7 +214,7 @@ bool RASReader::ImplReadHeader()
 
 
 
-bool RASReader::ImplReadBody()
+bool RASReader::ImplReadBody(BitmapWriteAccess * pAcc)
 {
     sal_uLong   x, y;
     sal_uInt8   nDat = 0;
@@ -233,7 +228,7 @@ bool RASReader::ImplReadBody()
                 {
                     if (!(x & 7))
                         nDat = ImplGetByte();
-                    mpAcc->SetPixelIndex( y, x,
+                    pAcc->SetPixelIndex( y, x,
                         sal::static_int_cast< sal_uInt8 >(
                             nDat >> ( ( x & 7 ) ^ 7 )) );
                 }
@@ -247,7 +242,7 @@ bool RASReader::ImplReadBody()
                 for ( x = 0; x < mnWidth; x++ )
                 {
                     nDat = ImplGetByte();
-                    mpAcc->SetPixelIndex( y, x, nDat );
+                    pAcc->SetPixelIndex( y, x, nDat );
                 }
                 if ( x & 1 ) ImplGetByte();                     // WORD ALIGNMENT ???
             }
@@ -274,7 +269,7 @@ bool RASReader::ImplReadBody()
                                 nGreen = ImplGetByte();
                                 nRed = ImplGetByte();
                             }
-                            mpAcc->SetPixel ( y, x, BitmapColor( nRed, nGreen, nBlue ) );
+                            pAcc->SetPixel ( y, x, BitmapColor( nRed, nGreen, nBlue ) );
                         }
                         if ( x & 1 ) ImplGetByte();                     // WORD ALIGNMENT ???
                     }
@@ -298,7 +293,7 @@ bool RASReader::ImplReadBody()
                                 nGreen = ImplGetByte();
                                 nRed = ImplGetByte();
                             }
-                            mpAcc->SetPixel ( y, x, BitmapColor( nRed, nGreen, nBlue ) );
+                            pAcc->SetPixel ( y, x, BitmapColor( nRed, nGreen, nBlue ) );
                         }
                     }
                     break;
commit e665a1b5212b529673d6e9dec3e29e6dae0f0fe8
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu May 22 16:12:09 2014 +0300

    WaE: unused variable 'aFileNameBase'
    
    Change-Id: I26cf27c7edc51d0a28e228c56465c3ec2ad7d35e
    (cherry picked from commit 73f65ac3ef713cc53c53da301785e35b36528504)

diff --git a/sw/qa/core/macros-test.cxx b/sw/qa/core/macros-test.cxx
index faa97c5..7a7d804 100644
--- a/sw/qa/core/macros-test.cxx
+++ b/sw/qa/core/macros-test.cxx
@@ -195,7 +195,6 @@ void SwMacrosTest::testFdo55289()
 
 void SwMacrosTest::testFdo68983()
 {
-    const OUString aFileNameBase("StarBasic.");
     OUString aFileName;
     createFileURL("fdo68983.", "odt", aFileName);
     Reference< com::sun::star::lang::XComponent > xComponent =
commit bef07997d040e3fbc08482b368c6d8257ad4b6b7
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri May 23 18:32:33 2014 +0300

    WaE: private field 'mnId' is not used
    
    Change-Id: I406ebb303b1f36f827c3cbf33f8f4cf3dcaed2f1
    (cherry picked from commit 8640859d6898943506f28be46c7778a677893ca8)

diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx
index 73955c8..26471ba 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -21,9 +21,9 @@
 
 namespace sc {
 
-SearchResultsDlg::SearchResultsDlg( SfxBindings* _pBindings, Window* pParent, sal_uInt16 nId ) :
+SearchResultsDlg::SearchResultsDlg( SfxBindings* _pBindings, Window* pParent, sal_uInt16 /* nId */ ) :
     ModelessDialog(pParent, "SearchResultsDialog", "modules/scalc/ui/searchresults.ui"),
-    mpBindings(_pBindings), mnId(nId), mpDoc(NULL)
+    mpBindings(_pBindings), mpDoc(NULL)
 {
     SvSimpleTableContainer *pContainer = get<SvSimpleTableContainer>("results");
     Size aControlSize(150, 120);
diff --git a/sc/source/ui/inc/searchresults.hxx b/sc/source/ui/inc/searchresults.hxx
index efb35f8..0d6d435 100644
--- a/sc/source/ui/inc/searchresults.hxx
+++ b/sc/source/ui/inc/searchresults.hxx
@@ -23,8 +23,6 @@ class SearchResultsDlg : public ModelessDialog
 {
     SvSimpleTable *mpList;
     SfxBindings* mpBindings;
-    sal_uInt16 mnId;
-
     ScDocument* mpDoc;
 
     DECL_LINK( ListSelectHdl, void * );
commit ad400f094e3ca18390dc6b3d5f0e1235b66a8c70
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri May 23 09:23:21 2014 +0200

    Remove dead code
    
    Change-Id: I198fb0193fed891c4dd8a8a92c29e36f6c4d48b9
    (cherry picked from commit a8df8e319fa6b328534855a17e6fcac8aeb4dc25)

diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 2d54fd5..d023b16 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -140,41 +140,6 @@ void ScColumn::FreeAll()
 
 namespace {
 
-/**
- * Collect all formula cells for later mass-unregistration. Also tag row
- * positions of all non-empty cells in the range.
- */
-class DeleteRowsHandler
-{
-    ScDocument& mrDoc;
-    std::vector<SCROW> maRows;
-    std::vector<ScFormulaCell*> maFormulaCells;
-public:
-    DeleteRowsHandler(ScDocument& rDoc) : mrDoc(rDoc) {}
-
-    void operator() (size_t nRow, ScFormulaCell* pCell)
-    {
-        maFormulaCells.push_back(pCell);
-        maRows.push_back(nRow);
-    }
-
-    void operator() (mdds::mtv::element_t nType, size_t nTopRow, size_t nDataSize)
-    {
-        if (nType == sc::element_type_empty)
-            // Ignore empty cells.
-            return;
-
-        for (size_t i = 0; i < nDataSize; ++i)
-            // Tag all non-empty cells.
-            maRows.push_back(i + nTopRow);
-    }
-
-    const std::vector<SCROW>& getNonEmptyRows() const
-    {
-        return maRows;
-    }
-};
-
 class ShiftFormulaPosHandler
 {
 public:
@@ -185,25 +150,6 @@ public:
     }
 };
 
-class RangeBroadcaster
-{
-    ScDocument& mrDoc;
-    ScHint maHint;
-public:
-    RangeBroadcaster(ScDocument& rDoc, SCTAB nTab, SCCOL nCol) :
-        mrDoc(rDoc),
-        maHint(SC_HINT_DATACHANGED, ScAddress(nCol, 0, nTab)) {}
-
-    void operator() (const sc::RowSpan& rSpan)
-    {
-        SCROW nRow1 = rSpan.mnRow1, nRow2 = rSpan.mnRow2;
-        maHint.GetAddress().SetRow(nRow1);
-        ScRange aRange(maHint.GetAddress());
-        aRange.aEnd.SetRow(nRow2);
-        mrDoc.AreaBroadcastInRange(aRange, maHint);
-    }
-};
-
 }
 
 void ScColumn::DeleteRow( SCROW nStartRow, SCSIZE nSize )


More information about the Libreoffice-commits mailing list