forked from mirrors/org-mode
org-latex-preview: Guard against deleted buf/ov
* lisp/org-latex-preview.el (org-latex-preview--place-images): Since the image generation and placement is asynchronous, it is possible that in the meantime the target overlay or even buffer could be deleted. To avoid errors, we simple check that this is not the case before attempting to place preview images.
This commit is contained in:
parent
557275af54
commit
c20bf88205
|
@ -2153,21 +2153,21 @@ listed in EXTENDED-INFO will be used.
|
||||||
If this is an export run, images will only be cached, not placed."
|
If this is an export run, images will only be cached, not placed."
|
||||||
(let ((fragments (or fragments (plist-get extended-info :fragments))))
|
(let ((fragments (or fragments (plist-get extended-info :fragments))))
|
||||||
(if (plist-get extended-info :place-preview-p)
|
(if (plist-get extended-info :place-preview-p)
|
||||||
|
(when (buffer-live-p (plist-get extended-info :org-buffer))
|
||||||
(with-current-buffer (plist-get extended-info :org-buffer)
|
(with-current-buffer (plist-get extended-info :org-buffer)
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(cl-loop
|
(cl-loop
|
||||||
for fragment-info in fragments
|
for fragment-info in fragments
|
||||||
for image-file = (plist-get fragment-info :path)
|
for image-file = (plist-get fragment-info :path)
|
||||||
for ov = (plist-get fragment-info :overlay)
|
for ov = (plist-get fragment-info :overlay)
|
||||||
do (unless (overlay-buffer ov)
|
when (overlay-buffer ov)
|
||||||
(message "Offending overlay for fragment %S" fragment-info))
|
|
||||||
do (org-latex-preview--update-overlay
|
do (org-latex-preview--update-overlay
|
||||||
ov
|
ov
|
||||||
(org-latex-preview--cache-image
|
(org-latex-preview--cache-image
|
||||||
(plist-get fragment-info :key)
|
(plist-get fragment-info :key)
|
||||||
image-file
|
image-file
|
||||||
(org-latex-preview--display-info
|
(org-latex-preview--display-info
|
||||||
extended-info fragment-info))))))
|
extended-info fragment-info)))))))
|
||||||
(dolist (fragment-info fragments)
|
(dolist (fragment-info fragments)
|
||||||
(org-latex-preview--cache-image
|
(org-latex-preview--cache-image
|
||||||
(plist-get fragment-info :key)
|
(plist-get fragment-info :key)
|
||||||
|
|
Loading…
Reference in New Issue