Re: [1/2] wineps.drv: Implement GetGlyphIndices.
Dmitry Timoshkov <dmitry(a)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.
Dmitry Timoshkov <dmitry(a)baikal.ru> writes:
Dmitry Timoshkov <dmitry(a)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(a)winehq.org
Alexandre Julliard <julliard(a)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.
Dmitry Timoshkov <dmitry(a)baikal.ru> writes:
Alexandre Julliard <julliard(a)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(a)winehq.org
Alexandre Julliard <julliard(a)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.
Dmitry Timoshkov <dmitry(a)baikal.ru> writes:
Alexandre Julliard <julliard(a)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. -- Alexandre Julliard julliard(a)winehq.org
participants (2)
-
Alexandre Julliard -
Dmitry Timoshkov