general fixes #1

Merged
bquarkz merged 1 commits from dev/general-fixes into master 2026-04-07 06:59:21 +00:00
2 changed files with 12 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package p.studio.controls.shell; package p.studio.controls.shell;
import javafx.application.Platform;
import javafx.beans.binding.Bindings; import javafx.beans.binding.Bindings;
import javafx.beans.property.BooleanProperty; import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleBooleanProperty;
@ -12,6 +13,7 @@ import p.studio.Container;
import p.studio.controls.lifecycle.StudioControlLifecycle; import p.studio.controls.lifecycle.StudioControlLifecycle;
import p.studio.controls.lifecycle.StudioControlLifecycleSupport; import p.studio.controls.lifecycle.StudioControlLifecycleSupport;
import p.studio.execution.StudioExecutionSessionService; import p.studio.execution.StudioExecutionSessionService;
import p.studio.execution.StudioExecutionSnapshot;
import p.studio.execution.StudioExecutionState; import p.studio.execution.StudioExecutionState;
import p.studio.utilities.events.EventSubscription; import p.studio.utilities.events.EventSubscription;
import p.studio.utilities.i18n.I18n; import p.studio.utilities.i18n.I18n;
@ -78,7 +80,15 @@ public final class StudioRunSurfaceControl extends HBox implements StudioControl
if (sessionSubscription != null) { if (sessionSubscription != null) {
return; return;
} }
sessionSubscription = executionSessionService.subscribe(snapshot -> running.set(isRunningState(snapshot.state()))); sessionSubscription = executionSessionService.subscribe(this::handleSessionUpdate);
}
private void handleSessionUpdate(final StudioExecutionSnapshot snapshot) {
if (Platform.isFxApplicationThread()) {
running.set(isRunningState(snapshot.state()));
return;
}
Platform.runLater(() -> running.set(isRunningState(snapshot.state())));
} }
@Override @Override

View File

@ -15,7 +15,7 @@ fn init() -> void
fn abs_i(v: int) -> int fn abs_i(v: int) -> int
{ {
if (v < 0) { if (v < 0) {
return 0 - v; return -v;
} }
return v; return v;
} }