mirror of https://github.com/mgba-emu/mgba.git
Qt: Release held actions if they get rebound
This commit is contained in:
parent
ec4c91dbda
commit
83673cc521
1
CHANGES
1
CHANGES
|
@ -110,6 +110,7 @@ Other fixes:
|
||||||
- Qt: Fix undesired screen filtering when paused (fixes mgba.io/i/1602)
|
- Qt: Fix undesired screen filtering when paused (fixes mgba.io/i/1602)
|
||||||
- Qt: Fix sprite view using wrong base address (fixes mgba.io/i/1603)
|
- Qt: Fix sprite view using wrong base address (fixes mgba.io/i/1603)
|
||||||
- Qt: Fix inability to clear default keybindings
|
- Qt: Fix inability to clear default keybindings
|
||||||
|
- Qt: Release held actions if they get rebound
|
||||||
- Vita: Fix analog controls (fixes mgba.io/i/1554)
|
- Vita: Fix analog controls (fixes mgba.io/i/1554)
|
||||||
Misc:
|
Misc:
|
||||||
- GB Memory: Support manual SRAM editing (fixes mgba.io/i/1580)
|
- GB Memory: Support manual SRAM editing (fixes mgba.io/i/1580)
|
||||||
|
|
|
@ -45,8 +45,11 @@ void ShortcutController::updateKey(const QString& name, int keySequence) {
|
||||||
|
|
||||||
void ShortcutController::updateKey(std::shared_ptr<Shortcut> item, int keySequence) {
|
void ShortcutController::updateKey(std::shared_ptr<Shortcut> item, int keySequence) {
|
||||||
int oldShortcut = item->shortcut();
|
int oldShortcut = item->shortcut();
|
||||||
if (m_actions->isHeld(item->name())) {
|
if (oldShortcut != keySequence && m_actions->isHeld(item->name())) {
|
||||||
if (oldShortcut > 0) {
|
if (oldShortcut > 0) {
|
||||||
|
if (item->action() && item->action()->booleanAction()) {
|
||||||
|
item->action()->booleanAction()(false);
|
||||||
|
}
|
||||||
m_heldKeys.take(oldShortcut);
|
m_heldKeys.take(oldShortcut);
|
||||||
}
|
}
|
||||||
if (keySequence > 0) {
|
if (keySequence > 0) {
|
||||||
|
|
Loading…
Reference in New Issue