Zhiyi Zhang zzhang@codeweavers.com wrote:
> Also, I found LVM_SETBKIMAGE is acting a bit weird on Windows. For example, > if a LVM_SETBKIMAGE message trying to set a bitmap > is sent the second time. The second message returns FALSE and the background > image gets reset to none(from LVM_GETBKIMAGE). I don't know if we should > implement such a behavior but I would be more comfortable with some tests. According to my testing LVM_SETBKIMAGE always returns 0.
If LVM_SETBKIMAGE for a bitmap succeeds, it does return TRUE.
Where do you see this? In my tests LVM_SETBKIMAGE always returns 0: https://testbot.winehq.org/JobDetails.pl?Key=116659
You're only testing with comctl32 v5. Please see https://testbot.winehq.org/JobDetails.pl?Key=116666&f204=exe32.report#k2...
Thanks. Do you think it's really necessary to change return value for the v6 case?
Yes, I think it's necessary. I don't think comctl32 v5 support LVM_SETBKIMAGE at all. The FALSE is probably from DefWindowProc().
I don't think that explains destroying the bitmap on the 2nd call. It looks like v5 really supports LVM_SETBKIMAGE, and the only difference in v6 is the return value.