Skip to content

PowerToys crash: COMException 0x80263001 - Desktop composition is disabled #45908

@phil8879

Description

@phil8879

Microsoft PowerToys version

0.93.0.0

Installation method

Other (please specify in "Steps to Reproduce"), GitHub

Area(s) with issue?

General

Steps to reproduce

The crash occurred on 3/3/2026 at 6:31:12 PM. The exact steps are unclear, but the exception is triggered when a system theme change event fires while desktop composition (DWM) is disabled (e.g., when running in a Remote Desktop session or with hardware acceleration turned off).

  1. Run PowerToys 0.93.0.0 on a system where desktop composition is disabled (e.g., via RDP or low-end display settings).
    1. Trigger or wait for a system theme change event.
    1. PowerToys crashes with a COMException (0x80263001).
      Log file attached.

✔️ Expected Behavior

PowerToys should handle the case where desktop composition is disabled gracefully, without crashing. The WindowBackdropManager should catch or check for this condition before attempting to apply a backdrop/glass frame effect.

❌ Actual Behavior

PowerToys crashes with the following unhandled exception:

System.Runtime.InteropServices.COMException (0x80263001): {Desktop composition is disabled}
The operation could not be completed because desktop composition is disabled. (0x80263001)

   at Standard.NativeMethods.DwmExtendFrameIntoClientArea(IntPtr hwnd, MARGINS& pMarInset)
   at System.Windows.Appearance.WindowBackdropManager.UpdateGlassFrame(IntPtr hwnd, WindowBackdropType backdropType)
   at System.Windows.Appearance.WindowBackdropManager.ApplyBackdrop(IntPtr hwnd, WindowBackdropType backdropType)
   at System.Windows.Appearance.WindowBackdropManager.SetBackdrop(Window window, WindowBackdropType backdropType)
   at System.Windows.ThemeManager.ApplyStyleOnWindow(Window window, Boolean useLightColors)
   at System.Windows.ThemeManager.OnSystemThemeChanged()
   at System.Windows.SystemResources.SystemThemeFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Additional Information

Log.txt

OS Version: Microsoft Windows NT 10.0.26200.0
Architecture: x64 (IntPtr Length: 8)
Desktop Composition: Disabled at time of crash

Other Software

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-BugSomething isn't workingResolution-DuplicateThere's another issue on the tracker that's pretty much the same thing.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions