| 1 | package main |
| 2 | |
| 3 | // selectLocalSurfaceAfterOpen makes a bound local session the visible surface |
| 4 | // even when a remote tab was selected before the request. It serializes with |
| 5 | // direct tab clicks, so a newer selection is never cleared by this completion. |
| 6 | func (a *App) selectLocalSurfaceAfterOpen(navigationSequence uint64) { |
| 7 | a.tabSelectionMu.Lock() |
| 8 | defer a.tabSelectionMu.Unlock() |
| 9 | if a.desktopSessions.navigationSeq.Load() != navigationSequence { |
| 10 | return |
| 11 | } |
| 12 | a.remoteTabMu.Lock() |
| 13 | a.remoteTabLayout.activeID = "" |
| 14 | a.remoteTabMu.Unlock() |
| 15 | a.queueCurrentTabLayout() |
| 16 | } |
| 17 |