mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 22:55:48 +01:00
fix(windows): also remove WS_EX_LAYERED in fullscreen mode
Testing revealed that removing WS_EX_TRANSPARENT alone is not sufficient to fix click-through behavior. WS_EX_LAYERED must also be removed for mouse events to be captured in fullscreen mode. The unfullscreen() function already restores w.previousWindowExStyle, so both flags will be properly restored when exiting fullscreen. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
d2951ea132
commit
8a658a80c0
1 changed files with 3 additions and 3 deletions
|
|
@ -843,13 +843,13 @@ func (w *windowsWebviewWindow) fullscreen() {
|
|||
w32.GWL_STYLE,
|
||||
w.previousWindowStyle & ^uint32(w32.WS_OVERLAPPEDWINDOW) | (w32.WS_POPUP|w32.WS_VISIBLE),
|
||||
)
|
||||
// Remove WS_EX_TRANSPARENT to ensure mouse events are captured in fullscreen mode.
|
||||
// This fixes click-through issues when Frameless + BackgroundTypeTransparent are used.
|
||||
// Remove WS_EX_TRANSPARENT and WS_EX_LAYERED to ensure mouse events are captured in fullscreen mode.
|
||||
// Both flags must be removed to fix click-through issues when Frameless + BackgroundTypeTransparent are used.
|
||||
// See: https://github.com/wailsapp/wails/issues/4408
|
||||
w32.SetWindowLong(
|
||||
w.hwnd,
|
||||
w32.GWL_EXSTYLE,
|
||||
w.previousWindowExStyle & ^uint32(w32.WS_EX_DLGMODALFRAME|w32.WS_EX_TRANSPARENT),
|
||||
w.previousWindowExStyle & ^uint32(w32.WS_EX_DLGMODALFRAME|w32.WS_EX_TRANSPARENT|w32.WS_EX_LAYERED),
|
||||
)
|
||||
w.isCurrentlyFullscreen = true
|
||||
w32.SetWindowPos(w.hwnd, w32.HWND_TOP,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue