diff options
author | Po Lu <luangruo@yahoo.com> | 2023-05-26 08:43:18 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2023-05-26 08:43:18 +0800 |
commit | 42052686752e399e778d33401dd621afbac0071d (patch) | |
tree | b63252b1f547935a2865400b749c2416144979a1 /src | |
parent | 9f5249d5c8d193fc59d09b9003d26d1ed0884f2c (diff) | |
download | emacs-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.c | 7 |
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); |