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];