aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorPo Lu2022-04-05 20:03:48 +0800
committerPo Lu2022-04-05 20:19:09 +0800
commit7d504c9acc0c8d75d11c3a2b5e016f39e6156bf8 (patch)
tree3207ff8a7d216c4908efcb360e6bc5d9a2b03e0e /src/alloc.c
parent91ca41e292184bf0c21b55a8e51f3eb1a8c89bb7 (diff)
downloademacs-7d504c9acc0c8d75d11c3a2b5e016f39e6156bf8.tar.gz
emacs-7d504c9acc0c8d75d11c3a2b5e016f39e6156bf8.zip
Mark some data during drag-and-drop
It doesn't make sense to prevent the return frame or movement frame from being deleted, but we should at least protect them from garbage collection. * src/alloc.c (garbage_collect): Call mark_xterm. * src/xterm.c (x_dnd_begin_drag_and_drop) (x_dnd_cleanup_drag_and_drop): Clear movement and return frames upon DND completion. (mark_xterm): Mark those frames. * src/xterm.h: Update prototypes.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 6d91ec33585..733f7733fa9 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6196,6 +6196,10 @@ garbage_collect (void)
6196 mark_fringe_data (); 6196 mark_fringe_data ();
6197#endif 6197#endif
6198 6198
6199#ifdef HAVE_X_WINDOWS
6200 mark_xterm ();
6201#endif
6202
6199 /* Everything is now marked, except for the data in font caches, 6203 /* Everything is now marked, except for the data in font caches,
6200 undo lists, and finalizers. The first two are compacted by 6204 undo lists, and finalizers. The first two are compacted by
6201 removing an items which aren't reachable otherwise. */ 6205 removing an items which aren't reachable otherwise. */