This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients JanKanis, pitrou, serhiy.storchaka, terry.reedy
Date 2014-06-01.05:54:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1401602092.94.0.0582865405374.issue18141@psf.upfronthosting.co.za>
In-reply-to
Content
I re-read turtledemo and it seems that is could exit without calling root.destroy. The 'if main' block follows:

    demo = DemoWindow()
    RUN = True
    while RUN:
        try:
            #print("ENTERING mainloop")
            demo.root.mainloop()
        except AttributeError: <swallow and continue, for debug?>
        except TypeError: <swallow and continue, for debug?>
        except:
            print("BYE!")
            RUN = False

If a non-Attribute/Type/Error occurs, it is swallowed and the process shuts down without root.destroy, which depends on closing the root window. It seems to me that for production use, everything after the first line should be replaced by demo.root.mainloop(), as is standard for tkinter apps, so that if *any* exception occurs, the process stops and a proper traceback gets printed (before shutdown).
History
Date User Action Args
2014-06-01 05:54:53terry.reedysetrecipients: + terry.reedy, pitrou, JanKanis, serhiy.storchaka
2014-06-01 05:54:52terry.reedysetmessageid: <1401602092.94.0.0582865405374.issue18141@psf.upfronthosting.co.za>
2014-06-01 05:54:52terry.reedylinkissue18141 messages
2014-06-01 05:54:51terry.reedycreate