mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-05 11:21:04 -08:00
(selection_request_dpyinfo): New variable.
(x_handle_selection_request): Set it. (x_selection_request_lisp_error): Don't call x_decline_selection_request if selection request's display has been closed.
This commit is contained in:
parent
bec04ade3a
commit
ca29f2b87b
1 changed files with 8 additions and 2 deletions
|
|
@ -430,6 +430,10 @@ x_decline_selection_request (event)
|
|||
It is set to zero when the request is fully processed. */
|
||||
static struct input_event *x_selection_current_request;
|
||||
|
||||
/* Display info in x_selection_request. */
|
||||
|
||||
static struct x_display_info *selection_request_dpyinfo;
|
||||
|
||||
/* Used as an unwind-protect clause so that, if a selection-converter signals
|
||||
an error, we tell the requester that we were unable to do what they wanted
|
||||
before we throw to top-level or go into the debugger or whatever. */
|
||||
|
|
@ -438,7 +442,8 @@ static Lisp_Object
|
|||
x_selection_request_lisp_error (ignore)
|
||||
Lisp_Object ignore;
|
||||
{
|
||||
if (x_selection_current_request != 0)
|
||||
if (x_selection_current_request != 0
|
||||
&& selection_request_dpyinfo->display)
|
||||
x_decline_selection_request (x_selection_current_request);
|
||||
return Qnil;
|
||||
}
|
||||
|
|
@ -707,8 +712,9 @@ x_handle_selection_request (event)
|
|||
goto DONE;
|
||||
}
|
||||
|
||||
count = specpdl_ptr - specpdl;
|
||||
x_selection_current_request = event;
|
||||
count = BINDING_STACK_SIZE ();
|
||||
selection_request_dpyinfo = dpyinfo;
|
||||
record_unwind_protect (x_selection_request_lisp_error, Qnil);
|
||||
|
||||
target_symbol = x_atom_to_symbol (dpyinfo, SELECTION_EVENT_DISPLAY (event),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue