#2012 [patch] add missing CMINVOKECOMMANDINFOEX and LPCMINVOKECOMMANDINFOEX

WSL
pending
Earnie Boyd
None
Feature
fixed
Feature_in_WSL_4.1
False
2013-10-06
2013-08-13
Linda
No

w32api-4.0.0-1-mingw32-dev

--- shlobj.h.old    2013-08-13 16:28:58.000000000 +0800
+++ shlobj.h.new    2013-08-13 16:43:03.781250000 +0800
@@ -392,6 +392,25 @@
    DWORD dwHotKey;
    HANDLE hIcon;
 } CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO;
+typedef struct _CMInvokeCommandInfoEx {
+   DWORD cbSize;
+   DWORD fMask;
+   HWND hwnd;
+   LPCSTR lpVerb;
+   LPCSTR lpParameters;
+   LPCSTR lpDirectory;
+   int nShow;
+   DWORD dwHotKey;
+   HANDLE hIcon;
+   LPCSTR lpTitle;
+   LPCWSTR lpVerbW;
+   LPCWSTR lpParametersW;
+   LPCWSTR lpDirectoryW;
+   LPCWSTR lpTitleW;
+#if (_WIN32_IE >= 0x0400)
+   POINT ptInvoke;
+#endif
+} CMINVOKECOMMANDINFOEX,*LPCMINVOKECOMMANDINFOEX;
 typedef struct _DROPFILES {
    DWORD pFiles;
    POINT pt;

Related

Issues: #2082
Issues: #2130

Discussion

  • Earnie Boyd
    Earnie Boyd
    2013-08-13

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,5 +1,6 @@
     w32api-4.0.0-1-mingw32-dev
    
    +~~~~~
     --- shlobj.h.old   2013-08-13 16:28:58.000000000 +0800
     +++ shlobj.h.new   2013-08-13 16:43:03.781250000 +0800
     @@ -392,6 +392,25 @@
    @@ -28,3 +29,4 @@
      typedef struct _DROPFILES {
        DWORD pFiles;
        POINT pt;
    +~~~~~
    
    • status: unread --> assigned
    • assigned_to: Earnie Boyd
    • Resolution: none --> later
    • Category: Unknown --> Feature_in_WSL_4.1
     
  • Earnie Boyd
    Earnie Boyd
    2013-08-13

    Added ~~~~~ around code for proper markup.

     
    Last edit: Earnie Boyd 2013-08-13
  • Earnie Boyd
    Earnie Boyd
    2013-08-13

    Linda, can you please add an attachment with the patch? And use git to create the diff please or at least use the --git option to diff.

     
  • Linda
    Linda
    2013-08-15

    Hi Earnie, I don't have git and my GNU diffutils 3.3 doesn't recognise the option '--git', so I don't know what to do and I just used 'diff -U3'.

    Here is the patch and I hope it's in correct format.

     
    Attachments
    • Keith Marshall
      Keith Marshall
      2013-08-15

      Hi Linda,

      I guess I'd be kind of annoyed too, if I were told I should use git -- I have better things to which to devote my time, than learning git's arcane and confusing command syntax. However, I would just clone a mercurial image of the git repository, then use hg diff --git to cut a git style patch; I guess this is what Earnie has in mind, when he says to use the --git option to diff.

      I don't know of any version of GNU diff which supports the --git option; the version in MSYS certainly doesn't! What we usually ask for is diff -p -U3 ..., when cutting patches with bare GNU diff. However, in this case I don't see what additional useful information -p might contribute; your patch looks mostly fine, to me. (You should, however, add the text for the ChangeLog entry, in GNU standard format, but not as a patch itself -- just as bare text).

       
      • Linda
        Linda
        2013-09-07

        Hi Keith,

        Thanks for your explanation. I downloaded msys-git, and everything looks fine now.

        btw how to and where to add ChangeLog entry?

         
  • Earnie Boyd
    Earnie Boyd
    2013-09-28

    Linda, I see we didn't answer the question for the ChangeLog entry. You can add it to the beginning of the diff file. See http://www.mingw.org/wiki/ChangeLog for what an entry is.

    The difference you provided looks fine. I wonder if we really need to guard ptInvoke; IE 4 is so old.

     
  • Earnie Boyd
    Earnie Boyd
    2013-10-02

    I find a note on MSDN that states this structure, and probably others, has moved from shlobj.h to shlobjidl.h for Vista. Anyone using this structure should do proper filtering to include the correct file or if the minimum support system is Vista then only include shlobjidl.h. Based on the documentation, the supplied patch isn't quite enough but I'll submit a fix giving Linda credit for supplying a partial patch.

     
  • Earnie Boyd
    Earnie Boyd
    2013-10-06

    • summary: [patch] add missing definition of CMINVOKECOMMANDINFOEX and LPCMINVOKECOMMANDINFOEX --> [patch] add missing CMINVOKECOMMANDINFOEX and LPCMINVOKECOMMANDINFOEX
    • status: assigned --> pending
    • Resolution: later --> fixed
     
  • Earnie Boyd
    Earnie Boyd
    2013-10-06

    I added the structure to shobjidl.h which is what MSDN states for it. It is also filtered for _WIN32_WINNT >= _WIN32_WINNT_VISTA. You must include shlobj.h before including shobjidl.h to obtain the defined flags. Fixed in 4.1-dev branch pending release of 4.1.

    Thanks, Linda.