-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Description
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).
- Run PowerToys 0.93.0.0 on a system where desktop composition is disabled (e.g., via RDP or low-end display settings).
-
- Trigger or wait for a system theme change event.
-
- PowerToys crashes with a COMException (0x80263001).
Log file attached.
- PowerToys crashes with a COMException (0x80263001).
✔️ 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
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