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)
|
||||||
(with-current-buffer (plist-get extended-info :org-buffer)
|
(when (buffer-live-p (plist-get extended-info :org-buffer))
|
||||||
(save-excursion
|
(with-current-buffer (plist-get extended-info :org-buffer)
|
||||||
(cl-loop
|
(save-excursion
|
||||||
for fragment-info in fragments
|
(cl-loop
|
||||||
for image-file = (plist-get fragment-info :path)
|
for fragment-info in fragments
|
||||||
for ov = (plist-get fragment-info :overlay)
|
for image-file = (plist-get fragment-info :path)
|
||||||
do (unless (overlay-buffer ov)
|
for ov = (plist-get fragment-info :overlay)
|
||||||
(message "Offending overlay for fragment %S" fragment-info))
|
when (overlay-buffer ov)
|
||||||
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