mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 06:45:59 +01:00
textinput: fix tiv3 leave (#7761)
This commit is contained in:
parent
73b9756b8d
commit
118be4dea0
1 changed files with 14 additions and 10 deletions
|
@ -138,8 +138,12 @@ void CTextInput::setFocusedSurface(SP<CWLSurfaceResource> pSurface) {
|
||||||
listeners.surfaceUnmap.reset();
|
listeners.surfaceUnmap.reset();
|
||||||
listeners.surfaceDestroy.reset();
|
listeners.surfaceDestroy.reset();
|
||||||
|
|
||||||
if (isV3() && !pV3Input.expired() && pV3Input->current.enabled.value)
|
if (isV3() && !pV3Input.expired() && pV3Input->current.enabled.value) {
|
||||||
pV3Input->current.enabled.value = false;
|
pV3Input->pending.enabled.value = false;
|
||||||
|
pV3Input->pending.enabled.isDisablePending = false;
|
||||||
|
pV3Input->pending.enabled.isEnablePending = false;
|
||||||
|
pV3Input->current.enabled.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!g_pInputManager->m_sIMERelay.getFocusedTextInput())
|
if (!g_pInputManager->m_sIMERelay.getFocusedTextInput())
|
||||||
g_pInputManager->m_sIMERelay.deactivateIME(this);
|
g_pInputManager->m_sIMERelay.deactivateIME(this);
|
||||||
|
@ -154,8 +158,12 @@ void CTextInput::setFocusedSurface(SP<CWLSurfaceResource> pSurface) {
|
||||||
listeners.surfaceUnmap.reset();
|
listeners.surfaceUnmap.reset();
|
||||||
listeners.surfaceDestroy.reset();
|
listeners.surfaceDestroy.reset();
|
||||||
|
|
||||||
if (isV3() && !pV3Input.expired() && pV3Input->current.enabled.value)
|
if (isV3() && !pV3Input.expired() && pV3Input->current.enabled.value) {
|
||||||
pV3Input->current.enabled.value = false;
|
pV3Input->pending.enabled.value = false;
|
||||||
|
pV3Input->pending.enabled.isDisablePending = false;
|
||||||
|
pV3Input->pending.enabled.isEnablePending = false;
|
||||||
|
pV3Input->current.enabled.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!g_pInputManager->m_sIMERelay.getFocusedTextInput())
|
if (!g_pInputManager->m_sIMERelay.getFocusedTextInput())
|
||||||
g_pInputManager->m_sIMERelay.deactivateIME(this);
|
g_pInputManager->m_sIMERelay.deactivateIME(this);
|
||||||
|
@ -202,13 +210,9 @@ void CTextInput::leave() {
|
||||||
enterLocks = 0;
|
enterLocks = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isV3()) {
|
if (isV3())
|
||||||
pV3Input->leave(focusedSurface());
|
pV3Input->leave(focusedSurface());
|
||||||
if (pV3Input->current.enabled.value) {
|
else
|
||||||
pV3Input->current.enabled.value = false;
|
|
||||||
onDisabled();
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
pV1Input->leave();
|
pV1Input->leave();
|
||||||
|
|
||||||
setFocusedSurface(nullptr);
|
setFocusedSurface(nullptr);
|
||||||
|
|
Loading…
Reference in a new issue