https://bugs.winehq.org/show_bug.cgi?id=56506
Bug ID: 56506 Summary: strmbase TRACEs occasionally fail to print floats Product: Wine Version: 9.5 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: quartz Assignee: wine-bugs@winehq.org Reporter: blubban@gmail.com Distribution: ---
$ WINEDEBUG=trace+quartz ./wine dlls/quartz/tests/x86_64-windows/quartz_test.exe mpegvideo 2>&1 | grep NewSegment | head -n2 0024:trace:quartz:sink_NewSegment pin 00007FFFFF225C50 L"MPEG video decoder":L"Input", start 0.001, stop 0.002, rate e. 0024:trace:quartz:sink_NewSegment pin 00007FFFFE2FF8C0 L"sink":L"sink", start 0.001, stop 0.002, rate 1.0000000000000000e+000.
The strmbase copy in quartz_test.exe calls msvcrt printf and correctly prints 1.0000000000000000e+000.
The strmbase copy in winegstreamer.dll calls ntdll's printf, which does not support float operands and just prints 'e'.
I think that can be fixed by adding msvcrt as a dep of winegstreamer (without changing anything else), but I'm not sure, and I'm even less sure if that has any side effects.