unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: rzl24ozi@gmail.com
To: Alexander Shukaev <haroogan@gmail.com>, Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] ImageMagick Support on Windows
Date: Wed, 15 Oct 2014 18:38:30 +0900	[thread overview]
Message-ID: <868ukhn04p.fsf@gmail.com> (raw)
In-Reply-To: <CAKu-7WxpFgDifhSaqO72q_01qkPVi9jJOXZz+G+00wDSSwFnng@mail.gmail.com> (Alexander Shukaev's message of "Wed, 15 Oct 2014 11:27:36 +0200")

I have created imagemagick support patch on Windows for pretest
24.3.94, and using it. I'm testing it by viewing BMP and other
supported image by imagemagick, and it seems to work well.

My patch is here.

https://gist.github.com/rzl24ozi/d588b40217b80e3dae65

I hope this patch help you.

Eli Zaretskii <eliz@gnu.org> writes:
> But these are still speculations.  Let's first determine (1) where and
> why does temacs crash, and (2) could only one of these DLLs be
> loaded, and cause an automatic loading of the other.

(1)
In my case, crashed at imagemagick-types in image.c.
imagemagick-register-types is called in image.el and finally
imagemagick-types in image.c is called, but at this time, imagemagick
functions are not initialized yet. then temacs crash.

I add init_imagemagick_functons to imagemagick-types.

And, for imagemagick-register-types to work well, there was a need to
load image.el after w32-win.el in loadup.el because
dynamic-library-alist is set in w32-win.el.

(2)
Yes, libMagickWand-XXX.dll depend on libMagickCore-XXX.dll and
libMagickCore-XXX.dll is automatically loaded when load
libMagickWand-XXX.dll.
But some functions used in image.c is in libMagickCore-XXX.dll.
To get these functions by GetProcAddress, need to load
libMagickCore-XXX.dll separately.

Although is not a smart way, I add two DLLs as below
to dynamic-library-alist and load each library separately.
(My imagemagick is built without --enable-hdri.)

'(magickwand "libMagickWand-6.Q16-2.dll")
'(magickcore "libMagickCore-6.Q16-2.dll")



  reply	other threads:[~2014-10-15  9:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.170157.1413191181.1146.emacs-diffs@gnu.org>
2014-10-13  9:29 ` [Emacs-diffs] ImageMagick Support on Windows Eli Zaretskii
2014-10-14 10:17   ` Alexander Shukaev
2014-10-14 12:16     ` Eli Zaretskii
2014-10-14 14:00       ` Alexander Shukaev
2014-10-14 15:15         ` Eli Zaretskii
2014-10-14 16:17           ` Alexander Shukaev
2014-10-14 18:32             ` Alexander Shukaev
2014-10-14 21:33               ` Alexander Shukaev
2014-10-15  5:49                 ` Eli Zaretskii
2014-10-15  9:27                   ` Alexander Shukaev
2014-10-15  9:38                     ` rzl24ozi [this message]
2014-10-15 10:35                       ` Eli Zaretskii
2014-10-15 12:02                         ` Alexander Shukaev
2014-10-15 12:36                           ` Eli Zaretskii
2014-10-15 10:30                     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=868ukhn04p.fsf@gmail.com \
    --to=rzl24ozi@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=haroogan@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).