summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-05-26 08:43:18 +0800
committerPo Lu <luangruo@yahoo.com>2023-05-26 08:43:18 +0800
commit42052686752e399e778d33401dd621afbac0071d (patch)
treeb63252b1f547935a2865400b749c2416144979a1 /src
parent9f5249d5c8d193fc59d09b9003d26d1ed0884f2c (diff)
downloademacs-42052686752e399e778d33401dd621afbac0071d.tar.gz
emacs-42052686752e399e778d33401dd621afbac0071d.tar.bz2
emacs-42052686752e399e778d33401dd621afbac0071d.zip
Don't mark selection request events
* src/pgtkterm.c (mark_pgtkterm): Prevent crash by not marking selection request events, which don't have Lisp_Object members.
Diffstat (limited to 'src')
-rw-r--r--src/pgtkterm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index c00e13550bd..f4b05ef9903 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -376,6 +376,13 @@ mark_pgtkterm (void)
for (i = 0; i < n; i++)
{
union buffered_input_event *ev = &evq->q[i];
+
+ /* Selection requests don't have Lisp object members. */
+
+ if (ev->ie.kind == SELECTION_REQUEST_EVENT
+ || ev->ie.kind == SELECTION_CLEAR_EVENT)
+ continue;
+
mark_object (ev->ie.x);
mark_object (ev->ie.y);
mark_object (ev->ie.frame_or_window);