diff --git a/modules/juce_gui_basics/components/juce_Component.cpp b/modules/juce_gui_basics/components/juce_Component.cpp index cf34a48777..00211b13b4 100644 --- a/modules/juce_gui_basics/components/juce_Component.cpp +++ b/modules/juce_gui_basics/components/juce_Component.cpp @@ -2687,13 +2687,17 @@ void Component::internalKeyboardFocusGain (FocusChangeType cause, { focusGained (cause); - if (safePointer != nullptr) - { + if (safePointer == nullptr) + return; + + if (hasKeyboardFocus (false)) if (auto* handler = getAccessibilityHandler()) handler->grabFocus(); - internalChildKeyboardFocusChange (cause, safePointer); - } + if (safePointer == nullptr) + return; + + internalChildKeyboardFocusChange (cause, safePointer); } void Component::internalKeyboardFocusLoss (FocusChangeType cause)