wailsapp/wails · error

SetBkMode failed

Error message

SetBkMode failed

What it means

Error "SetBkMode failed" thrown in wailsapp/wails.

Source

Thrown at v3/pkg/w32/gdi32.go:386

func SelectObject(hdc HDC, hgdiobj HGDIOBJ) HGDIOBJ {
	ret, _, _ := procSelectObject.Call(
		uintptr(hdc),
		uintptr(hgdiobj))

	if ret == 0 {
		panic("SelectObject failed")
	}

	return HGDIOBJ(ret)
}

func SetBkMode(hdc HDC, iBkMode int) int {
	ret, _, _ := procSetBkMode.Call(
		uintptr(hdc),
		uintptr(iBkMode))

	if ret == 0 {
		panic("SetBkMode failed")
	}

	return int(ret)
}

func SetBrushOrgEx(hdc HDC, nXOrg, nYOrg int, lppt *POINT) bool {
	ret, _, _ := procSetBrushOrgEx.Call(
		uintptr(hdc),
		uintptr(nXOrg),
		uintptr(nYOrg),
		uintptr(unsafe.Pointer(lppt)))

	return ret != 0
}

func SetStretchBltMode(hdc HDC, iStretchMode int) int {
	ret, _, _ := procSetStretchBltMode.Call(
		uintptr(hdc),

View on GitHub (pinned to 0e754b1b40)

Solutions

  1. Pass a valid HDC and a supported background mode: only OPAQUE (1) or TRANSPARENT (2) are accepted by SetBkMode.
  2. Ensure the HDC is not a metafile or information context, which do not support SetBkMode.

When it happens

Trigger: Occurs when SetBkMode returns 0, e.g. an invalid device context handle or an unsupported background mode value (not OPAQUE or TRANSPARENT).

Common situations: See trigger scenarios.


AI-assisted analysis of wailsapp/wails@0e754b1b40 (2026-08-15). Data as JSON: /api/errors/9bda4c79d8220cf6. Report an issue: GitHub.