Panels&IPC: attempt to figure #1166

This commit is contained in:
Lemmy
2025-12-28 14:47:02 -05:00
parent 694cfc426e
commit 823d0b9225
2 changed files with 44 additions and 30 deletions
+9 -2
View File
@@ -60,7 +60,7 @@ Item {
Timer {
id: screenDetectorDebounce
running: false
interval: 20
interval: 40
onTriggered: {
Logger.d("CurrentScreenDetector", "Screen debounced to:", root.detectedScreen?.name || "null");
@@ -77,8 +77,15 @@ Item {
}
Logger.d("CurrentScreenDetector", "Executing callback on screen:", root.detectedScreen.name);
root.pendingCallback(root.detectedScreen);
// Store callback locally and clear pendingCallback first to prevent deadlock
// if the callback throws an error
var callback = root.pendingCallback;
root.pendingCallback = null;
try {
callback(root.detectedScreen);
} catch (e) {
Logger.e("CurrentScreenDetector", "Callback failed:", e);
}
}
// Clean up