emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 4c31de2 11/33: Merge pull request #10 from manateelazycat/


From: Feng Shu
Subject: [elpa] master 4c31de2 11/33: Merge pull request #10 from manateelazycat/patch-1
Date: Fri, 14 Dec 2018 06:21:15 -0500 (EST)

branch: master
commit 4c31de20ff32669d38c3322f3c93f218a9b3d554
Merge: fe30ee8 272ca09
Author: tumashu <address@hidden>
Commit: GitHub <address@hidden>

    Merge pull request #10 from manateelazycat/patch-1
    
    Use posframe-hide-frame instead make-frame-invisible
---
 posframe.el | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/posframe.el b/posframe.el
index 5b06d0c..7a568e6 100644
--- a/posframe.el
+++ b/posframe.el
@@ -5,7 +5,7 @@
 ;; Author: Feng Shu <address@hidden>
 ;; Maintainer: Feng Shu <address@hidden>
 ;; URL: https://github.com/tumashu/posframe
-;; Version: 0.4.0
+;; Version: 0.4.1
 ;; Keywords: tooltip
 ;; Package-Requires: ((emacs "26"))
 
@@ -372,7 +372,7 @@ you can use `posframe-delete-all' to delete all posframes."
       (posframe--set-frame-position
        posframe
        (posframe-run-poshandler
-        `(;All poshandlers will get info from this plist.
+        `(             ;All poshandlers will get info from this plist.
           :position ,position
           :poshandler ,poshandler
           :font-height ,font-height
@@ -475,7 +475,12 @@ This need PARENT-FRAME-WIDTH and PARENT-FRAME-HEIGHT"
       (cancel-timer posframe--timeout-timer))
     (setq-local posframe--timeout-timer
                 (run-with-timer
-                 secs nil #'make-frame-invisible posframe))))
+                 secs nil #'posframe-hide-frame posframe))))
+
+(defun posframe-hide-frame (frame)
+  "This function used to instead `make-frame-invisible' to make hide frame 
safely."
+  (when (frame-live-p frame)
+    (make-frame-invisible frame)))
 
 (defun posframe--run-refresh-timer (posframe repeat
                                              height min-height
@@ -503,7 +508,7 @@ WIDTH and MIN-WIDTH."
     (let ((buffer-info (frame-parameter frame 'posframe-buffer)))
       (when (or (equal posframe-buffer (car buffer-info))
                 (equal posframe-buffer (cdr buffer-info)))
-        (make-frame-invisible frame)))))
+        (posframe-hide-frame frame)))))
 
 (defun posframe-delete (posframe-buffer)
   "Delete posframe which buffer POSFRAME-BUFFER."
@@ -537,7 +542,7 @@ This posframe's buffer is POSFRAME-BUFFER."
   (interactive)
   (dolist (frame (frame-list))
     (let ((buffer-info (frame-parameter frame 'posframe-buffer)))
-      (when buffer-info (make-frame-invisible frame)))))
+      (when buffer-info (posframe-hide-frame frame)))))
 
 ;;;###autoload
 (defun posframe-delete-all ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]