[PATCH 1/2] comctl32/tests: test toolbar separator with uninitialized iString

Giuseppe Bilotta giuseppe.bilotta at gmail.com
Thu Apr 23 08:37:27 CDT 2009

2009/4/23 Mikołaj Zalewski <mikolaj at zalewski.pl>:
>  Hi,
>  I think it would be interesting to test what TB_GETBUTTONINFO returns as
> iString for such a separator. That way we will know if the value is simply
> ignored, or it's something more complicated.

Forget what I said in my previous email. I was running the
GETBUTTONINFO the wrong way. I'm now using
    r = SendMessage(hToolbar, TB_GETBUTTONTEXT, 0, (LPARAM)NULL);
to get the button text length (not caring about the button text
itself). I found a number of things.

(1) WINE always returns -1 in this case, which is wrong. I'll provide
a patch for this
(2) All versions of windows totally ignore the iString field for
separators: valid or invalid, the resulting button text is always
empty (-1 length).

The behaviour of an invalid iString pointer for buttons seems to be
undefined instead, crashes on some versions on button insertion, in
some other on GETBUTTONTEXT, in other cases not at all.

Giuseppe "Oblomov" Bilotta

More information about the wine-devel mailing list