Skip to content

Commit d0c86c4

Browse files
committed
fix pip
1 parent 6d6075b commit d0c86c4

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

StikJIT/Views/HomeView.swift

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1555,13 +1555,19 @@ struct HomeView: View {
15551555

15561556
private func getJsCallback(_ script: Data, name: String? = nil) -> DebugAppCallback {
15571557
return { pid, debugProxyHandle, remoteServerHandle, semaphore in
1558-
jsModel = RunJSViewModel(pid: Int(pid),
1559-
debugProxy: debugProxyHandle,
1560-
remoteServer: remoteServerHandle,
1561-
semaphore: semaphore)
1562-
scriptViewShow = true
1558+
let model = RunJSViewModel(pid: Int(pid),
1559+
debugProxy: debugProxyHandle,
1560+
remoteServer: remoteServerHandle,
1561+
semaphore: semaphore)
1562+
1563+
DispatchQueue.main.async {
1564+
jsModel = model
1565+
scriptViewShow = true
1566+
pipRequired = true
1567+
}
1568+
15631569
DispatchQueue.global(qos: .background).async {
1564-
do { try jsModel?.runScript(data: script, name: name) }
1570+
do { try model.runScript(data: script, name: name) }
15651571
catch { showAlert(title: "Error Occurred While Executing Script.".localized, message: error.localizedDescription, showOk: true) }
15661572
}
15671573
}
@@ -1572,6 +1578,13 @@ struct HomeView: View {
15721578
LogManager.shared.addInfoLog("Starting Debug for \(bundleID ?? String(pid ?? 0))")
15731579

15741580
DispatchQueue.global(qos: .background).async {
1581+
let finishProcessing = {
1582+
DispatchQueue.main.async {
1583+
isProcessing = false
1584+
pipRequired = false
1585+
}
1586+
}
1587+
15751588
var scriptData = scriptData
15761589
var scriptName = scriptName
15771590
if scriptData == nil,
@@ -1585,9 +1598,9 @@ struct HomeView: View {
15851598
if ProcessInfo.processInfo.hasTXM, let sd = scriptData {
15861599
callback = getJsCallback(sd, name: scriptName ?? bundleID ?? "Script")
15871600
if triggeredByURLScheme { usleep(500000) }
1588-
pipRequired = true
1601+
DispatchQueue.main.async { pipRequired = true }
15891602
} else {
1590-
pipRequired = false
1603+
DispatchQueue.main.async { pipRequired = false }
15911604
}
15921605

15931606
let logger: LogFunc = { message in if let message { LogManager.shared.addInfoLog(message) } }
@@ -1609,7 +1622,7 @@ struct HomeView: View {
16091622
LogManager.shared.addInfoLog("Debug process completed for \(bundleID ?? String(pid ?? 0))")
16101623
}
16111624
}
1612-
isProcessing = false
1625+
finishProcessing()
16131626
}
16141627
}
16151628

0 commit comments

Comments
 (0)