GetMessage related Jagged Alliance 2 regression
Alexander Dorofeyev
alexd4 at inbox.lv
Sun Dec 9 20:20:15 CST 2007
Hello.
Is there a reason this fix you sent didn't make it to git yet? I think I
accidentally replied to author only when previously answering, so in case it was
something unexpected and got lost somehow I'm resending to wine-devel too.
The patch works fine for me, I've played JA2 with this patch applied for a
substantial time, no problems noticed. Sorry for the noise, if you've already
seen it.
Alexandre Julliard wrote:
> Alexander Dorofeyev <alexd4 at inbox.lv> writes:
>
>> I'm not sure what would be a proper fix, although I did find out that commenting
>> out this line in peek_message()
>>
>> if (HIWORD(flags)) flags = PM_QS_SENDMESSAGE | LOWORD(flags);
>>
>> makes the game playable. Maybe this clearing of PM_QS_* flags shouldn't be done
>> in case when the message gets dropped? Before that commit nothing was passed in
>> flags high word, which is probably why this problem wasn't happening.
>
> Does this help?
>
> diff --git a/dlls/user32/message.c b/dlls/user32/message.c
> index 53d1c1d..d3f4a3a 100644
> --- a/dlls/user32/message.c
> +++ b/dlls/user32/message.c
> @@ -2173,11 +2173,11 @@ static BOOL peek_message( MSG *msg, HWND hwnd, UINT first, UINT last, UINT flags
> WMCHAR_MAP_RECVMESSAGE );
> reply_message( &info, result, TRUE );
> thread_info->receive_info = old_info;
> - next:
> - HeapFree( GetProcessHeap(), 0, buffer );
>
> /* if some PM_QS* flags were specified, only handle sent messages from now on */
> if (HIWORD(flags)) flags = PM_QS_SENDMESSAGE | LOWORD(flags);
> + next:
> + HeapFree( GetProcessHeap(), 0, buffer );
> }
> }
>
>
More information about the wine-devel
mailing list