Dmitry Timoshkov <dmitry(a)baikal.ru> writes:
> Printing complete lsr value in the log may help with diagnosing
> test failures on Alexandre's machine.
I don't see how, since TIOCSER_TEMT is the only defined bit. Do you
actually have a driver that returns other status?
--
Alexandre Julliard
julliard(a)winehq.org
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://newtestbot.winehq.org/JobDetails.pl?Key=1932
Your paranoid android.
=== wxppro (32 bit comm) ===
comm.c:849: Test failed: WaitCommEvent failed with a timeout
comm.c:861: Test failed: WaitCommEvent error 997
comm.c:863: Test failed: WaitCommEvent: expected EV_TXEMPTY, got 0
comm.c:867: WaitCommEvent for EV_TXEMPTY took 1000 ms (timeout 1000)
comm.c:869: Test failed: WaitCommEvent used 1000 ms for waiting
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
Am 2013-08-30 10:19, schrieb Michael Müller:
> This patch implements the IDirect3DSwapChain9Ex interface as an
> extension of IDirect3DSwapChain9 and thus fixes bug 34252 -
> "Silverlight accelerated graphics cause a D3D critical section
> lockup" since Silverlight does no longer try to create a Direct3D
> context in an endless loop. The functions
> d3d9_swapchain_GetLastPresentCount and
> d3d9_swapchain_GetPresentStatistics are just stubs so far.
Good work on finding out what causes that bug!
> - if (IsEqualGUID(riid, &IID_IDirect3DSwapChain9) + if
> (IsEqualGUID(riid, &IID_IDirect3DSwapChain9) || IsEqualGUID(riid,
> &IID_IDirect3DSwapChain9Ex) || IsEqualGUID(riid, &IID_IUnknown))
For IDirect3D9Ex and IDirect3DDevice9Ex, the Ex versions are only
available if IDirect3D9 was created with the extended method. I
suspect swapchains are the same. Please write some tests for this.
> + TRACE("iface %p, pLastPresentCount %p.\n", iface,
pLastPresentCount);
> + WARN("not implemented.\n");
If a function is not implemented we write a FIXME, e.g.
FIXME("iface %p, pLastPresentCount %p, stub!\n", iface,
pLastPresentCount);
If this causes too much spam on the console, you can use a static
variable to print it just once.
> + if (SUCCEEDED(hr)) + { + if(pMode){
Please use a code style that is consistent with the rest of the file.
Tbh the existing files aren't as consistent as we'd like. The general
rule is a space between if and (, and { in newlines. 4 spaces intendation.
If there's a one-line statement in an if, put that statement in a new
line and don't write curly brackets. My personal opinion, and the
style I use, is to use brackets for both branches of an if-else if one
of those branches has more than one line.
> - * IDirect3DSwapChain9 interface + * IDirect3DSwapChain9(Ex)
> interface */ #define INTERFACE IDirect3DSwapChain9
> DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
You have to create a new interface declaration named
IDirect3DSwapChain9Ex with all the methods and the invocation macros.
The header change should go in a separate patch. The d3d9 code should
be changed to always use IDirect3D9Swapchain9Ex, like it does for
device and direct3d.
Thanks for your work!
Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJSIFimAAoJEN0/YqbEcdMwbW0P/jC/gsziWzCtxBH1gDETnX6+
j0csX5cORWKCaq/wsPbT9ZDVV/OYFYlWRB0QZiJIUWAp4PzdGXCxQN8srdybT1hp
PG3HTDzv4Kmq57fYSXEoLnZNO/pgfr4JiGmhcwQSyheJ1+lcb5Z/GE09goHwcLce
CJVrIQu9f05TQb+r0BJCxIyGAIuq8to7xdIJ1tPR2MmKwYzS0XWkB1yN8QIGy/Qm
z4aH7JGsOJ37t/90D4eHVBX6EtiI6pRHHiaO3hFrgYiu7wf/CeiE3E9QWnwycG1h
DdPWjreQx+6/JQfg71eXDW81WYgdRl7TfMfBOc8UFh7Byj9b4llR0E+NFSkQ81NL
XAQkB/PthmEpJIH1tSo91aNrZkfN/jw7D1gA4kUHFEtr5n1yuUXQQvKLYEOMWrV0
lV1plnzzLEZa50c0Y3/zCgQFCbzgo47ohO/4msMHOU33n255oJg/Bd6CLoA1oPFq
hxQkkv0bW5VL6Jn0WVAC1FPjfmRF6zD6h9n8KKPWU2rz/tmkoEhoJ0Nd2a483N86
6EvOTpecczmNBlICFvyUOVAisHnVdwk+cPI+6hoqHBq0C7fGXi7R41pDOvf4o1yH
wZyMH4e+kiG+7qaeGRwsTEDW1V77VAbPXJkNZPU2Wvb/gVzLU1TVQ87Bz5T83tpv
tFvZjJrjOYO4qL4Afm14
=zjgo
-----END PGP SIGNATURE-----
Dmitry Timoshkov <dmitry(a)baikal.ru> wrote:
> Printing complete lsr value in the log may help with diagnosing
> test failures on Alexandre's machine.
This patch is marked as 'Build failure' in the tracker, but I've checked it
once again and compiles just fine here. What kind of build failure is that?
--
Dmitry.
On Aug 29, 2013, at 8:15 AM, matyapiro31 wrote:
>
> <0001-kernel32-change-for-loop-to-optimize.patch><0002-kernel32-change-for-loop-to-optimize.patch>
One patch per email, please. Also, the subject should be more descriptive.
The first one doesn't look much better than the second one (which was already rejected). sizeof(array)/sizeof(array[0]) is a constant expression; any optimizing compiler worth its salt will optimize that for you. (And I would know, because I work on LLVM and Clang.)
The first part of that patch (against dlls/kernel32/console.c) might be a bit more promising, though, since it hoists a computation that isn't constant at compile time but is constant for the duration of the loop; but again, any good optimizing compiler would be smart enough to do that, too. Oh, and you forgot to actually declare the variables that hold the hoisted values. Those assignments don't count, because:
a) You never gave them a type. That's an error in any C compiler (C89, C99, etc.) I'm not even sure a K&R compiler would take that.
b) Wine is written in C89 (with some GNU extensions scattered throughout, but generally we try to write portable code around here); that means (among other things) all variable declarations must come before other statements.
Did you even try to compile Wine with these patches?
Chip
On 29 August 2013 11:14, Stefan Dösinger <stefan(a)codeweavers.com> wrote:
> +BOOL activateapp_received;
> +IDirectDraw *activateapp_ddraw;
> +HWND activateapp_window;
> +DWORD activateapp_coop_level;
> +
I think those should be static, and you'll probably want to put them
in a structure.
From
if ( isalnumW ( wc ) ) return wc;
for ( i = 0; i < 17; i++ )
To
if ( isalnumW ( wc ) ) return wc;
for ( i = 0; i < 16; i++ )
and the original version was wrong,too.
It counts the NULL of the end.