Dmitry Timoshkov dmitry@baikal.ru wrote:
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.
Is there anything else that should be addressed in this patch?