From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#10112: ImageMagick doesn't display some image formats Date: Wed, 23 Nov 2011 00:01:07 +0200 Organization: JURTA Message-ID: <871usz3jh8.fsf@mail.jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1321999669 21366 80.91.229.12 (22 Nov 2011 22:07:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 22 Nov 2011 22:07:49 +0000 (UTC) To: 10112@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Nov 22 23:07:45 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RSyVF-0001cw-1N for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 Nov 2011 23:07:45 +0100 Original-Received: from localhost ([::1]:60117 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RSyVE-0003mK-HT for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 Nov 2011 17:07:44 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:45289) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RSyVC-0003m8-00 for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2011 17:07:43 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RSyVA-0005oh-Tw for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2011 17:07:41 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33291) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RSyVA-0005od-SI for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2011 17:07:40 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1RSyWU-0006R0-G7 for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2011 17:09:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 22 Nov 2011 22:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 10112 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.132199971424696 (code B ref -1); Tue, 22 Nov 2011 22:09:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 Nov 2011 22:08:34 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RSyW2-0006QH-KN for submit@debbugs.gnu.org; Tue, 22 Nov 2011 17:08:34 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RSyW1-0006QB-Gn for submit@debbugs.gnu.org; Tue, 22 Nov 2011 17:08:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RSyUg-0005iK-Fk for submit@debbugs.gnu.org; Tue, 22 Nov 2011 17:07:11 -0500 Original-Received: from lists.gnu.org ([140.186.70.17]:44428) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RSyUg-0005iG-E1 for submit@debbugs.gnu.org; Tue, 22 Nov 2011 17:07:10 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:45167) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RSyUf-0003hR-Ig for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2011 17:07:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RSyUe-0005hU-Hs for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2011 17:07:09 -0500 Original-Received: from smarty.dreamhost.com ([208.113.175.8]:48272) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RSyUe-0005gy-Aa for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2011 17:07:08 -0500 Original-Received: from ps18281.dreamhostps.com (ps18281.dreamhost.com [69.163.218.105]) by smarty.dreamhost.com (Postfix) with ESMTP id 575406E804F for ; Tue, 22 Nov 2011 14:07:06 -0800 (PST) Original-Received: from localhost (ps18281.dreamhostps.com [69.163.218.105]) by ps18281.dreamhostps.com (Postfix) with ESMTP id 2D4D9451C60B for ; Tue, 22 Nov 2011 14:07:00 -0800 (PST) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.91 (x86_64-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Tue, 22 Nov 2011 17:09:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:54183 Archived-At: Visiting images whose format is supported by ImageMagick displays a small empty box. Read-only formats like .dot have only read-functions, but not write-functions (the error being "no encode delegate for this image format"). `imagemagick_load_image' calls `MagickPingImage' to read image attributes. But since before this calls there is an other call to `MagickSetResolution', `MagickPingImage' assumes that we are going to modify the image, and returns the `MagickFalse' status. Removing `MagickSetResolution' cures this problem. but I hesitate to remove it, because I don't know why it's here. So at least moving `MagickSetResolution' a few lines below and calling after `MagickPingImage' will allow the read-only images to be correctly displayed: === modified file 'src/image.c' --- src/image.c 2011-11-21 22:14:28 +0000 +++ src/image.c 2011-11-22 22:01:00 +0000 @@ -7618,7 +7618,6 @@ imagemagick_load_image image = image_spec_value (img->spec, QCindex, NULL); ino = INTEGERP (image) ? XFASTINT (image) : 0; ping_wand = NewMagickWand (); - MagickSetResolution (ping_wand, 2, 2); if (filename != NULL) { status = MagickPingImage (ping_wand, filename); @@ -7628,6 +7627,8 @@ (at your option) any later version. status = MagickPingImageBlob (ping_wand, contents, size); } + MagickSetResolution (ping_wand, 2, 2); + if (! (0 <= ino && ino < MagickGetNumberImages (ping_wand))) { image_error ("Invalid image number `%s' in image `%s'",