Improve flow of command-line debugging

This commit is contained in:
2025-01-05 11:24:59 -05:00
parent d6eb8ec7ef
commit 6fd8d8f5cf
5 changed files with 40 additions and 8 deletions
+12 -6
View File
@@ -86,6 +86,12 @@ impl Application {
impl ApplicationHandler<UserEvent> for Application {
fn resumed(&mut self, event_loop: &ActiveEventLoop) {
if let Some(port) = self.init_debug_port {
let mut server =
GdbServerWindow::new(SimId::Player1, self.client.clone(), self.proxy.clone());
server.launch(port);
self.open(event_loop, Box::new(server));
}
let app = GameWindow::new(
self.client.clone(),
self.proxy.clone(),
@@ -93,11 +99,6 @@ impl ApplicationHandler<UserEvent> for Application {
SimId::Player1,
);
self.open(event_loop, Box::new(app));
if let Some(port) = self.init_debug_port {
let mut server = GdbServerWindow::new(SimId::Player1, self.client.clone());
server.start(port);
self.open(event_loop, Box::new(server));
}
}
fn window_event(
@@ -193,7 +194,8 @@ impl ApplicationHandler<UserEvent> for Application {
self.open(event_loop, Box::new(about));
}
UserEvent::OpenDebugger(sim_id) => {
let debugger = GdbServerWindow::new(sim_id, self.client.clone());
let debugger =
GdbServerWindow::new(sim_id, self.client.clone(), self.proxy.clone());
self.open(event_loop, Box::new(debugger));
}
UserEvent::OpenInput => {
@@ -209,6 +211,9 @@ impl ApplicationHandler<UserEvent> for Application {
);
self.open(event_loop, Box::new(p2));
}
UserEvent::Quit => {
event_loop.exit();
}
}
}
@@ -390,6 +395,7 @@ pub enum UserEvent {
OpenDebugger(SimId),
OpenInput,
OpenPlayer2,
Quit,
}
pub enum Action {