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

Reply via email to