fix: memory leak

fix memory leaks related to
- image creation
- metal view

Change-Id: I2e5af4f06a7b22f671aa7dfecc4b4d68487d8599
diff --git a/src/SmartViewVC.mm b/src/SmartViewVC.mm
index 1d4caf1..aaf5a9b 100755
--- a/src/SmartViewVC.mm
+++ b/src/SmartViewVC.mm
@@ -496,24 +496,26 @@
         [displayRingID setStringValue:displayIDString];
         [displayRingID setHidden:NO];
     }
-    auto& imageManip = reinterpret_cast<Interfaces::ImageManipulationDelegate&>(GlobalInstances::pixmapManipulator());
-    NSImage* image = QtMac::toNSImage(qvariant_cast<QPixmap>(imageManip.conversationPhoto(conversation, convModel_->owner)));
-    if(image) {
-        [NSLayoutConstraint deactivateConstraints:[photoView constraints]];
-        NSArray* constraints = [NSLayoutConstraint
-                                constraintsWithVisualFormat:@"H:[photoView(54)]"
-                                options:0
-                                metrics:nil                                                                          views:NSDictionaryOfVariableBindings(photoView)];
-        [NSLayoutConstraint activateConstraints:constraints];
-    } else {
-        [NSLayoutConstraint deactivateConstraints:[photoView constraints]];
-        NSArray* constraints = [NSLayoutConstraint
-                                constraintsWithVisualFormat:@"H:[photoView(0)]"
-                                options:0
-                                metrics:nil                                                                          views:NSDictionaryOfVariableBindings(photoView)];
-        [NSLayoutConstraint activateConstraints:constraints];
+    @autoreleasepool {
+        auto& imageManip = reinterpret_cast<Interfaces::ImageManipulationDelegate&>(GlobalInstances::pixmapManipulator());
+        NSImage* image = QtMac::toNSImage(qvariant_cast<QPixmap>(imageManip.conversationPhoto(conversation, convModel_->owner)));
+        if(image) {
+            [NSLayoutConstraint deactivateConstraints:[photoView constraints]];
+            NSArray* constraints = [NSLayoutConstraint
+                                    constraintsWithVisualFormat:@"H:[photoView(54)]"
+                                    options:0
+                                    metrics:nil                                                                          views:NSDictionaryOfVariableBindings(photoView)];
+            [NSLayoutConstraint activateConstraints:constraints];
+        } else {
+            [NSLayoutConstraint deactivateConstraints:[photoView constraints]];
+            NSArray* constraints = [NSLayoutConstraint
+                                    constraintsWithVisualFormat:@"H:[photoView(0)]"
+                                    options:0
+                                    metrics:nil                                                                          views:NSDictionaryOfVariableBindings(photoView)];
+            [NSLayoutConstraint activateConstraints:constraints];
+        }
+        [photoView setImage: image];
     }
-    [photoView setImage: image];
 
     NSView* presenceView = [result viewWithTag:PRESENCE_TAG];
     [presenceView setHidden:YES];