[ZIPFLDR] Fix number of menu items returned for DFM_MERGECONTEXTMENU
authorMark Jansen <mark.jansen@reactos.org>
Fri, 13 Sep 2019 19:37:07 +0000 (21:37 +0200)
committerMark Jansen <mark.jansen@reactos.org>
Sat, 19 Oct 2019 16:42:14 +0000 (18:42 +0200)
dll/shellext/zipfldr/CZipFolder.hpp

index 7b51a75..af70c9c 100644 (file)
@@ -370,7 +370,7 @@ public:
             if (FAILED_UNEXPECTEDLY(hr))
                 return hr;
 
-            pqcminfo->indexMenu += HRESULT_CODE(hr);
+            pqcminfo->idCmdFirst += HRESULT_CODE(hr);
             return S_OK;
         }
         case DFM_INVOKECOMMAND:
@@ -523,7 +523,7 @@ public:
     }
     STDMETHODIMP QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
     {
-        int Entries = 0;
+        UINT idCmd = idCmdFirst;
 
         if (!(uFlags & CMF_DEFAULTONLY))
         {
@@ -532,13 +532,11 @@ public:
             if (indexMenu)
             {
                 InsertMenuW(hmenu, indexMenu++, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
-                Entries++;
             }
-            InsertMenuW(hmenu, indexMenu++, MF_BYPOSITION | MF_STRING, idCmdFirst++, menuText);
-            Entries++;
+            InsertMenuW(hmenu, indexMenu++, MF_BYPOSITION | MF_STRING, idCmd++, menuText);
         }
 
-        return MAKE_HRESULT(SEVERITY_SUCCESS, 0, Entries);
+        return MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_NULL, idCmd - idCmdFirst);
     }
 
     // *** IShellExtInit methods ***