[sylpheed:36310] Re: [ANNOUNCE] Sylpheed 3.4.3 released
Hiroyuki Yamamoto
hiro-y at kcn.ne.jp
Tue Jul 7 12:15:51 JST 2015
Hello,
On Mon, 06 Jul 2015 22:10:23 +0200
Gisle Vanem <gvanem at yahoo.no> wrote:
> Hiroyuki Yamamoto wrote:
>
> > All users are recommended to upgrade.
> >
> > * The bug that wrote the first part of data if the message body in
> > the IMAP4 responses didn't end with CR+LF was fixed (#84).
> > * The crash when displaying HTML messages was fixed (#215).
> > * Win32: the crash when linked with newer MSVCRT was fixed.
>
> Not quite it seems. Pressing the 'Help | Update check of plug-ins' menu,
> triggered this:
>
> ucrtbase!_invoke_watson+0x12
> ucrtbase!_invalid_parameter+0xb1
> ucrtbase!_invalid_parameter_noinfo+0xb
> ucrtbase!_read+0x116
> sylpheed!update_check_plugin_cb(void * pid = 0x0000022c, int status = 0n0, void * data = 0x00000001)+0x7e
> libglib_2_0_0!g_list_sort_with_data+0xca
>
> Since this new CRT calls 'read(child_stdout,..)' and 'child_stdout' is
> set in an older CRT (used by Glib). Hence Mr Watson is invoked.
Thanks for pointing it out.
update_check_cb() (Help - Update check) also seems to have the same problem.
(I have also noticed that fd_close() should not be used on Windows there)
> Is there no 'g_read()' that can be used instead?
In GLib, it seems that GIOChannel should be used.
The following code will probably work on both Unix/Linux and Windows.
GIOChannel *ch;
gchar *str;
gsize size;
ch = g_io_channel_unix_new(child_stdout);
g_io_channel_read_to_end(ch, &str, &size, NULL);
--
Hiroyuki Yamamoto <hiro-y at kcn.ne.jp>
More information about the Sylpheed
mailing list