[Libreoffice-commits] .: svx/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Jan 16 12:12:30 PST 2013


 svx/source/svdraw/svdmodel.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 63de2b8f1493f24669c78df3bc2d48d13528bd9f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jan 16 20:09:37 2013 +0000

    Resolves: fdo#59183 Copy 4 or more slides then crash
    
    regression from 17afe4cea7e01aef1e5270cc09f438bc6fde3211 which is totally
    forgivable as its riddled with asserts that suggest there should be no
    out-of-bounds accesses and there probably shouldn't and those queries are
    possibly bugs. But double-checking 3-6 it is the case that non-existant pages
    were queried for in that version too, so return NULL on out-of-bounds
    like the original pre-stl conversion code did.
    
    Change-Id: Ic918419b6cb76b083de6b6911dde9d6e00258324

diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index aae7534..01abfb7 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -1996,13 +1996,13 @@ SvxNumType SdrModel::GetPageNumType() const
 const SdrPage* SdrModel::GetPage(sal_uInt16 nPgNum) const
 {
     DBG_ASSERT(nPgNum < maPages.size(), "SdrModel::GetPage: Access out of range (!)");
-    return maPages[nPgNum];
+    return nPgNum < maPages.size() ? maPages[nPgNum] : NULL;
 }
 
 SdrPage* SdrModel::GetPage(sal_uInt16 nPgNum)
 {
     DBG_ASSERT(nPgNum < maPages.size(), "SdrModel::GetPage: Access out of range (!)");
-    return maPages[nPgNum];
+    return nPgNum < maPages.size() ? maPages[nPgNum] : NULL;
 }
 
 sal_uInt16 SdrModel::GetPageCount() const


More information about the Libreoffice-commits mailing list