mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 12:21:25 -08:00
Fix crash on OSX >= 10.7.
* nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:frame: (initWithTitle:): Initialize frame to 0. (fillWithWidgetValue:): Call fillWithWidgetValue:frame. (fillWithWidgetValue:frame:): Renamed from fillWithWidgetValue:setDelegate, call initWithTile:frame: if f. * nsterm.h (EmacsMenu): fillWithWidgetValue:setDelegate renamed to fillWithWidgetValue:frame:
This commit is contained in:
parent
423d3b3f9a
commit
f90e3ebd13
3 changed files with 20 additions and 8 deletions
|
|
@ -1,5 +1,14 @@
|
|||
2013-08-11 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:frame:
|
||||
(initWithTitle:): Initialize frame to 0.
|
||||
(fillWithWidgetValue:): Call fillWithWidgetValue:frame.
|
||||
(fillWithWidgetValue:frame:): Renamed from
|
||||
fillWithWidgetValue:setDelegate, call initWithTile:frame: if f.
|
||||
|
||||
* nsterm.h (EmacsMenu): fillWithWidgetValue:setDelegate renamed to
|
||||
fillWithWidgetValue:frame:
|
||||
|
||||
* nsfns.m (Fns_convert_utf8_nfd_to_nfc): Allocate and release pool to
|
||||
remove memory leak warnings.
|
||||
|
||||
|
|
|
|||
17
src/nsmenu.m
17
src/nsmenu.m
|
|
@ -366,7 +366,7 @@ ns_update_menubar (struct frame *f, bool deep_p, EmacsMenu *submenu)
|
|||
}
|
||||
else
|
||||
{
|
||||
[menu fillWithWidgetValue: first_wv->contents setDelegate:YES];
|
||||
[menu fillWithWidgetValue: first_wv->contents frame: f];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -527,6 +527,7 @@ x_activate_menubar (struct frame *f)
|
|||
/* override designated initializer */
|
||||
- initWithTitle: (NSString *)title
|
||||
{
|
||||
frame = 0;
|
||||
if ((self = [super initWithTitle: title]))
|
||||
[self setAutoenablesItems: NO];
|
||||
return self;
|
||||
|
|
@ -725,10 +726,10 @@ extern NSString *NSMenuDidBeginTrackingNotification;
|
|||
|
||||
- (void)fillWithWidgetValue: (void *)wvptr
|
||||
{
|
||||
[self fillWithWidgetValue: wvptr setDelegate:NO];
|
||||
[self fillWithWidgetValue: wvptr frame:nil];
|
||||
}
|
||||
|
||||
- (void)fillWithWidgetValue: (void *)wvptr setDelegate: (BOOL)set
|
||||
- (void)fillWithWidgetValue: (void *)wvptr frame: (struct frame *)f
|
||||
{
|
||||
widget_value *wv = (widget_value *)wvptr;
|
||||
|
||||
|
|
@ -743,11 +744,13 @@ extern NSString *NSMenuDidBeginTrackingNotification;
|
|||
|
||||
if (wv->contents)
|
||||
{
|
||||
EmacsMenu *submenu = [[EmacsMenu alloc] initWithTitle: [item title]];
|
||||
EmacsMenu *submenu;
|
||||
|
||||
if (f)
|
||||
submenu = [[EmacsMenu alloc] initWithTitle: [item title] frame:f];
|
||||
else
|
||||
submenu = [[EmacsMenu alloc] initWithTitle: [item title]];
|
||||
|
||||
#ifdef NS_IMPL_COCOA
|
||||
if (set) [submenu setDelegate: submenu];
|
||||
#endif
|
||||
[self setSubmenu: submenu forItem: item];
|
||||
[submenu fillWithWidgetValue: wv->contents];
|
||||
[submenu release];
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ typedef float EmacsCGFloat;
|
|||
- (NSString *)parseKeyEquiv: (const char *)key;
|
||||
- (NSMenuItem *)addItemWithWidgetValue: (void *)wvptr;
|
||||
- (void)fillWithWidgetValue: (void *)wvptr;
|
||||
- (void)fillWithWidgetValue: (void *)wvptr setDelegate: (BOOL)set;
|
||||
- (void)fillWithWidgetValue: (void *)wvptr frame: (struct frame *)f;
|
||||
- (EmacsMenu *)addSubmenuWithTitle: (const char *)title forFrame: (struct frame *)f;
|
||||
- (void) clear;
|
||||
- (Lisp_Object)runMenuAt: (NSPoint)p forFrame: (struct frame *)f
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue