Win32: CSD is drawn inside a secondary window frame (Gtk 4)
Steps to reproduce
- Build Gtk 4 (any recent version or master) using either msvc or mingw
- Run any gtk demo that uses CSD (e.g.
gtk4-demo
,gtk4-widget-factory
) - Both CSD and SSD are drawn at the same time (please see attached images)
Current behavior
Gtk4 draws client side decorations inside a Windows-native window frame, drawing duplicate sets of title bars, shadows, borders, and window controls. This occurs for all the cairo, opengl, and vulkan renderers.
Server side decorations for non-Header Bar windows display normally.
Expected outcome
For the secondary window frame to not be displayed when using CSD, so only the inner (CSD) frame is shown.
Version information
- Version: Since at least 3.98 (still observed with 3.99.1 and master)
- Operating System: Windows 10 64-bit
- Compiler: Observed for both mingw64 and MSVC
- Build Options (mingw): Introspection is disabled, all other options default
- Build Options (msvc): Media and print disabled, introspection disabled, vulkan disabled.
If relevant, I am using integrated graphics (Intel).
Additional information
Edited by Matt Jakeman