Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi Radek,

On Sat, Jun 25, 2011 at 3:47 AM, Radek Doulik <rodo@novell.com> wrote:

I run into a crash on startup in that part. I quickly fixed it, but it
might be better if you check that it plays nicely with your new code. Or
maybe make the ScrollToAbsPos not crash when called with unexpected
values, -1 for example.


Thanks for fixing this! You're right, I didn't test loading a blank
presentation... Your quick fix fits well with the rest of the code;
nFirstVis will never be -1 if there are entries in the CustomAnimationList.
I was sad that ScrollToAbsPos failed; it turns out that it's due to there
being no entries in the list (I had added a check for negative scroll
position values which would try to go to scroll to the first entry). I have
attached a patch for ScrollToAbsPos that will check if there are entries in
the list first, and if not just return. Could you please review/commit this?

Kind regards,

Luke.
From f1b9f0219708da8332f1ba728fce0c63cbec6f4b Mon Sep 17 00:00:00 2001
From: Luke Symes <allsymes@gmail.com>
Date: Sun, 26 Jun 2011 22:13:01 +1200
Subject: [PATCH] Fix ScrollToAbsPos to work when we have an empty list.

---
 svtools/source/contnr/svimpbox.cxx |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/svtools/source/contnr/svimpbox.cxx b/svtools/source/contnr/svimpbox.cxx
index fd5a649..e0e9efc 100644
--- a/svtools/source/contnr/svimpbox.cxx
+++ b/svtools/source/contnr/svimpbox.cxx
@@ -1014,6 +1014,8 @@ void SvImpLBox::MakeVisible( SvLBoxEntry* pEntry, sal_Bool bMoveToTop )
 
 void SvImpLBox::ScrollToAbsPos( long nPos )
 {
+    if( pView->GetVisibleCount() == 0 )
+        return;
     long nLastEntryPos = pView->GetAbsPos( pView->Last() );
 
     if( nPos < 0 )
-- 
1.7.5.4


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.