On 04/25/14 14:18, Dmitry Timoshkov wrote:
Piotr Caban piotr.caban@gmail.com wrote:
On 04/25/14 13:34, Qian Hong wrote:
- atom = result;
- if(atom != result)
return E_FAIL;
I can't understand these few lines, are they typo or did I miss anything?
result and atom has different size. This code checks if LRESULT describes atom or error.
GlobalGetAtomNameW should handle this just fine, 'atom' is a misleading intermediate variable IMO.
No, it's not handling it.
Why? Are there any casts in the way that break this?
It can happen that cast from an error code is a valid atom.
In that case a simple test for HIWORD(result) would look less convoluted.
I've sent improved version of the patch (try3). I think it addresses this issue.
Thanks, Piotr