Fix for fancy-splash image inconsistency

* lisp/startup.el (fancy-splash-image-file): New function,
split from fancy-splash-head.
(fancy-splash-head, use-fancy-splash-screens-p): Use it,
so that we are both using the same image.

Fixes: debbugs:16574
This commit is contained in:
Darren Hoo 2014-01-30 20:58:51 -05:00 committed by Glenn Morris
parent 4e2b87d871
commit 0a25002dc2
2 changed files with 26 additions and 20 deletions

View file

@ -1,3 +1,10 @@
2014-01-31 Darren Hoo <darren.hoo@gmail.com>
* startup.el (fancy-splash-image-file): New function,
split from fancy-splash-head.
(fancy-splash-head, use-fancy-splash-screens-p): Use it,
so that we are both using the same image. (Bug#16574)
2014-01-30 Glenn Morris <rgm@gnu.org>
* simple.el (eval-expression): Doc fix.

View file

@ -1590,24 +1590,26 @@ a face or button specification."
(declare-function image-size "image.c" (spec &optional pixels frame))
(defun fancy-splash-image-file ()
(cond ((stringp fancy-splash-image) fancy-splash-image)
((display-color-p)
(cond ((<= (display-planes) 8)
(if (image-type-available-p 'xpm)
"splash.xpm"
"splash.pbm"))
((or (image-type-available-p 'svg)
(image-type-available-p 'imagemagick))
"splash.svg")
((image-type-available-p 'png)
"splash.png")
((image-type-available-p 'xpm)
"splash.xpm")
(t "splash.pbm")))
(t "splash.pbm")))
(defun fancy-splash-head ()
"Insert the head part of the splash screen into the current buffer."
(let* ((image-file (cond ((stringp fancy-splash-image)
fancy-splash-image)
((display-color-p)
(cond ((<= (display-planes) 8)
(if (image-type-available-p 'xpm)
"splash.xpm"
"splash.pbm"))
((or (image-type-available-p 'svg)
(image-type-available-p 'imagemagick))
"splash.svg")
((image-type-available-p 'png)
"splash.png")
((image-type-available-p 'xpm)
"splash.xpm")
(t "splash.pbm")))
(t "splash.pbm")))
(let* ((image-file (fancy-splash-image-file))
(img (create-image image-file))
(image-width (and img (car (image-size img))))
(window-width (window-width)))
@ -1811,10 +1813,7 @@ we put it on this frame."
(image-type-available-p 'pbm)))
(let ((frame (fancy-splash-frame)))
(when frame
(let* ((img (create-image (or fancy-splash-image
(if (and (display-color-p)
(image-type-available-p 'xpm))
"splash.xpm" "splash.pbm"))))
(let* ((img (create-image (fancy-splash-image-file)))
(image-height (and img (cdr (image-size img nil frame))))
;; We test frame-height so that, if the frame is split
;; by displaying a warning, that doesn't cause the normal