diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2020-12-30 11:33:42 +0100 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2020-12-30 11:33:42 +0100 |
commit | d0a254398609262dc5e6960655a7818f21a24447 (patch) | |
tree | 287fcc3a3347f5fba672ec0e932cd7326c737d16 | |
parent | cd4a51695fddf2a76ae9ed71efa8bfb4a515b32e (diff) | |
download | emacs-d0a254398609262dc5e6960655a7818f21a24447.tar.gz |
Plug NS memory leaks (bug#45502)
* src/nsmenu.m ([EmacsMenu addItemWithWidgetValue:attributes:]):
Mark allocated and owned objects for autorelease.
-rw-r--r-- | src/nsmenu.m | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/nsmenu.m b/src/nsmenu.m index ac36150915a..de0c61ceb54 100644 --- a/src/nsmenu.m +++ b/src/nsmenu.m @@ -481,7 +481,7 @@ skipspc (const char *s) if (title == nil) title = @"< ? >"; /* (get out in the open so we know about it) */ - item = [[NSMenuItem alloc] init]; + item = [[[NSMenuItem alloc] init] autorelease]; if (wv->key) { NSString *key = [NSString stringWithUTF8String: skipspc (wv->key)]; @@ -495,9 +495,10 @@ skipspc (const char *s) #endif } - NSAttributedString *atitle = [[NSAttributedString alloc] + NSAttributedString *atitle = [[[NSAttributedString alloc] initWithString: title - attributes: attributes]; + attributes: attributes] + autorelease]; [item setAction: @selector (menuDown:)]; [item setAttributedTitle: atitle]; [item setEnabled: wv->enabled]; @@ -542,7 +543,7 @@ skipspc (const char *s) NSDictionary *attributes = nil; #ifdef NS_IMPL_COCOA - /* Cocoa doesn't allow multi-key chording in its menu display, so + /* Cocoa doesn't allow multi-key sequences in its menu display, so work around it by using tabs to split the title into two columns. */ NSDictionary *font_attribs = @{NSFontAttributeName: menuFont}; @@ -570,8 +571,8 @@ skipspc (const char *s) /* Set a right-aligned tab stop at the maximum width, so that the key will appear immediately to the left of it. */ NSTextTab *tab = - [[[NSTextTab alloc] initWithTextAlignment: NSTextAlignmentRight - location: maxWidth + [[[NSTextTab alloc] initWithTextAlignment: NSTextAlignmentLeft + location: maxWidth - maxKeyWidth options: @{}] autorelease]; NSMutableParagraphStyle *pstyle = [[[NSMutableParagraphStyle alloc] init] autorelease]; |