• mlouielu's avatar
    bpo-15786: IDLE: Fix mouse clicks on autocompletetion window (#1811) · 778b4841
    mlouielu authored
    The root problem was non-check for hide_event. When user clicks
    on autocomplete window (acw), root widget gets focusOut event, then triggers hide_window to
    close the acw. It should only be hide when acw is active, and acw didn't
    get focus at FocusOut event (this event bind on acw and widget), or when
    widget get a ButtonPress event (this event only bind on widget).
    
    MacOS  froze after double click on acw because when
    doubleclick_event try to hide window at the end, hide_window function
    destory whole acw, but tkinter didn't get focus back to widget. So set focus
    on widget first, then destory acw.
    
    Windows could not respond on double click event, because of the misbehavior
    of Configure event.  When acw was shown, tkinter called winconfig
    event multiple times.  That caused tkinter to not response to double
    click event.  When on Windows, unbind Configure event first
    time get into winconfig_event to prevent multiple call of this event.
    778b4841
autocomplete_w.py 19.2 KB