From 15f3f94c19fb873e3687c07a3056921ade5266fa Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 31 Jan 2019 10:42:44 +0100 Subject: cancel running selection request When using X security extensions to run urxvt as trusted X client and requesting a selection from an untrusted client, then no X event will be received, but the selection request will timeout instead. This patch cancels any running request before creating a new one, so that the user doesn't have to wait 10 seconds for the timeout before being able to initiate a new one. --- src/rxvttoolkit.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rxvttoolkit.h') diff --git a/src/rxvttoolkit.h b/src/rxvttoolkit.h index 56c9a3f..429055d 100644 --- a/src/rxvttoolkit.h +++ b/src/rxvttoolkit.h @@ -384,6 +384,7 @@ struct rxvt_selection { rxvt_selection (rxvt_display *disp, int selnum, Time tm, Window win, Atom prop, rxvt_term *term); void run (); + void finish (char *data = 0, unsigned int len = 0); ~rxvt_selection (); rxvt_term *term; // terminal to paste to, may be 0 @@ -404,7 +405,6 @@ private: void timer_cb (ev::timer &w, int revents); ev::timer timer_ev; void x_cb (XEvent &xev); xevent_watcher x_ev; - void finish (char *data = 0, unsigned int len = 0); void stop (); bool request (Atom target, int selnum); void handle_selection (Window win, Atom prop, bool delete_prop); -- cgit v1.2.3