mirror of
https://github.com/OpenMW/openmw.git
synced 2025-10-17 08:16:34 +00:00
Merge branch 'bmdhacks-skill-controller-crash' into 'master'
fix a crash in skill selection dialog due to uninitialized controller data See merge request OpenMW/openmw!4843
This commit is contained in:
commit
488f73c5da
17 changed files with 22 additions and 29 deletions
|
@ -383,7 +383,6 @@ namespace MWGui
|
|||
|
||||
InfoBoxDialog::InfoBoxDialog()
|
||||
: WindowModal("openmw_infobox.layout")
|
||||
, mControllerFocus(0)
|
||||
{
|
||||
getWidget(mTextBox, "TextBox");
|
||||
getWidget(mText, "Text");
|
||||
|
@ -525,7 +524,6 @@ namespace MWGui
|
|||
: WindowModal("openmw_chargen_create_class.layout")
|
||||
, mAffectedAttribute(nullptr)
|
||||
, mAffectedSkill(nullptr)
|
||||
, mControllerFocus(2)
|
||||
{
|
||||
// Centre dialog
|
||||
center();
|
||||
|
@ -962,7 +960,6 @@ namespace MWGui
|
|||
|
||||
if (Settings::gui().mControllerMenus)
|
||||
{
|
||||
mControllerFocus = 0;
|
||||
if (mAttributeButtons.size() > 0)
|
||||
mAttributeButtons[0]->setStateSelected(true);
|
||||
|
||||
|
@ -1063,7 +1060,6 @@ namespace MWGui
|
|||
|
||||
if (Settings::gui().mControllerMenus)
|
||||
{
|
||||
mControllerFocus = 0;
|
||||
if (mSkillButtons.size() > 0)
|
||||
mSkillButtons[0]->setStateSelected(true);
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ namespace MWGui
|
|||
MyGUI::TextBox* mText;
|
||||
MyGUI::Widget* mButtonBar;
|
||||
std::vector<MyGUI::Button*> mButtons;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
};
|
||||
|
||||
// Lets the player choose between 3 ways of creating a class
|
||||
|
@ -218,7 +218,7 @@ namespace MWGui
|
|||
void onAttributeClicked(Widgets::MWAttributePtr _sender);
|
||||
void onCancelClicked(MyGUI::Widget* _sender);
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
std::vector<Widgets::MWAttribute*> mAttributeButtons;
|
||||
|
||||
private:
|
||||
|
@ -252,12 +252,12 @@ namespace MWGui
|
|||
void onSkillClicked(Widgets::MWSkillPtr _sender);
|
||||
void onCancelClicked(MyGUI::Widget* _sender);
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
std::vector<Widgets::MWSkill*> mSkillButtons;
|
||||
|
||||
private:
|
||||
ESM::RefId mSkillId;
|
||||
std::array<size_t, 3> mNumSkillsPerSpecialization;
|
||||
std::array<size_t, 3> mNumSkillsPerSpecialization{};
|
||||
|
||||
void selectNextColumn(int direction);
|
||||
};
|
||||
|
@ -353,7 +353,7 @@ namespace MWGui
|
|||
Widgets::MWSkillPtr mAffectedSkill;
|
||||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 2;
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -75,7 +75,7 @@ namespace MWGui
|
|||
MyGUI::ScrollView* mScrollView;
|
||||
DisplayMode mDisplayMode;
|
||||
|
||||
int mControllerFocus;
|
||||
int mControllerFocus = 0;
|
||||
void updateControllerFocus(int prevFocus, int newFocus);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ namespace MWGui
|
|||
MyGUI::ScrollView* mScrollView;
|
||||
|
||||
int mItemCount = 0;
|
||||
int mRows;
|
||||
int mRows = 1;
|
||||
int mControllerFocus = 0;
|
||||
bool mControllerActiveWindow;
|
||||
void updateControllerFocus(int prevFocus, int newFocus);
|
||||
|
|
|
@ -25,16 +25,15 @@ namespace MWGui
|
|||
std::shared_ptr<JournalViewModel> model, bool questList, ToUTF8::FromType encoding);
|
||||
|
||||
/// destroy this instance of the JournalWindow implementation
|
||||
virtual ~JournalWindow() {}
|
||||
virtual ~JournalWindow() = default;
|
||||
|
||||
/// show/hide the journal window
|
||||
void setVisible(bool newValue) override = 0;
|
||||
|
||||
std::string_view getWindowIdForLua() const override { return "Journal"; }
|
||||
|
||||
size_t mIndexRowCount;
|
||||
|
||||
std::vector<MyGUI::Button*> mButtons;
|
||||
size_t mIndexRowCount = 1;
|
||||
size_t mSelectedQuest = 0;
|
||||
size_t mSelectedIndex = 0;
|
||||
void moveSelectedIndex(int offset);
|
||||
|
|
|
@ -53,7 +53,7 @@ namespace MWGui
|
|||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
std::vector<MyGUI::Button*> mAttributeButtons;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -225,7 +225,7 @@ namespace MWGui
|
|||
MyGUI::Button* mDeleteButton;
|
||||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
int mControllerFocus;
|
||||
int mControllerFocus = 0;
|
||||
};
|
||||
|
||||
class MapWindow : public MWGui::WindowPinnableBase, public LocalMapBase, public NoDrop
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace MWGui
|
|||
|
||||
MWWorld::Ptr mActor;
|
||||
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
|
||||
protected:
|
||||
void onMouseWheel(MyGUI::Widget* _sender, int _rel);
|
||||
|
|
|
@ -116,7 +116,7 @@ namespace MWGui
|
|||
int mButtonPressed;
|
||||
size_t mDefaultFocus;
|
||||
bool mImmediate;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -40,7 +40,6 @@ namespace MWGui
|
|||
, mKey(std::vector<keyData>(10))
|
||||
, mSelected(nullptr)
|
||||
, mActivated(nullptr)
|
||||
, mControllerFocus(0)
|
||||
{
|
||||
getWidget(mOkButton, "OKButton");
|
||||
getWidget(mInstructionLabel, "InstructionLabel");
|
||||
|
@ -506,7 +505,6 @@ namespace MWGui
|
|||
QuickKeysMenuAssign::QuickKeysMenuAssign(QuickKeysMenu* parent)
|
||||
: WindowModal("openmw_quickkeys_menu_assign.layout")
|
||||
, mParent(parent)
|
||||
, mControllerFocus(0)
|
||||
{
|
||||
getWidget(mLabel, "Label");
|
||||
getWidget(mItemButton, "ItemButton");
|
||||
|
|
|
@ -75,7 +75,7 @@ namespace MWGui
|
|||
void assignItem(MWWorld::Ptr item);
|
||||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
};
|
||||
|
||||
class QuickKeysMenuAssign : public WindowModal
|
||||
|
@ -93,7 +93,7 @@ namespace MWGui
|
|||
QuickKeysMenu* mParent;
|
||||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
int mControllerFocus;
|
||||
int mControllerFocus = 0;
|
||||
};
|
||||
|
||||
class MagicSelectionDialog : public WindowModal
|
||||
|
@ -114,7 +114,7 @@ namespace MWGui
|
|||
void onModelIndexSelected(SpellModel::ModelIndex index);
|
||||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
int mControllerFocus;
|
||||
int mControllerFocus = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ namespace MWGui
|
|||
|
||||
// 0 = Name, 1 = Race, 2 = Class, 3 = BirthSign, 4 = Back, 5 = OK
|
||||
std::vector<MyGUI::Button*> mButtons;
|
||||
int mControllerFocus;
|
||||
int mControllerFocus = 0;
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace MWGui
|
|||
private:
|
||||
static bool sortSpells(const ESM::Spell* left, const ESM::Spell* right);
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ namespace MWGui
|
|||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
void updateControllerFocus(int prevFocus, int newFocus);
|
||||
int mControllerFocus;
|
||||
int mControllerFocus = 0;
|
||||
std::vector<MyGUI::TextBox*> mButtons;
|
||||
};
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace MWGui
|
|||
TimeAdvancer mTimeAdvancer;
|
||||
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace MWGui
|
|||
|
||||
private:
|
||||
bool onControllerButtonEvent(const SDL_ControllerButtonEvent& arg) override;
|
||||
size_t mControllerFocus;
|
||||
size_t mControllerFocus = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -511,7 +511,7 @@ namespace MWGui
|
|||
std::vector<GuiMode> mGuiModes;
|
||||
// The active window for controller mode for each GUI mode.
|
||||
std::map<GuiMode, int> mActiveControllerWindows;
|
||||
bool mControllerTooltip;
|
||||
bool mControllerTooltip = false;
|
||||
|
||||
void reapplyActiveControllerWindow();
|
||||
|
||||
|
|
Loading…
Reference in a new issue