fix: memory leak

fix memory leaks related to
- image creation
- metal view

Change-Id: I2e5af4f06a7b22f671aa7dfecc4b4d68487d8599
diff --git a/src/AccSipGeneralVC.mm b/src/AccSipGeneralVC.mm
index 01577ca..697db38 100644
--- a/src/AccSipGeneralVC.mm
+++ b/src/AccSipGeneralVC.mm
@@ -124,16 +124,18 @@
 
 -(void)updateView {
     const auto& account = accountModel->getAccountInfo(self.selectedAccountID);
-    NSData *imageData = [[NSData alloc] initWithBase64EncodedString:account.profileInfo.avatar.toNSString() options:NSDataBase64DecodingIgnoreUnknownCharacters];
-    NSImage *image = [[NSImage alloc] initWithData:imageData];
-    if(image) {
-        [photoView setBordered:NO];
-        [photoView setImage: [image roundCorners: image.size.height * 0.5]];
-        [addProfilePhotoImage setHidden:YES];
-    } else {
-        [photoView setImage:nil];
-        [photoView setBordered:YES];
-        [addProfilePhotoImage setHidden:NO];
+    @autoreleasepool {
+        NSData *imageData = [[NSData alloc] initWithBase64EncodedString:account.profileInfo.avatar.toNSString() options:NSDataBase64DecodingIgnoreUnknownCharacters];
+        NSImage *image = [[NSImage alloc] initWithData:imageData];
+        if(image) {
+            [photoView setBordered:NO];
+            [photoView setImage: [image roundCorners: image.size.height * 0.5]];
+            [addProfilePhotoImage setHidden:YES];
+        } else {
+            [photoView setImage:nil];
+            [photoView setBordered:YES];
+            [addProfilePhotoImage setHidden:NO];
+        }
     }
     NSString* displayName = account.profileInfo.alias.toNSString();
     [displayNameField setStringValue:displayName];