Movie: Threadsafety Audit

Fix TASInputDlg which was trying to access the GUI without the GUI
lock from the CPU Thread.
This commit is contained in:
EmptyChaos
2016-05-01 12:09:58 +00:00
parent c1922783f8
commit e8dfc8e654
3 changed files with 183 additions and 74 deletions

View File

@ -70,6 +70,7 @@ class TASInputDlg : public wxDialog
struct Button
{
wxCheckBox* checkbox;
bool is_checked = false;
bool value = false;
bool set_by_keyboard = false;
bool turbo_on = false;
@ -92,8 +93,11 @@ class TASInputDlg : public wxDialog
void UpdateStickBitmap(Stick stick);
void InvalidateButton(Button* button);
void InvalidateControl(Control* button);
void InvalidateExtension();
void UpdateFromInvalidatedButton(wxCommandEvent& event);
void UpdateFromInvalidatedControl(wxCommandEvent& event);
void UpdateFromInvalidatedExtension(wxThreadEvent& event);
void OnCheckboxToggle(wxCommandEvent& event);
Stick* FindStickByID(int id);
Stick CreateStick(int id_stick, int xRange, int yRange, u32 defaultX, u32 defaultY, bool reverseX, bool reverseY);
wxStaticBoxSizer* CreateStickLayout(Stick* tempStick, const wxString& title);