diff --git a/src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/Text/TextInterface/Factory.cs b/src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/Text/TextInterface/Factory.cs index 9c1014f0f56..2c416bc3cfb 100644 --- a/src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/Text/TextInterface/Factory.cs +++ b/src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/Text/TextInterface/Factory.cs @@ -325,7 +325,11 @@ internal TextAnalyzer CreateTextAnalyzer() { IDWriteTextAnalyzer* textAnalyzer = null; - _factory.Value->CreateTextAnalyzer(&textAnalyzer); + int hr = _factory.Value->CreateTextAnalyzer(&textAnalyzer); + + GC.KeepAlive(this); + + DWriteUtil.ConvertHresultToException(hr); return new TextAnalyzer((Native.IDWriteTextAnalyzer*)textAnalyzer); }