From 858e55f412a35ca8e2c0b68eef61c6c864e5ce24 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Mon, 26 May 2014 13:26:24 +0200 Subject: [PATCH] * nsfns.m (Fns_do_applescript): Put code in the wrong place. Here is correct. Fixes: debbugs:17424 --- src/ChangeLog | 3 +++ src/nsfns.m | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 06f3a9403e3..fd840e0c07b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2014-05-26 Jan Djärv + * nsfns.m (Fns_do_applescript): Surround NSApp run + with calls to ns_init_events, ns_finish_events (Bug#17424). + * nsterm.h (ns_init_events, ns_finish_events): Declare. * nsterm.m (ns_init_events, ns_finish_events): New functions. diff --git a/src/nsfns.m b/src/nsfns.m index 0f2c2e693f7..00a488079c4 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -2094,10 +2094,8 @@ ns_do_applescript (Lisp_Object script, Lisp_Object *result) [[NSAppleScript alloc] initWithSource: [NSString stringWithUTF8String: SSDATA (script)]]; - ns_init_events (); returnDescriptor = [scriptObject executeAndReturnError: &errorDict]; [scriptObject release]; - ns_finish_events (); *result = Qnil; if (returnDescriptor != NULL) @@ -2158,6 +2156,7 @@ In case the execution fails, an error is signaled. */) Lisp_Object result; int status; NSEvent *nxev; + struct input_event ev; CHECK_STRING (script); check_window_system (NULL); @@ -2185,8 +2184,10 @@ In case the execution fails, an error is signaled. */) // If there are other events, the event loop may exit. Keep running // until the script has been handled. */ + ns_init_events (&ev); while (! NILP (as_script)) [NSApp run]; + ns_finish_events (); status = as_status; as_status = 0; -- 2.39.2