]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't mark selection request events
authorPo Lu <luangruo@yahoo.com>
Fri, 26 May 2023 00:43:18 +0000 (08:43 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 26 May 2023 00:43:18 +0000 (08:43 +0800)
* src/pgtkterm.c (mark_pgtkterm): Prevent crash by not marking
selection request events, which don't have Lisp_Object members.

src/pgtkterm.c

index c00e13550bd34dd3ec6be1ad1436bf2b852f7886..f4b05ef9903128ced2ff265537b8cb15aa3ad70f 100644 (file)
@@ -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);