From 6e869127dd9e3c069386e5ad800d9200a6ede256 Mon Sep 17 00:00:00 2001
From: Maxime Graulich <maxime.graulich@gmail.com>
Date: Fri, 12 Jul 2013 13:11:53 +0000
Subject: [PATCH] Fix scale on iOS

---
 .../mobile/iOS/Onelab/DetailViewController.mm    | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/contrib/mobile/iOS/Onelab/DetailViewController.mm b/contrib/mobile/iOS/Onelab/DetailViewController.mm
index 9ba0fbb9ae..d5e17e5d62 100644
--- a/contrib/mobile/iOS/Onelab/DetailViewController.mm
+++ b/contrib/mobile/iOS/Onelab/DetailViewController.mm
@@ -56,9 +56,19 @@
 - (IBAction)pinch:(UIPinchGestureRecognizer *)sender
 {
     if([sender numberOfTouches] != 2) return;
-    scaleFactor *= [sender scale];
-    scaleFactor = MAX(0.1, scaleFactor);
-    glView->mContext->eventHandler(2,scaleFactor);
+    float mScale;
+    if (sender.state == UIGestureRecognizerStateBegan)
+        mScale = scaleFactor;
+    else if(sender.state == UIGestureRecognizerStateChanged)
+        mScale = scaleFactor * [sender scale];
+    else if(sender.state == UIGestureRecognizerStateEnded){
+        scaleFactor *= [sender scale];
+        mScale = scaleFactor;
+    }
+    else
+        mScale = 1.0f;
+    mScale = MAX(0.1, mScale);
+    glView->mContext->eventHandler(2,mScale);
     [glView drawView];
 }
 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-- 
GitLab