From fccf86532f5c65996555ee82b57a9d51b8d85a9b Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Wed, 30 Dec 2020 11:37:54 -0800 Subject: [PATCH] [sim] DriverStationGui: Fix two bugs (#3010) - Slicing of GlfwKeyboardJoystick - Potential null pointer deref --- .../halsim_gui/src/main/native/cpp/DriverStationGui.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp b/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp index 326e81755c..a3559ac49e 100644 --- a/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp +++ b/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp @@ -427,9 +427,9 @@ static void* KeyboardJoystickReadOpen(ImGuiContext* ctx, if (num < 0 || num >= static_cast(gKeyboardJoysticks.size())) { return nullptr; } - auto joy = gKeyboardJoysticks[num].get(); - *joy = GlfwKeyboardJoystick(num, true); - return joy; + auto& joy = gKeyboardJoysticks[num]; + joy = std::make_unique(num, true); + return joy.get(); } static void KeyboardJoystickReadLine(ImGuiContext* ctx, @@ -690,6 +690,7 @@ void KeyboardJoystick::SettingsDisplay() { } *s_keyEdit = i; s_keyEdit = nullptr; + break; } } } @@ -1235,7 +1236,6 @@ FMSSimModel::FMSSimModel() { m_enabled.SetDigital(true); m_test.SetDigital(true); m_autonomous.SetDigital(true); - Update(); } void FMSSimModel::Update() {