Re: Windows MAGICK_CONFIGURE_PATH options

10bxjfhf <[email protected]> Fri, 6 Mar 2020 11:26:47 -0800
Newsgroups gmane.comp.video.graphicsmagick.apis
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============3929966282933761230==
Content-Type: multipart/alternative;
 boundary="------------8F9D26496FB8D09C7B4F0095"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------8F9D26496FB8D09C7B4F0095
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2020-03-06 8:56 a.m., Bob Friesenhahn wrote:
> On Fri, 6 Mar 2020, 10bxjfhf wrote:
>>
>> Unfortunately that does not work, unless I can reset the data set 
>> when the system loads the app and initializes the DLL from a user call.
>
> As a reminder (from previous email), the DLL initialization which is 
> causing problems for you can be disabled by editing 
> magick/magick_config.h to undefine ProvideDllMain:
>
> /////////////
> //
> // ProvideDllMain
> //
> // When building GraphicsMagick using DLLs, include a DllMain()
> // function which automatically invokes InitializeMagick(NULL), and
> // DestroyMagick() so that the user doesn't need to.  Note that
> // repeated calls to InitializeMagick() are ignored so if a path must
> // be passed to InitializeMagick(), then disable this setting.
> #define ProvideDllMain
>
> Bob

For my current test I have undefined ProvideDllMain - just commented out 
that line - recompiled, moved the debug DLLs to where the debug version 
starts and I cannot get the app off the ground because, whatever the OS 
& compiler provided for the DLL, it does not initialize the magick code 
and the first thing it does is to bomb at

MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
{
   assert(semaphore_info != (SemaphoreInfo *) NULL); <<<<<<<<<

So my choices seem to be:

 1. live with it
 2. hack the DLL initialization and supply my own
 3. or hack the rest of the magick code

of those 1 is not attractive at all and, if I am going to hack, I might 
as well work on what seems the least work and keeps as much of the 
original code untouched

Arnold



--------------8F9D26496FB8D09C7B4F0095
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 2020-03-06 8:56 a.m., Bob
      Friesenhahn wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]">On
      Fri, 6 Mar 2020, 10bxjfhf wrote: <br>
      <blockquote type="cite"> <br>
        Unfortunately that does not work, unless I can reset the data
        set when the system loads the app and initializes the DLL from a
        user call. <br>
      </blockquote>
      <br>
      As a reminder (from previous email), the DLL initialization which
      is causing problems for you can be disabled by editing
      magick/magick_config.h to undefine ProvideDllMain: <br>
      <br>
      ///////////// <br>
      // <br>
      // ProvideDllMain <br>
      // <br>
      // When building GraphicsMagick using DLLs, include a DllMain() <br>
      // function which automatically invokes InitializeMagick(NULL),
      and <br>
      // DestroyMagick() so that the user doesn't need to.  Note that <br>
      // repeated calls to InitializeMagick() are ignored so if a path
      must <br>
      // be passed to InitializeMagick(), then disable this setting. <br>
      #define ProvideDllMain <br>
      <br>
      Bob <br>
    </blockquote>
    <p>For my current test I have undefined ProvideDllMain - just
      commented out that line - recompiled, moved the debug DLLs to
      where the debug version starts and I cannot get the app off the
      ground because, whatever the OS &amp; compiler provided for the
      DLL, it does not initialize the magick code and the first thing it
      does is to bomb at</p>
    <pre>MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
{
  assert(semaphore_info != (SemaphoreInfo *) NULL); &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;</pre>
    <p>So my choices seem to be:</p>
    <ol>
      <li>live with it<br>
      </li>
      <li>hack the DLL initialization and supply my own <br>
      </li>
      <li>or hack the rest of the magick code</li>
    </ol>
    <p>of those 1 is not attractive at all and, if I am going to hack, I
      might as well work on what seems the least work and keeps as much
      of the original code untouched <br>
    </p>
    <p>Arnold<br>
    </p>
    <p><br>
    </p>
  </body>
</html>

--------------8F9D26496FB8D09C7B4F0095--


--===============3929966282933761230==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============3929966282933761230==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Graphicsmagick-apis mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/graphicsmagick-apis

--===============3929966282933761230==--