- (cond
- (size
- #-gtk2.6(%pixbuf-new-from-file-at-size filename size size)
- #+gtk2.6(%pixbuf-new-from-file-at-scale filename size size preserve-aspect-ratio))
- ((and width height)
- #-gtk2.6(%pixbuf-new-from-file-at-size filename width height)
- #+gtk2.6(%pixbuf-new-from-file-at-scale filename width height preserve-aspect-ratio))
- ((or width height)
- (error "Both :width and :height must be specified"))
- ((%pixbuf-new-from-file filename))))
+ (multiple-value-bind (pixbuf gerror)
+ (cond
+ (size
+ #-gtk2.6(%pixbuf-new-from-file-at-size filename size size)
+ #+gtk2.6(%pixbuf-new-from-file-at-scale filename size size preserve-aspect-ratio))
+ ((and width height)
+ #-gtk2.6(%pixbuf-new-from-file-at-size filename width height)
+ #+gtk2.6(%pixbuf-new-from-file-at-scale filename width height preserve-aspect-ratio))
+ ((or width height)
+ (error "Both :width and :height must be specified"))
+ (t (%pixbuf-new-from-file filename)))
+ (if gerror
+ (signal-gerror gerror)
+ pixbuf)))