Skip to content

MarkdownTextBlock not working in multithreaded window #776

@wherewhere

Description

@wherewhere

Describe the bug

MarkdownTextBlock not working in multithreaded window both in UWP and WAS.

System.Runtime.InteropServices.COMException (0x8001010E)
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at ABI.Windows.UI.Xaml.Documents.ITextElementMethods.set_Foreground(IObjectReference _obj, Brush value)
   at Windows.UI.Xaml.Documents.TextElement.set_Foreground(Brush value)
   at CommunityToolkit.WinUI.Controls.TextElements.MyHeading.SetHProperties(Int32 level)
   at CommunityToolkit.WinUI.Controls.TextElements.MyHeading..ctor(HeadingBlock headingBlock, MarkdownConfig config)
   at CommunityToolkit.WinUI.Controls.Renderers.ObjectRenderers.HeadingRenderer.Write(WinUIRenderer renderer, HeadingBlock obj)
   at Markdig.Renderers.MarkdownObjectRenderer`2.Write(RendererBase renderer, MarkdownObject obj)
   at Markdig.Renderers.RendererBase.Write(MarkdownObject obj)
   at Markdig.Renderers.RendererBase.WriteChildren(ContainerBlock containerBlock)
   at Markdig.Renderers.RendererBase.Write(MarkdownObject obj)
   at CommunityToolkit.WinUI.Controls.Renderers.WinUIRenderer.Render(MarkdownObject markdownObject)
   at CommunityToolkit.WinUI.Controls.MarkdownTextBlock.ApplyText(Boolean rerender)
   at CommunityToolkit.WinUI.Controls.MarkdownTextBlock.Build()
   at CommunityToolkit.WinUI.Controls.MarkdownTextBlock.OnApplyTemplate()
   at Windows.UI.Xaml.FrameworkElement.Windows.UI.Xaml.IFrameworkElementOverrides.OnApplyTemplate()
   at ABI.Windows.UI.Xaml.IFrameworkElementOverrides.Do_Abi_OnApplyTemplate_2(IntPtr thisPtr)

Steps to reproduce

1. Use it such as [UWP](https://github.com/wherewhere/CoreAppUWP/blob/wuxc/CoreAppUWP/Pages/SettingsPages/SettingsPage.xaml#L395-L402) or [WAS](https://github.com/wherewhere/CoreAppUWP/blob/muxc/CoreAppUWP/Pages/SettingsPages/SettingsPage.xaml#L419-L426)
2. Run it and open two different thread windows.
3. It broken.

Expected behavior

Works fine.

Screenshots

Image

Code Platform

  • UWP
  • WinAppSDK / WinUI 3
  • Web Assembly (WASM)
  • Android
  • iOS
  • MacOS
  • Linux / GTK

Windows Build Number

  • Windows 10 1809 (Build 17763)
  • Windows 10 1903 (Build 18362)
  • Windows 10 1909 (Build 18363)
  • Windows 10 2004 (Build 19041)
  • Windows 10 20H2 (Build 19042)
  • Windows 10 21H1 (Build 19043)
  • Windows 11 21H2 (Build 22000)
  • Other (specify)

Other Windows Build number

26200.7623

App minimum and target SDK version

  • Windows 10, version 1809 (Build 17763)
  • Windows 10, version 1903 (Build 18362)
  • Windows 10, version 1909 (Build 18363)
  • Windows 10, version 2004 (Build 19041)
  • Other (specify)

Other SDK version

No response

Visual Studio Version

Preview

Visual Studio Build Number

Insiders [11408.92]

Device form factor

Desktop

Additional context

This problem is exits since the control is here. I don't know if here already has a issue.

Help us help you

Yes, I'd like to be assigned to work on this item.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug 🐛Something isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions