Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: <kimmov@us...> - 2008-11-20 14:18:07
|
Revision: 6105 http://winmerge.svn.sourceforge.net/winmerge/?rev=6105&view=rev Author: kimmov Date: 2008-11-20 14:17:59 +0000 (Thu, 20 Nov 2008) Log Message: ----------- PATCH: [ 2189315 ] Shell Context Menu in Folder Compare view Build fix patch ShellMenu_IContextMenuPtr_fix.rev6104.patch Submitted by Paul (pavel_kv@...) Revision Links: -------------- http://winmerge.svn.sourceforge.net/winmerge/?rev=6104&view=rev Modified Paths: -------------- trunk/Src/Common/ShellContextMenu.cpp trunk/Src/Common/ShellContextMenu.h Modified: trunk/Src/Common/ShellContextMenu.cpp =================================================================== --- trunk/Src/Common/ShellContextMenu.cpp 2008-11-19 22:03:26 UTC (rev 6104) +++ trunk/Src/Common/ShellContextMenu.cpp 2008-11-20 14:17:59 UTC (rev 6105) @@ -193,7 +193,7 @@ return false; } - IContextMenu *pCMenu1; + IContextMenuPtr pCMenu1; if (FAILED(hr = pCurrFolder->GetUIObjectOf(NULL, pidls.Size(), pidls.GetList(), @@ -206,13 +206,13 @@ m_pPreferredMenu = pCMenu1; - IContextMenu2 *pCMenu2((IContextMenu2 *)pCMenu1); + IContextMenu2Ptr pCMenu2(pCMenu1); if (pCMenu2) { m_pPreferredMenu = pCMenu2; } - IContextMenu3 *pCMenu3((IContextMenu3 *)pCMenu1); + IContextMenu3Ptr pCMenu3(pCMenu1); if (pCMenu3) { m_pPreferredMenu = pCMenu3; Modified: trunk/Src/Common/ShellContextMenu.h =================================================================== --- trunk/Src/Common/ShellContextMenu.h 2008-11-19 22:03:26 UTC (rev 6104) +++ trunk/Src/Common/ShellContextMenu.h 2008-11-20 14:17:59 UTC (rev 6105) @@ -30,9 +30,18 @@ #define _SHELLCONTEXTMENU_H_ #include <comdef.h> +#include <ShlObj.h> #include <list> #include "UnicodeString.h" +struct __declspec(uuid("000214e4-0000-0000-c000-000000000046")) IContextMenu; +struct __declspec(uuid("000214f4-0000-0000-c000-000000000046")) IContextMenu2; +struct __declspec(uuid("bcfce0a0-ec17-11d0-8d10-00a0c90f2719")) IContextMenu3; + +_COM_SMARTPTR_TYPEDEF(IContextMenu, __uuidof(IContextMenu)); +_COM_SMARTPTR_TYPEDEF(IContextMenu2, __uuidof(IContextMenu2)); +_COM_SMARTPTR_TYPEDEF(IContextMenu3, __uuidof(IContextMenu3)); + /** * @brief Explorer's context menu * @@ -177,8 +186,8 @@ LPCONTEXTMENU m_pPreferredMenu; /**< Shell context menu for group of files. Points either to IContextMenu, IContextMenu2 or IContextMenu3 interface, the highest available. Used to process command in InvokeCommand() */ - IContextMenu2 *m_pShellContextMenu2; /**< IContextMenu2 interface of current preferred context menu */ - IContextMenu3 *m_pShellContextMenu3; /**< IContextMenu3 interface of current preferred context menu */ + IContextMenu2Ptr m_pShellContextMenu2; /**< IContextMenu2 interface of current preferred context menu */ + IContextMenu3Ptr m_pShellContextMenu3; /**< IContextMenu3 interface of current preferred context menu */ HMENU m_hShellContextMenu; /**< HMENU handle of shell context menu for group of files */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |