Daniel Jelinski djelinski1@gmail.com wrote:
Fixes bug 9512 and bug 8914, tested with Delphi and DVD Profiler. Still not perfect - according to MSDN the function should never return a window belonging to another thread.
This kind of change requires a test case, and I suspect it's plain wrong.
Hello, Check out the description of HTTRANSPARENT on [1]. If MSDN is right here, then the code after applying my patch is still not correct, but at least closer to correct than it is now. As for a test case, do you prefer a minimalistic test case with one test that would be todo_wine without this patch and ok without it, or a massive test involving several overlapping windows belonging to different threads?
Daniel
[1] http://msdn.microsoft.com/en-us/library/windows/desktop/ms645618%28v=vs.85%2...
2012/7/21 Dmitry Timoshkov dmitry@baikal.ru:
Daniel Jelinski djelinski1@gmail.com wrote:
Fixes bug 9512 and bug 8914, tested with Delphi and DVD Profiler. Still not perfect - according to MSDN the function should never return a window belonging to another thread.
This kind of change requires a test case, and I suspect it's plain wrong.
-- Dmitry.
Daniel Jelinski djelinski1@gmail.com wrote:
As for a test case, do you prefer a minimalistic test case with one test that would be todo_wine without this patch and ok without it, or a massive test involving several overlapping windows belonging to different threads?
There are some existing test for RealChildWindowFrompoint, if you could add new tests there that would be great.
Daniel Jelinski djelinski1@gmail.com writes:
Hello, Check out the description of HTTRANSPARENT on [1]. If MSDN is right here, then the code after applying my patch is still not correct, but at least closer to correct than it is now. As for a test case, do you prefer a minimalistic test case with one test that would be todo_wine without this patch and ok without it, or a massive test involving several overlapping windows belonging to different threads?
This can't be fixed properly under X11, which is why the bug is marked WONTFIX. Test cases won't help.
Hello, When you say that this can't be fixed, do you mean that we can't properly route a mouse event if the window is transparent and it covers a window from another process? Well I'm not sure if Windows does that either. However, we don't need any X11 support to forward the message to another window on the same thread, and the applications in question need only that.
If we can make these applications work, why don't we?
Daniel
2012/7/23, Alexandre Julliard julliard@winehq.org:
Daniel Jelinski djelinski1@gmail.com writes:
Hello, Check out the description of HTTRANSPARENT on [1]. If MSDN is right here, then the code after applying my patch is still not correct, but at least closer to correct than it is now. As for a test case, do you prefer a minimalistic test case with one test that would be todo_wine without this patch and ok without it, or a massive test involving several overlapping windows belonging to different threads?
This can't be fixed properly under X11, which is why the bug is marked WONTFIX. Test cases won't help.
-- Alexandre Julliard julliard@winehq.org
Daniel Jelinski djelinski1@gmail.com writes:
Hello, When you say that this can't be fixed, do you mean that we can't properly route a mouse event if the window is transparent and it covers a window from another process? Well I'm not sure if Windows does that either. However, we don't need any X11 support to forward the message to another window on the same thread, and the applications in question need only that.
If we can make these applications work, why don't we?
You can't assume that the other Wine window is directly underneath the transparent one, there may be some other X windows in between that should receive the click instead.
2012/7/23, Alexandre Julliard julliard@winehq.org:
You can't assume that the other Wine window is directly underneath the transparent one, there may be some other X windows in between that should receive the click instead.
I just determined that in such cases Windows (at least 2008) silently eats the event - no windows get any click events. I can send the application (VS, C++) I used for testing.
Should I update the patch to reflect that?
Daniel
Daniel Jelinski djelinski1@gmail.com writes:
2012/7/23, Alexandre Julliard julliard@winehq.org:
You can't assume that the other Wine window is directly underneath the transparent one, there may be some other X windows in between that should receive the click instead.
I just determined that in such cases Windows (at least 2008) silently eats the event - no windows get any click events. I can send the application (VS, C++) I used for testing.
Should I update the patch to reflect that?
Sure, and please add a test case too.
2012/7/23 Alexandre Julliard julliard@winehq.org:
Daniel Jelinski djelinski1@gmail.com writes:
2012/7/23, Alexandre Julliard julliard@winehq.org:
You can't assume that the other Wine window is directly underneath the transparent one, there may be some other X windows in between that should receive the click instead.
I just determined that in such cases Windows (at least 2008) silently eats the event - no windows get any click events. I can send the application (VS, C++) I used for testing.
Should I update the patch to reflect that?
Sure, and please add a test case too.
I just noticed that my patch for HTTRANSPARENT was rejected again. Were the tests not convincing enough? Regards, Daniel
Daniel Jelinski djelinski1@gmail.com writes:
2012/7/23 Alexandre Julliard julliard@winehq.org:
Daniel Jelinski djelinski1@gmail.com writes:
2012/7/23, Alexandre Julliard julliard@winehq.org:
You can't assume that the other Wine window is directly underneath the transparent one, there may be some other X windows in between that should receive the click instead.
I just determined that in such cases Windows (at least 2008) silently eats the event - no windows get any click events. I can send the application (VS, C++) I used for testing.
Should I update the patch to reflect that?
Sure, and please add a test case too.
I just noticed that my patch for HTTRANSPARENT was rejected again. Were the tests not convincing enough?
It's still wrong if the windows belong to the same thread.