[PATCH] ole32: ignore HighPart in the Seek method HGLOBAL streams. [try 2]
msclrhd at googlemail.com
Wed Feb 24 05:50:59 CST 2010
On 24 February 2010 11:41, Alexandre Julliard <julliard at winehq.org> wrote:
> Reece Dunn <msclrhd at googlemail.com> writes:
>> On 24 February 2010 11:06, Alexandre Julliard <julliard at winehq.org> wrote:
>>> It may be the simplest, but the right way is to add such a test and
>>> figure out the appropriate behavior.
>> Will do -- that was next on my things to do.
>> Do I need to do that first before this change, or after it?
> Before, since otherwise you are removing code that may still be needed.
I have run some tests on XP and Win7:
Seek 0xFFFFFFFF: hr=80030019, High=00000000, Low=00000000
Seek 0x80000000: hr=80030019, High=00000000, Low=00000000
Seek 0x7FFFFFFF: hr=00000000, High=00000000, Low=7fffffff
Seek 0x00000009: hr=00000000, High=00000000, Low=80000008
Seek 0x7FFFFFFF: hr=00000000, High=00000000, Low=00000007
So it looks like Windows:
1/ does not accept a LowPart that is greater than 0x7FFFFFFF;
2/ does not check for integer overflow.
I will clean these up and write them as proper tests for
ole32:hglobalstream and then fix the todo blocks to implement the
correct behaviour later on today.
More information about the wine-devel