From 1c7a845d1f793c7c4362fe93de8e0bb60bfaece4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 17 Mar 2013 16:44:17 +0530 Subject: [PATCH] Cover browser: Fix scrolling not working for books after the 32678'th book in a large library. Fixes #1153204 (Cover Browser - Books disappear) --- src/calibre/gui2/pictureflow/pictureflow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/pictureflow/pictureflow.cpp b/src/calibre/gui2/pictureflow/pictureflow.cpp index e26309f4cf..173a080301 100644 --- a/src/calibre/gui2/pictureflow/pictureflow.cpp +++ b/src/calibre/gui2/pictureflow/pictureflow.cpp @@ -398,7 +398,7 @@ private: QCache surfaceCache; QTimer triggerTimer; - int slideFrame; + long long slideFrame; int step; int target; int fade; @@ -493,7 +493,7 @@ void PictureFlowPrivate::setCurrentSlide(int index) step = 0; centerIndex = qBound(index, 0, slideImages->count()-1); target = centerIndex; - slideFrame = index << 16; + slideFrame = ((long long)index) << 16; resetSlides(); triggerRender(); widget->emitcurrentChanged(centerIndex); @@ -1069,7 +1069,7 @@ void PictureFlowPrivate::updateAnimation() const int max = 2 * 65536; int fi = slideFrame; - fi -= (target << 16); + fi -= (target << 16); if(fi < 0) fi = -fi; fi = qMin(fi, max); @@ -1094,7 +1094,7 @@ void PictureFlowPrivate::updateAnimation() if(centerIndex != index) { centerIndex = index; - slideFrame = index << 16; + slideFrame = ((long long)index) << 16; centerSlide.slideIndex = centerIndex; for(int i = 0; i < leftSlides.count(); i++) leftSlides[i].slideIndex = centerIndex-1-i;