Also fixes popups not closing correctly.
General cleanup in the HUD closing code. Closing a HUD
is now managed by the HUD_Main object--this should ensure
that no objects are left dangling.
Eliminated special query to get actual seat by
incorporating in to stat_dict query. Provided for
graceful skipping of hands when there is an error
in a query in the read_stdin() thread. Left
intermediate prints for use of others.
Add site name to list of windows being HUDed,
fix weird call convention to the "del" operator, which is not a function.
call clean_title() on hud titles being killed, so we actually kill (deep) tables and such
HUD:
Add function "kill_hud_menu", which is now called from the Kill This HUD menu option, to avoid a potential loop in kill_hud()
Record the handle of the HUD's destroy signal, use it to un-register, before performing a kill, also avoiding potential loop there
Do not allow kill_hud() to be called twice in the same HUD object, return doing nothing if deleted is already set on it (that should totally solve the loop problem)
GuiAutoImport: run HUD_run_me instead of HUD_main
HUD_main: Add HUD_removed() function, called by HUD when an individual HUD is closed, eliminates polling them every update; use 'in' operator instead of has_key
HUD: clean up code that deals with lack of font descriptor in config, and notification of what font was selected
HUD: clean up unnecessary use of keys() functions, and 'in' vs has_key
HUD: restore previous definition of reposition_windows(), although i can't make it error at will anymore
Tables: cleanup with keys() and in operator
fpdb: no longer raise an error on duplicate tab, since we currently depend on that, it's not an error, right?
printEmailErrorMessage also writes a traceback to the stderr, so we can more easily figure out -what part- it failed in
parsePositions will ignore a small blind if it appears to be coming from the same place as the big (does this mess with dead blinds? who knows)
importer dumps bad hands to hand-errors.txt after printing the normal email message
parse_logic should ignore lines where small blind is found to be "$0", however, it's still causing errors