summaryrefslogtreecommitdiffstats
path: root/client/x11
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2010-10-04 14:06:05 +0200
committerHans de Goede <hdegoede@redhat.com>2010-10-04 14:41:23 +0200
commitb74f21ce66ff9d41d16a7d344a4f795aa2dd4297 (patch)
treef6c4f22d288c79bdb693a9f4edd402cddda73f40 /client/x11
parentca3d29029455cbb3441a5a7715f43638f3d54d1c (diff)
downloadspice-b74f21ce66ff9d41d16a7d344a4f795aa2dd4297.tar.gz
spice-b74f21ce66ff9d41d16a7d344a4f795aa2dd4297.tar.xz
spice-b74f21ce66ff9d41d16a7d344a4f795aa2dd4297.zip
spicec-x11: protect against recursive incr properties
Diffstat (limited to 'client/x11')
-rw-r--r--client/x11/platform.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp
index c6b2d7de..c1c2a5a3 100644
--- a/client/x11/platform.cpp
+++ b/client/x11/platform.cpp
@@ -2373,6 +2373,10 @@ static int get_selection(XEvent &event, Atom type, Atom prop, int format,
if (!incr) {
if (type_ret == incr_atom) {
+ if (waiting_for_property_notify) {
+ LOG_WARN("received an incr property notify while still reading another incr property");
+ goto exit;
+ }
XSelectInput(x_display, platform_win, PropertyChangeMask);
XDeleteProperty(x_display, platform_win, prop);
XFlush(x_display);