<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.12.3">
</HEAD>
<BODY>
cool work, that would be a great thing to have.<BR>
<BR>
On Thu, 2008-10-23 at 16:16 -0400, Allen Taylor wrote:
<BLOCKQUOTE TYPE=CITE>
    <FONT COLOR="#000000">I was given the task of upgrading a Python/Tkinter GUI application to the latest versions of Python and Tk. After a while, I realized that the application had not been written in a thread-safe manner. Multiple threads would simply use the Tk object directly. The application apparently ran fine (i.e., didn't crash!) using older versions of Python (2.2) and Tk (8.3), but it started to have serious&nbsp;problems (i.e., crashing) after using the latest versions.</FONT>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    <FONT COLOR="#000000">&nbsp;</FONT>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    <FONT COLOR="#000000">The problem is that there isn't enough budget to fix the whole application. So, I invested a bit of time to develop mtTkinter, a thread-safe version of Tkinter. Importing mtTkinter actually modifies the original Tkinter in such a way to make it thread-safe, recognizing and diverting out-of-thread calls to the Tk object creation thread via a queue and an 'after' event. I think it works quite well, requiring basically no changes to the application other than to import mtTkinter instead of (or in addition&nbsp;to)&nbsp;Tkinter. Even packages that use Tkinter (e.g., Pmw) benefit.</FONT>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    <FONT COLOR="#000000">&nbsp;</FONT>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    <FONT COLOR="#000000">I would like to contribute this module (single file, about 160 lines) to the Python community, but I don't know how. I'm new to Python and am not initiated in the deep Pythonic developer world. Can someone give me some pointers? Many thanks.</FONT>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    <FONT COLOR="#000000">&nbsp;</FONT>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    <FONT COLOR="#000000">Allen B. Taylor</FONT><BR>
    <FONT COLOR="#000000">MDA</FONT><BR>
    <FONT COLOR="#000000">9445 Airport Road</FONT><BR>
    <FONT COLOR="#000000">Brampton, ON&nbsp; L6S 4J3</FONT><BR>
    <FONT COLOR="#000000">905-790-2800 ext. 4350</FONT><BR>
    <FONT COLOR="#000000">allen.taylor@mdacorporation.com  </FONT>
<PRE>
<FONT COLOR="#000000">_______________________________________________</FONT>
<FONT COLOR="#000000">Tkinter-discuss mailing list</FONT>
<FONT COLOR="#000000"><A HREF="mailto:Tkinter-discuss@python.org">Tkinter-discuss@python.org</A></FONT>
<FONT COLOR="#000000"><A HREF="http://mail.python.org/mailman/listinfo/tkinter-discuss">http://mail.python.org/mailman/listinfo/tkinter-discuss</A></FONT>
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>