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 ------------------------------------------------------------------------------ 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