Kaydet (Commit) 57ec66e2 authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: tdf#92689 grab keyboard focus to parent, not to earlier generations

Change-Id: I4c95f52f0b22ab574f608b93c172e0398e81974b
üst be7569ac
...@@ -1927,9 +1927,7 @@ void GtkSalFrame::Show( bool bVisible, bool bNoActivate ) ...@@ -1927,9 +1927,7 @@ void GtkSalFrame::Show( bool bVisible, bool bNoActivate )
if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 1 ) if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 1 )
{ {
grabPointer(true, true); grabPointer(true, true);
GtkSalFrame *pKeyboardFrame = this; GtkSalFrame *pKeyboardFrame = m_pParent ? m_pParent : this;
while (pKeyboardFrame->m_pParent)
pKeyboardFrame = pKeyboardFrame->m_pParent;
pKeyboardFrame->grabKeyboard(true); pKeyboardFrame->grabKeyboard(true);
} }
// #i44068# reset parent's IM context // #i44068# reset parent's IM context
...@@ -1946,9 +1944,7 @@ void GtkSalFrame::Show( bool bVisible, bool bNoActivate ) ...@@ -1946,9 +1944,7 @@ void GtkSalFrame::Show( bool bVisible, bool bNoActivate )
m_nFloats--; m_nFloats--;
if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 0) if( ! getDisplay()->GetCaptureFrame() && m_nFloats == 0)
{ {
GtkSalFrame *pKeyboardFrame = this; GtkSalFrame *pKeyboardFrame = m_pParent ? m_pParent : this;
while (pKeyboardFrame->m_pParent)
pKeyboardFrame = pKeyboardFrame->m_pParent;
pKeyboardFrame->grabKeyboard(false); pKeyboardFrame->grabKeyboard(false);
grabPointer(false); grabPointer(false);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment