Qt: Fix ClearBindStateFromSource() executing on wrong thread
This commit is contained in:
parent
af5f1c711c
commit
72f7225ec2
|
@ -690,7 +690,7 @@ void MainWindow::onApplicationStateChanged(Qt::ApplicationState state)
|
||||||
// Clear the state of all keyboard binds.
|
// Clear the state of all keyboard binds.
|
||||||
// That way, if we had a key held down, and lost focus, the bind won't be stuck enabled because we never
|
// That way, if we had a key held down, and lost focus, the bind won't be stuck enabled because we never
|
||||||
// got the key release message, because it happened in another window which "stole" the event.
|
// got the key release message, because it happened in another window which "stole" the event.
|
||||||
InputManager::ClearBindStateFromSource(InputManager::MakeHostKeyboardKey(0));
|
g_emu_thread->clearInputBindStateFromSource(InputManager::MakeHostKeyboardKey(0));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1065,6 +1065,17 @@ void EmuThread::reloadPostProcessingShaders()
|
||||||
System::ReloadPostProcessingShaders();
|
System::ReloadPostProcessingShaders();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EmuThread::clearInputBindStateFromSource(InputBindingKey key)
|
||||||
|
{
|
||||||
|
if (!isOnThread())
|
||||||
|
{
|
||||||
|
QMetaObject::invokeMethod(this, "clearInputBindStateFromSource", Qt::QueuedConnection, Q_ARG(InputBindingKey, key));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
InputManager::ClearBindStateFromSource(key);
|
||||||
|
}
|
||||||
|
|
||||||
void EmuThread::runOnEmuThread(std::function<void()> callback)
|
void EmuThread::runOnEmuThread(std::function<void()> callback)
|
||||||
{
|
{
|
||||||
callback();
|
callback();
|
||||||
|
|
|
@ -187,6 +187,7 @@ public Q_SLOTS:
|
||||||
void setCheatEnabled(quint32 index, bool enabled);
|
void setCheatEnabled(quint32 index, bool enabled);
|
||||||
void applyCheat(quint32 index);
|
void applyCheat(quint32 index);
|
||||||
void reloadPostProcessingShaders();
|
void reloadPostProcessingShaders();
|
||||||
|
void clearInputBindStateFromSource(InputBindingKey key);
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void stopInThread();
|
void stopInThread();
|
||||||
|
|
Loading…
Reference in New Issue