Revert "Revert "internal/glfwwin: ignore errors from DWM functions""

This reverts commit 991cec993c.

Reason: Reverted a wrong commit
This commit is contained in:
Hajime Hoshi 2022-06-03 13:59:16 +09:00
parent 991cec993c
commit c6c45aadfa
2 changed files with 16 additions and 15 deletions

View File

@ -242,9 +242,8 @@ func swapBuffersWGL(window *Window) error {
// HACK: Use DwmFlush when desktop composition is enabled
if enabled {
for i := 0; i < window.context.wgl.interval; i++ {
if err := _DwmFlush(); err != nil {
return err
}
// Ignore an error from DWM functions as they might not be implemented e.g. on Proton (#2113).
_ = _DwmFlush()
}
}
}
@ -269,10 +268,10 @@ func swapIntervalWGL(interval int) error {
enabled := _IsWindows8OrGreater()
if !enabled {
var err error
enabled, err = _DwmIsCompositionEnabled()
if err != nil {
return err
e, err := _DwmIsCompositionEnabled()
// Ignore an error from DWM functions as they might not be implemented e.g. on Proton (#2113).
if err == nil {
enabled = e
}
}

View File

@ -368,7 +368,8 @@ func (w *Window) updateFramebufferTransparency() error {
composition, err := _DwmIsCompositionEnabled()
if err != nil {
return err
// Ignore an error from DWM functions as they might not be implemented e.g. on Proton (#2113).
return nil
}
if !composition {
return nil
@ -378,7 +379,8 @@ func (w *Window) updateFramebufferTransparency() error {
if !_IsWindows8OrGreater() {
_, opaque, err = _DwmGetColorizationColor()
if err != nil {
return err
// Ignore an error from DWM functions as they might not be implemented e.g. on Proton (#2113).
return nil
}
}
@ -394,9 +396,9 @@ func (w *Window) updateFramebufferTransparency() error {
hRgnBlur: region,
fEnable: 1, // true
}
if err := _DwmEnableBlurBehindWindow(w.win32.handle, &bb); err != nil {
return err
}
// Ignore an error from DWM functions as they might not be implemented e.g. on Proton (#2113).
_ = _DwmEnableBlurBehindWindow(w.win32.handle, &bb)
} else {
// HACK: Disable framebuffer transparency on Windows 7 when the
// colorization color is opaque, because otherwise the window
@ -405,9 +407,9 @@ func (w *Window) updateFramebufferTransparency() error {
bb := _DWM_BLURBEHIND{
dwFlags: _DWM_BB_ENABLE,
}
if err := _DwmEnableBlurBehindWindow(w.win32.handle, &bb); err != nil {
return err
}
// Ignore an error from DWM functions as they might not be implemented e.g. on Proton (#2113).
_ = _DwmEnableBlurBehindWindow(w.win32.handle, &bb)
}
return nil
}