Dmitry Timoshkov dmitry@baikal.ru wrote:
ExtTextOutW calls GetTextExtentExPointI for the (char_extra || dc->breakExtra) case, and one of its helpers unconditionally calls dc->GetGlyphIndices and dc->GetTextExtentExPointI which crashes for a wineps.drv device.
These 2 patches make ExtTextOutW work in this case.
What is the reason that these patches are marked as pending?
Dmitry Timoshkov dmitry@baikal.ru writes:
Dmitry Timoshkov dmitry@baikal.ru wrote:
ExtTextOutW calls GetTextExtentExPointI for the (char_extra || dc->breakExtra) case, and one of its helpers unconditionally calls dc->GetGlyphIndices and dc->GetTextExtentExPointI which crashes for a wineps.drv device.
These 2 patches make ExtTextOutW work in this case.
What is the reason that these patches are marked as pending?
They shouldn't be needed. f496a5a0e6 probably addresses the issue.
Alexandre Julliard julliard@winehq.org wrote:
ExtTextOutW calls GetTextExtentExPointI for the (char_extra || dc->breakExtra) case, and one of its helpers unconditionally calls dc->GetGlyphIndices and dc->GetTextExtentExPointI which crashes for a wineps.drv device.
These 2 patches make ExtTextOutW work in this case.
What is the reason that these patches are marked as pending?
They shouldn't be needed. f496a5a0e6 probably addresses the issue.
Yes, it does for that particular case, thanks. But direct calls to those APIs will still cause the same problem.
Dmitry Timoshkov dmitry@baikal.ru writes:
Alexandre Julliard julliard@winehq.org wrote:
ExtTextOutW calls GetTextExtentExPointI for the (char_extra || dc->breakExtra) case, and one of its helpers unconditionally calls dc->GetGlyphIndices and dc->GetTextExtentExPointI which crashes for a wineps.drv device.
These 2 patches make ExtTextOutW work in this case.
What is the reason that these patches are marked as pending?
They shouldn't be needed. f496a5a0e6 probably addresses the issue.
Yes, it does for that particular case, thanks. But direct calls to those APIs will still cause the same problem.
I don't see how. Do you have a test case?
Alexandre Julliard julliard@winehq.org wrote:
ExtTextOutW calls GetTextExtentExPointI for the (char_extra || dc->breakExtra) case, and one of its helpers unconditionally calls dc->GetGlyphIndices and dc->GetTextExtentExPointI which crashes for a wineps.drv device.
These 2 patches make ExtTextOutW work in this case.
What is the reason that these patches are marked as pending?
They shouldn't be needed. f496a5a0e6 probably addresses the issue.
Yes, it does for that particular case, thanks. But direct calls to those APIs will still cause the same problem.
I don't see how. Do you have a test case?
No, my use case is different. But looking at the code at least GetGlyphIndices() calls the driver wihout checking whether it exports that entry point.
Dmitry Timoshkov dmitry@baikal.ru writes:
Alexandre Julliard julliard@winehq.org wrote:
ExtTextOutW calls GetTextExtentExPointI for the (char_extra || dc->breakExtra) case, and one of its helpers unconditionally calls dc->GetGlyphIndices and dc->GetTextExtentExPointI which crashes for a wineps.drv device.
These 2 patches make ExtTextOutW work in this case.
What is the reason that these patches are marked as pending?
They shouldn't be needed. f496a5a0e6 probably addresses the issue.
Yes, it does for that particular case, thanks. But direct calls to those APIs will still cause the same problem.
I don't see how. Do you have a test case?
No, my use case is different. But looking at the code at least GetGlyphIndices() calls the driver wihout checking whether it exports that entry point.
No it doesn't. Check how GET_DC_PHYSDEV works.