Dmitry Timoshkov wrote:
It highlights the problem and that the translation should take place in the server. In earlier discussions last year this was an issue.
Again, do you have a test case for that as a proof?
When solving the winebrowser problem, I was fixing the existing translation code in dde_client.c. This broke the raw dde tests. At that point I had a close look the results deduced that the code needed to be moved but a substantial test case had to be developed to demonstrate the situation. I submitted the following dde.c tests: /* Test the combinations of A and W interfaces with A and W data end to end to ensure that data conversions are accurate */ sprintf(buffer, "%s dde enda", argv[0]); CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &startup, &proc);
test_end_to_end_server(proc.hProcess, proc.hThread, TRUE);
sprintf(buffer, "%s dde endw", argv[0]); CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &startup, &proc);
test_end_to_end_server(proc.hProcess, proc.hThread, FALSE);
sprintf(buffer, "%s dde enda", argv[0]); CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &startup, &proc);
test_end_to_end_server(proc.hProcess, proc.hThread, FALSE);
sprintf(buffer, "%s dde endw", argv[0]); CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &startup, &proc);
test_end_to_end_server(proc.hProcess, proc.hThread, TRUE);
These tests have todo's that are fixed by this patch we are discussing. The existing code dde_client is actually broken as it does not handle the todo's that are retired by this patch. I am not sure that I can demonstrate the problem without "fixing" the existing code to demonstrate that it breaks the raw dde tests. Do I have to go to this trouble to prove the case?
Have you tested winebrowser under Windows to see if that's the case?
I did not know that we could do that. I will have a look at it.
And again, a test replicating the problem is required in order to avoid a regression in future.
The tests I have previously had accepted actually demonstrate the problem and guard against regression.