From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.devel Subject: Re: Problem with image libraries on Windows (reprise) Date: Wed, 15 Jun 2005 12:34:50 +0200 Message-ID: References: Reply-To: Juanma Barranquero NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1118831918 15824 80.91.229.2 (15 Jun 2005 10:38:38 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 15 Jun 2005 10:38:38 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 15 12:38:36 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DiVGz-0003Ss-Pz for ged-emacs-devel@m.gmane.org; Wed, 15 Jun 2005 12:37:30 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DiVMB-0004Eo-FA for ged-emacs-devel@m.gmane.org; Wed, 15 Jun 2005 06:42:51 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DiVGt-00038g-8A for emacs-devel@gnu.org; Wed, 15 Jun 2005 06:37:23 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DiVGo-00036D-Vk for emacs-devel@gnu.org; Wed, 15 Jun 2005 06:37:19 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DiVGn-00035J-UO for emacs-devel@gnu.org; Wed, 15 Jun 2005 06:37:17 -0400 Original-Received: from [64.233.182.193] (helo=nproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DiVFu-0005Ig-VL for emacs-devel@gnu.org; Wed, 15 Jun 2005 06:36:23 -0400 Original-Received: by nproxy.gmail.com with SMTP id i2so161461nfe for ; Wed, 15 Jun 2005 03:34:50 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=RT+WefGh8GE7oSQQMuxxFDn0dJ0ZDgfoY48bkOOjOr9TP98KTz8D/qpLhXz9XmNbNKgTmd2xhCPwyWorQPZWjPCK12N8aiZVipdqmKD++/jfJTRsWSwdY+907fQq15JXLHyEpqQu4deQ3u0LFw6MN9KlvC5XWw6QkWrTDvLfLrk= Original-Received: by 10.48.240.16 with SMTP id n16mr116451nfh; Wed, 15 Jun 2005 03:34:50 -0700 (PDT) Original-Received: by 10.48.250.5 with HTTP; Wed, 15 Jun 2005 03:34:50 -0700 (PDT) Original-To: emacs-devel@gnu.org In-Reply-To: Content-Disposition: inline X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:38872 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:38872 The PNG patch: Index: src/ChangeLog =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/emacs/emacs/src/ChangeLog,v retrieving revision 1.4462 diff -u -2 -r1.4462 ChangeLog --- src/ChangeLog=0915 Jun 2005 02:30:03 -0000=091.4462 +++ src/ChangeLog=0915 Jun 2005 09:16:33 -0000 @@ -1,2 +1,9 @@ +2005-06-15 Juanma Barranquero + +=09* image.c (fn_png_init_io): Don't define it. +=09(init_png_functions) [HAVE_NTGUI]: Don't initialize fn_png_init_io. +=09(png_read_from_file): New function, based on png_read_from_memory. +=09(png_load): Use it, instead of fn_png_init_io. + 2005-06-15 YAMAMOTO Mitsuharu =20 Index: src/image.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/emacs/emacs/src/image.c,v retrieving revision 1.27 diff -u -2 -r1.27 image.c --- src/image.c=0911 Jun 2005 16:24:36 -0000=091.27 +++ src/image.c=0915 Jun 2005 09:16:25 -0000 @@ -5632,5 +5632,4 @@ DEF_IMGLIB_FN (png_destroy_read_struct); DEF_IMGLIB_FN (png_set_read_fn); -DEF_IMGLIB_FN (png_init_io); DEF_IMGLIB_FN (png_set_sig_bytes); DEF_IMGLIB_FN (png_read_info); @@ -5664,5 +5663,4 @@ LOAD_IMGLIB_FN (library, png_destroy_read_struct); LOAD_IMGLIB_FN (library, png_set_read_fn); - LOAD_IMGLIB_FN (library, png_init_io); LOAD_IMGLIB_FN (library, png_set_sig_bytes); LOAD_IMGLIB_FN (library, png_read_info); @@ -5690,5 +5688,4 @@ #define fn_png_destroy_read_struct=09png_destroy_read_struct #define fn_png_set_read_fn=09=09png_set_read_fn -#define fn_png_init_io=09=09=09png_init_io #define fn_png_set_sig_bytes=09=09png_set_sig_bytes #define fn_png_read_info=09=09png_read_info @@ -5763,4 +5760,21 @@ =20 =20 +/* Function set as reader function when reading PNG image from a file. + PNG_PTR is a pointer to the PNG control structure. Copy LENGTH + bytes from the input to DATA. */ + +static void +png_read_from_file (png_ptr, data, length) + png_structp png_ptr; + png_bytep data; + png_size_t length; +{ + FILE *fp =3D (FILE *) fn_png_get_io_ptr (png_ptr); + + if (fread (data, 1, length, fp) < length) + fn_png_error (png_ptr, "Read error"); +} + + /* Load PNG image IMG for use on frame F. Value is non-zero if successful. */ @@ -5896,5 +5910,5 @@ fn_png_set_read_fn (png_ptr, (void *) &tbr, png_read_from_memory); else - fn_png_init_io (png_ptr, fp); + fn_png_set_read_fn (png_ptr, (void *) fp, png_read_from_file); =20 fn_png_set_sig_bytes (png_ptr, sizeof sig);