[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 02ca5db: Remove separate pool for popup dialogs (bu
From: |
Alan Third |
Subject: |
[Emacs-diffs] master 02ca5db: Remove separate pool for popup dialogs (bug#23856) |
Date: |
Sun, 17 Jul 2016 21:19:33 +0000 (UTC) |
branch: master
commit 02ca5db040b57ca4a36c317fcb3fb56f43ab371e
Author: Alan Third <address@hidden>
Commit: Alan Third <address@hidden>
Remove separate pool for popup dialogs (bug#23856)
* src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
autorelease pool and Popdown_data struct.
---
src/nsmenu.m | 24 ++++--------------------
1 file changed, 4 insertions(+), 20 deletions(-)
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 10dfe8a..83ded6d 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1420,29 +1420,19 @@ update_frame_tool_bar (struct frame *f)
==========================================================================
*/
-struct Popdown_data
-{
- NSAutoreleasePool *pool;
- EmacsDialogPanel *dialog;
-};
-
static void
pop_down_menu (void *arg)
{
- struct Popdown_data *unwind_data = arg;
+ EmacsDialogPanel *panel = arg;
- block_input ();
if (popup_activated_flag)
{
- EmacsDialogPanel *panel = unwind_data->dialog;
+ block_input ();
popup_activated_flag = 0;
[panel close];
- [unwind_data->pool release];
[[FRAME_NS_VIEW (SELECTED_FRAME ()) window] makeKeyWindow];
+ unblock_input ();
}
-
- xfree (unwind_data);
- unblock_input ();
}
@@ -1453,7 +1443,6 @@ ns_popup_dialog (struct frame *f, Lisp_Object header,
Lisp_Object contents)
Lisp_Object tem, title;
NSPoint p;
BOOL isQ;
- NSAutoreleasePool *pool;
NSTRACE ("ns_popup_dialog");
@@ -1473,18 +1462,13 @@ ns_popup_dialog (struct frame *f, Lisp_Object header,
Lisp_Object contents)
contents = list2 (title, Fcons (build_string ("Ok"), Qt));
block_input ();
- pool = [[NSAutoreleasePool alloc] init];
dialog = [[EmacsDialogPanel alloc] initFromContents: contents
isQuestion: isQ];
{
ptrdiff_t specpdl_count = SPECPDL_INDEX ();
- struct Popdown_data *unwind_data = xmalloc (sizeof (*unwind_data));
-
- unwind_data->pool = pool;
- unwind_data->dialog = dialog;
- record_unwind_protect_ptr (pop_down_menu, unwind_data);
+ record_unwind_protect_ptr (pop_down_menu, dialog);
popup_activated_flag = 1;
tem = [dialog runDialogAt: p];
unbind_to (specpdl_count, Qnil); /* calls pop_down_menu */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 02ca5db: Remove separate pool for popup dialogs (bug#23856),
Alan Third <=