From d08dc47ea75767a8ebd5483d484fb2adbdd6639f Mon Sep 17 00:00:00 2001 From: Botond Ballo Date: Tue, 3 Jun 2014 17:31:25 -0400 Subject: [PATCH] Bug 1018255 - Fix a short-circuit evaluation bug in OverscrollSnapBackAnimation::Sample. r=kats --HG-- extra : source : c01a9ce7adb6693dbf5819fe853d4c7076bbd75a --- gfx/layers/apz/src/AsyncPanZoomController.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gfx/layers/apz/src/AsyncPanZoomController.cpp b/gfx/layers/apz/src/AsyncPanZoomController.cpp index 54e49b19993..b52a8b0b966 100644 --- a/gfx/layers/apz/src/AsyncPanZoomController.cpp +++ b/gfx/layers/apz/src/AsyncPanZoomController.cpp @@ -488,8 +488,10 @@ public: virtual bool Sample(FrameMetrics& aFrameMetrics, const TimeDuration& aDelta) MOZ_OVERRIDE { - return mApzc.mX.SampleSnapBack(aDelta) - || mApzc.mY.SampleSnapBack(aDelta); + // Can't inline these variables due to short-circuit evaluation. + bool continueX = mApzc.mX.SampleSnapBack(aDelta); + bool continueY = mApzc.mY.SampleSnapBack(aDelta); + return continueX || continueY; } private: