On 19/11/2022 15:37, Ilmari Lauhakangas wrote:
I asked Hossein how the new dev could continue debugging the issue and
he looked into it a bit:
"as I understand from the code, the checks does not happen when the DPI
is not 96, in which I think most of the today's displays are not.
embeddedobj/qa/cppunit/msole.cxx:98
CPPUNIT_TEST_FIXTURE(Test, testSaveOnThread)
{
// Given an embedded object which hosts mspaint data:
if (Application::GetDefaultDevice()->GetDPIX() != 96)
{
return;
}
.
.
.
}
I changed the code to bypass this condition, and then I saw the test
failing as I expected, as it is tailored to 96 dpi only. On my machine,
it failed with 0.0555in instead of 0.1665in.
I also wasn't faced with RPC_E_WRONG_THREAD value of `hr`, but it was
shown as `S_OK`, passing SUCCEEDED().
If anybody has an (explicitly, or implicitly via --enable-debug or
--enable-dbgutil) --enable-sal-log Windows build for which
CppunitTest_embeddedobj_msole succeeds and fully executes that above
testSaveOnThread because it is run with 96 DPI (so that that above "96
DPI" check succeeds): I would be interested in the resulting
workdir/CppunitTest/embeddedobj_msole.test.log