From 67cc70d27c4067405acabdd73aba3016c5514fed Mon Sep 17 00:00:00 2001 From: KingKDot Date: Sun, 5 Apr 2026 19:13:10 -0500 Subject: [PATCH] hopefully fix remote desktop issue --- .../cmd/agent/capture/win_duplication.go | 2 +- Overlord-Client/cmd/agent/session.go | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Overlord-Client/cmd/agent/capture/win_duplication.go b/Overlord-Client/cmd/agent/capture/win_duplication.go index f56d671..af1729a 100644 --- a/Overlord-Client/cmd/agent/capture/win_duplication.go +++ b/Overlord-Client/cmd/agent/capture/win_duplication.go @@ -717,7 +717,7 @@ func (s *duplicationState) capture(display int) (*image.RGBA, error) { return nil, fmt.Errorf("dxgi: acquire frame failed 0x%x", hr) } if resource != nil { - resource.Release() + defer resource.Release() } width := int(s.desc.ModeDesc.Width) diff --git a/Overlord-Client/cmd/agent/session.go b/Overlord-Client/cmd/agent/session.go index fd95676..fad2b3e 100644 --- a/Overlord-Client/cmd/agent/session.go +++ b/Overlord-Client/cmd/agent/session.go @@ -679,14 +679,16 @@ func runSession(ctx context.Context, cancel context.CancelFunc, conn *websocket. } }() - if err := readLoop(ctx, conn, env, dispatcher); err != nil { - log.Printf("readLoop ended: %v", err) - select { - case readErr <- err: - default: - } - cancel() + err := readLoop(ctx, conn, env, dispatcher) + if err == nil { + err = fmt.Errorf("readLoop exited unexpectedly") } + log.Printf("readLoop ended: %v", err) + select { + case readErr <- err: + default: + } + cancel() }() shotCtx, cancelShots := context.WithCancel(ctx)