From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Andy Moreton Newsgroups: gmane.emacs.bugs Subject: bug#35548: image.c uses deprecated rsvg_handle_write etc. Date: Thu, 11 Jul 2019 13:52:58 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="81936"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2.90 (windows-nt) To: 35548@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jul 11 14:54:13 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hlYaS-000LDy-H3 for geb-bug-gnu-emacs@m.gmane.org; Thu, 11 Jul 2019 14:54:12 +0200 Original-Received: from localhost ([::1]:41444 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlYaR-0004qo-Hy for geb-bug-gnu-emacs@m.gmane.org; Thu, 11 Jul 2019 08:54:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59860) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlYaJ-0004dq-M6 for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 08:54:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hlYaI-00088b-Ki for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 08:54:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56540) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hlYaI-00088O-H3 for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 08:54:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hlYaI-0003lz-DI for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 08:54:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Andy Moreton Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 11 Jul 2019 12:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35548 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.156284959614445 (code B ref -1); Thu, 11 Jul 2019 12:54:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 11 Jul 2019 12:53:16 +0000 Original-Received: from localhost ([127.0.0.1]:37128 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hlYZX-0003kv-Q7 for submit@debbugs.gnu.org; Thu, 11 Jul 2019 08:53:16 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:50524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hlYZW-0003km-1y for submit@debbugs.gnu.org; Thu, 11 Jul 2019 08:53:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59557) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlYZU-0003WQ-Rp for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 08:53:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hlYZT-0007FR-P8 for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 08:53:12 -0400 Original-Received: from 195-159-176-226.customer.powertech.no ([195.159.176.226]:59118 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hlYZS-0007Dd-GH for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 08:53:10 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hlYZN-000JhX-7a for bug-gnu-emacs@gnu.org; Thu, 11 Jul 2019 14:53:05 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:pUd3q0Q2zWvss/UDRFGR3jf9FH8= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.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" Xref: news.gmane.org gmane.emacs.bugs:162687 Archived-At: On Thu 11 Jul 2019, Andy Moreton wrote: > On Wed 10 Jul 2019, Paul Eggert wrote: > >> Thanks, I attempted to port that patch to MS-Windows, installed the attached, >> and am marking this bug as done. > > This patch breaks SVG support on 64bit MSYS2 Windows builds, using > librsvg 2.44.14. The problem is that some of the dynamically loaded functionas are actually in gio, not glib. Please install the following patch to fix it. diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el index 044b82ed1e..2e45d8623b 100644 --- a/lisp/term/w32-win.el +++ b/lisp/term/w32-win.el @@ -278,6 +278,7 @@ libgnutls-version '(gif "libgif-5.dll" "giflib4.dll" "libungif4.dll" "libungif.dll"))) '(svg "librsvg-2-2.dll") '(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll") + '(gio "libgio-2.0-0.dll") '(glib "libglib-2.0-0.dll") '(gobject "libgobject-2.0-0.dll") (if (>= libgnutls-version 30400) diff --git a/src/image.c b/src/image.c index 3695342232..8ffb08b147 100644 --- a/src/image.c +++ b/src/image.c @@ -9336,22 +9336,23 @@ DEF_DLL_FN (void, g_clear_error, (GError **)); static bool init_svg_functions (void) { - HMODULE library, gdklib = NULL, glib = NULL, gobject = NULL; + HMODULE library, gdklib = NULL, gio = NULL, glib = NULL, gobject = NULL; - if (!(glib = w32_delayed_load (Qglib)) + if (!(gio = w32_delayed_load (Qgio)) + || !(glib = w32_delayed_load (Qglib)) || !(gobject = w32_delayed_load (Qgobject)) || !(gdklib = w32_delayed_load (Qgdk_pixbuf)) || !(library = w32_delayed_load (Qsvg))) { if (gdklib) FreeLibrary (gdklib); if (gobject) FreeLibrary (gobject); if (glib) FreeLibrary (glib); + if (gio) FreeLibrary (gio); return 0; } #if LIBRSVG_CHECK_VERSION (2, 32, 0) - LOAD_DLL_FN (glib, g_file_new_for_path); - LOAD_DLL_FN (glib, g_memory_input_stream_new_from_data); + LOAD_DLL_FN (gio, g_file_new_for_path); + LOAD_DLL_FN (gio, g_memory_input_stream_new_from_data); LOAD_DLL_FN (library, rsvg_handle_new_from_stream_sync); #else LOAD_DLL_FN (library, rsvg_handle_new); @@ -10228,6 +10229,7 @@ syms_of_image (void) #ifdef HAVE_NTGUI /* Other libraries used directly by svg code. */ DEFSYM (Qgdk_pixbuf, "gdk-pixbuf"); + DEFSYM (Qgio, "gio"); DEFSYM (Qglib, "glib"); DEFSYM (Qgobject, "gobject"); #endif /* HAVE_NTGUI */