summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-07-12 14:39:45 +0000
committerGerd Moellmann <gerd@gnu.org>2001-07-12 14:39:45 +0000
commit1d2b2268355e41ec2de05d05bb15c9cd54c26b30 (patch)
tree676734b6352d7760ecdd63710609a0ec0a2b558d
parentd9c0d4a31a12b6c2944ebba1ae5552ef249c28d2 (diff)
downloademacs-1d2b2268355e41ec2de05d05bb15c9cd54c26b30.tar.gz
(XTread_socket) <PropertyNotify>: Put the code
ignoring events on foreign windows in #if 0. Always dispatch the event after checking it with x_handle_property_notify.
-rw-r--r--src/ChangeLog16
-rw-r--r--src/xterm.c13
2 files changed, 25 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6b4499c7954..599d997b2ef 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,19 @@
+2001-07-12 Gerd Moellmann <gerd@gnu.org>
+
+ * xselect.c (x_decline_selection_request): Handle errors
+ caused by receivers that have vanished.
+
+ * xterm.c (XTread_socket) <PropertyNotify>: Put the code
+ ignoring events on foreign windows in #if 0. Always dispatch
+ the event after checking it with x_handle_property_notify.
+
+ * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
+ depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
+ TRACE macros to facilitate debugging. Add additional trace
+ statements.
+ (toplevel): Add prototypes for file-local functions.
+ (x_atom_to_symbol): Remove DPYINFO parameter.
+
2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
* w32menu.c (menubar_selection_callback, w32_menu_show):
diff --git a/src/xterm.c b/src/xterm.c
index 5991d3e1223..7061d549607 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -9997,7 +9997,8 @@ XTread_socket (sd, bufp, numchars, expected)
&event);
else
{
- XSelectionRequestEvent *eventp = (XSelectionRequestEvent *) &event;
+ XSelectionRequestEvent *eventp
+ = (XSelectionRequestEvent *) &event;
if (numchars == 0)
abort ();
@@ -10019,12 +10020,16 @@ XTread_socket (sd, bufp, numchars, expected)
break;
case PropertyNotify:
-#ifdef USE_X_TOOLKIT
+#if 0 /* This is plain wrong. In the case that we are waiting for a
+ PropertyNotify used as an ACK in incremental selection
+ transfer, the property will be on the receiver's window. */
+#if defined USE_X_TOOLKIT
if (!x_any_window_to_frame (dpyinfo, event.xproperty.window))
goto OTHER;
-#endif /* not USE_X_TOOLKIT */
+#endif
+#endif
x_handle_property_notify (&event.xproperty);
- break;
+ goto OTHER;
case ReparentNotify:
f = x_top_window_to_frame (dpyinfo, event.xreparent.window);