Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-15786: IDLE: Fix mouse clicks on autocompletetion window (#1811) #2187

Merged
merged 1 commit into from Jun 14, 2017

Conversation

@terryjreedy
Copy link
Member

commented Jun 14, 2017

Patch by Louie Lu.
(cherry picked from commit 778b484)

bpo-15786: IDLE: Fix mouse clicks on autocompletetion window (#1811)
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.

(cherry picked from commit 778b484)

@terryjreedy terryjreedy merged commit 3280579 into python:3.6 Jun 14, 2017

2 of 3 checks passed

continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
bedevere/issue-number Issue number 15786 found.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@terryjreedy terryjreedy deleted the terryjreedy:complete branch Jun 14, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.