user32: DdeClientTransaction should return 0 in the last param forDDE_DATA

Jeff Latimer lats at yless4u.com.au
Thu Aug 7 06:22:15 CDT 2008


Dmitry Timoshkov wrote:
> "Jeff Latimer" <lats at yless4u.com.au> wrote:
>
>>
>> + if (ack) *ack = ERROR_SUCCESS;
>>
>>  
>>     ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret);
>> -    todo_wine
>> -    {
>> -        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got 
>> %08x\n", res);
>> -    }
>> +    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %08x\n", 
>> res);
>
> DdeClientTransaction is not supposed to return ERROR_SUCCESS in res. 
> DDE_FNOTPROCESSED
> looks like a more appropriate value. Same for DdeGetLastError, 
> DMLERR_NO_ERROR seems
> more reasonable in this case.
Thanks, DMLERR_NO_ERROR looks better.

MSDN does not show DdeCientTransaction as returning in res 
DDE_FNOTPROCESSED.  Is this the standard test to see if it is zero?  
Otherwise an actual test for 0 would be just as good.
>
> Also IMO a more appropriate place to set ack to DDE_FNOTPROCESSED is 
> WDML_HandleReply,
> so that all types of replies get covered.
I thought this as well when I was hunting for a place for setting ack.  
It seems that handle routines all do something different.  Some don't 
set the ack/res and this causes tests to fail (ie. deadbeef passes 
through some of them).  I opted to place the setting of ack in the 
routine that applies to this test.

Jeff




More information about the wine-devel mailing list