On Mon, Sep 14, 2009 at 17:40, Adrian Buehlmann <adr...@cadifra.com> wrote: > On 14.09.2009 09:53, Yuki KODAMA wrote: >> On Mon, Sep 14, 2009 at 16:37, Adrian Buehlmann <adr...@cadifra.com> wrote: >>> On 14.09.2009 06:59, Yuki KODAMA wrote: >>>> Hi, >>>> >>>> When I open Taskbar setting dialog from context menu of tray icon, >>>> it doesn't open the dialog and I got these errors in "thgtaskbar.exe.log" >>>> file: >>>> >>>> C:\Program Files\TortoiseHg\library.zip\tortoisehg\hgtk\gtklib.py:48: >>>> GtkWarning: gtkwidget.c:4247: widget `GtkWindow' has no activatable >>>> signal "thg-close" without arguments >>>> C:\Program Files\TortoiseHg\library.zip\tortoisehg\hgtk\gtklib.py:51: >>>> GtkWarning: gtkwidget.c:4247: widget `GtkWindow' has no activatable >>>> signal "thg-exit" without arguments >>>> C:\Program Files\TortoiseHg\library.zip\tortoisehg\hgtk\gtklib.py:54: >>>> GtkWarning: gtkwidget.c:4247: widget `GtkWindow' has no activatable >>>> signal "thg-refresh" without arguments >>>> C:\Program Files\TortoiseHg\library.zip\tortoisehg\hgtk\gtklib.py:57: >>>> GtkWarning: gtkwidget.c:4247: widget `GtkWindow' has no activatable >>>> signal "thg-accept" without arguments >>>> Exception in thread Thread-3: >>>> Traceback (most recent call last): >>>> File "threading.pyo", line 486, in __bootstrap_inner >>>> File "threading.pyo", line 446, in run >>>> File "thgtaskbar.py", line 175, in launch >>>> File "tortoisehg\hgtk\taskbarui.pyo", line 26, in __init__ >>>> File "tortoisehg\hgtk\gtklib.pyo", line 60, in set_tortoise_keys >>>> TypeError: <TaskBarUI object at 0x1332be8 (GtkWindow at 0x198f008)>: >>>> unknown signal name: thg-close >>>> >>> It seems this was first introduced by: >>> >>> changeset: 3985:db36d1f7e96a >>> user: Steve Borho <st...@borho.org> >>> date: Sun Sep 13 10:57:06 2009 -0500 >>> summary: hggtk, thgutil: move Python packages under tortoisehg >>> >>> from default branch. >>> >>> 0.8.X should be unaffected. >> >> Yup. IMHO, it causes by gtklib.set_tortoise_keys() method calling. >> "set_tortoise_keys" method sets some TortoiseHg's signals, but it failed. >> This means "taskbarui" dialog doesn't have "thg-close" signal. >> Therefore, it also means "taskbarui" dialog isn't called via "hgtk.py". >> You know "hgtk.py" has registration codes of TortoiseHg's signals >> (thg-close, thg-exit, etc) at begin of file. >> > > Funny that there was no traceback before db36d1f7e96a. > The following patch seems to fix it for me: > > diff --git a/thgtaskbar.py b/thgtaskbar.py > --- a/thgtaskbar.py > +++ b/thgtaskbar.py > @@ -8,6 +8,8 @@ import time > import threading > import cStringIO > import Queue > +import gtk > +import gobject > > from win32api import * > from win32gui import * > @@ -37,6 +39,11 @@ if hasattr(sys, "frozen"): > > APP_TITLE = _('TortoiseHg RPC server') > > +# Add TortoiseHg signals, hooked to key accelerators in gtklib > +for sig in ('thg-exit', 'thg-close', 'thg-refresh', 'thg-accept'): > + gobject.signal_new(sig, gtk.Window, > + gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ()) > + > SHOWLOG_CMD = 1023 > EXIT_CMD = 1025 >
Thanks for a patch, Adrian! However, we should do something for these duplicated codes. It's DRY principle. -- Yuki KODAMA ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Tortoisehg-develop mailing list Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop