https://bugs.documentfoundation.org/show_bug.cgi?id=161782

            Bug ID: 161782
           Summary: Unable to back out of many Sidebar decks into document
                    with Esc
           Product: LibreOffice
           Version: 24.2.0.0 alpha0+
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: bibisected, bisected, regression
          Severity: normal
          Priority: medium
         Component: UI
          Assignee: [email protected]
          Reporter: [email protected]
            Blocks: 65138

Try this in Calc, Sidebar decks Styles, Gallery and Navigator:
1. Focus into panel
2. Hit Esc repeatedly

Result: focus remains inside the deck even though it should move to document as
per Sidebar guidelines.

This regressed with 9ca60dc90958001c078ed6331bd432c36961a425
tdf#156156 Add Help button to sidebar decks

Debugging what happens when I hit Esc while in Styles, what I can see is that
in the FocusManager::GetFocusLocation() function of
sfx2/source/sidebar/FocusManager.cxx, the condition in the panel search loop:

if (pContents->has_child_focus())
    return FocusLocation(PC_PanelContent, nIndex);

reports has_child_focus() as being true *while I am focused in the Cell Styles
button in the toolbar*! So it incorrectly reports the focus location to be
PC_PanelContent. This results in a no-op for the user hitting Esc.

I suppose this has to do with the rework of sfx2/uiconfig/ui/deck.ui

To be exact, the has_child_focus() function that is called is:
SalInstanceWidget::has_child_focus at vcl/source/app/salvtables.cxx:396

That then does calls leading to Window::ImplIsChild() in
vcl/source/window/stacking.cxx

I'm not sure where this should be fixed: the .ui file or
FocusManager::GetFocusLocation() ?


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=65138
[Bug 65138] [META] Sidebar feature related issues
-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to