Issue 290: Context Menu not working http://bitbucket.org/tortoisehg/stable/issue/290/context-menu-not-working
Adrian Buehlmann / abuehl on Sun, 14 Jun 2009 13:24:32 +0200: Comment: May I ask you to install DebugView of Microsoft sysinternals? It is available from http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx. The shell extension (THgShell.dll) produces debug output there (lines starting with "[THG]"). For example, if I do a right click (context menu open) on the background of the root folder of a repository directory, I currently get there soemthing like this on my WinXP: {{{ [2448] [THG] DllMain [2448] [THG] DllMain [2448] [THG] DllGetClassObject clsid = {B456DBA0-7BF4-478C-937A-05130C2C212E} [2448] [THG] DllGetClassObject clsname = CLSID_TortoiseHg0 [2448] [THG] CShellExt::QueryInterface: IID_IShellExtInit [2448] [THG] CShellExt::Initialize [2448] [THG] pIDFolder: 0xc6c508 [2448] [THG] pDataObj: 0 [2448] [THG] Folder W:\xxx3-clone [2448] [THG] CShellExt::QueryInterface: IID_IContextMenu [2448] [THG] CShellExt::QueryInterface: UNKNOWN CLSID [2448] [THG] CShellExt::QueryInterface: UNKNOWN CLSID [2448] [THG] CShellExt::QueryContextMenu [2448] [THG] InsertMenuItemByName: name = commit [2448] [THG] AddMenuList: idCmd = 0 name = commit [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menucommit.ico [2448] [THG] InsertMenuItemByName: name = status [2448] [THG] AddMenuList: idCmd = 1 name = status [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menushowchanged.ico [2448] [THG] InsertMenuItemByName: name = shelve [2448] [THG] AddMenuList: idCmd = 2 name = shelve [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\shelve.ico [2448] [THG] InsertMenuItemByName: name = vdiff [2448] [THG] AddMenuList: idCmd = 3 name = vdiff [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\TortoiseMerge.ico [2448] [THG] InsertMenuItemByName: name = log [2448] [THG] AddMenuList: idCmd = 4 name = log [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menulog.ico [2448] [THG] InsertMenuItemByName: name = update [2448] [THG] AddMenuList: idCmd = 5 name = update [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menucheckout.ico [2448] [THG] InsertMenuItemByName: name = synch [2448] [THG] AddMenuList: idCmd = 6 name = synch [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menusynch.ico [2448] [THG] InsertMenuItemByName: name = clone [2448] [THG] AddMenuList: idCmd = 7 name = clone [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menuclone.ico [2448] [THG] InsertMenuItemByName: name = recover [2448] [THG] AddMenuList: idCmd = 8 name = recover [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\general.ico [2448] [THG] InsertMenuItemByName: name = serve [2448] [THG] AddMenuList: idCmd = 9 name = serve [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\proxy.ico [2448] [THG] InsertMenuItemByName: name = thgstatus [2448] [THG] AddMenuList: idCmd = 10 name = thgstatus [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menumerge.ico [2448] [THG] InsertMenuItemByName: name = repoconf [2448] [THG] AddMenuList: idCmd = 11 name = repoconf [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\settings_repo.ico [2448] [THG] InsertMenuItemByName: name = userconf [2448] [THG] AddMenuList: idCmd = 12 name = userconf [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\settings_user.ico [2448] [THG] InsertMenuItemByName: name = about [2448] [THG] AddMenuList: idCmd = 13 name = about [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\menuabout.ico [2448] [THG] CShellExt::QueryContextMenu: adding main THG menu [2448] [THG] GetTortoiseIcon: loading C:\Program Files\TortoiseHg\icons\hg.ico [2448] [THG] CShellExt::GetCommandString: idCmd = 0 [2448] [THG] CShellExt::GetCommandString: name = commit [2448] [THG] CShellExt::GetCommandString: idCmd = 14 [2448] [THG] CShellExt::GetCommandString: can't find idCmd 14 [2448] [THG] CShellExt::GetCommandString: idCmd = 14 [2448] [THG] CShellExt::GetCommandString: can't find idCmd 14 [2448] [THG] CShellExt::QueryInterface: IID_IContextMenu3 [2448] [THG] CShellExt::HandleMenuMsg2 [2448] [THG] CShellExt::QueryInterface: IID_IContextMenu3 [2448] [THG] CShellExt::HandleMenuMsg2 [2448] [THG] CShellExt::QueryInterface: IID_IContextMenu3 [2448] [THG] CShellExt::HandleMenuMsg2 [2448] [THG] CShellExt::QueryInterface: IID_IContextMenu3 [2448] [THG] CShellExt::HandleMenuMsg2 [2448] [THG] CShellExt::QueryInterface: UNKNOWN CLSID [2448] [THG] CShellExt::QueryInterface: UNKNOWN CLSID [2448] [THG] DllMain }}} The are a couple of strange lines already here. Notably: {{{ [2448] [THG] CShellExt::QueryInterface: UNKNOWN CLSID [2448] [THG] CShellExt::GetCommandString: can't find idCmd 14 }}} Maybe I should have a look at them (I haven't done much with the context menu code, just used it as per TK Soh's work -- and he probably got it from somewhere else as well :) Anyway, as it is the code works fine on Windows XP, even with those strange lines. Might be interesting to compare debug outputs. -- This is an issue notification from bitbucket.org. You are receiving this either because you are the owner of the issue, or you are following the issue. ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Tortoisehg-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop
