[Bug 39841] Double Commander context menus missing most entries

WineHQ Bugzilla wine-bugs at winehq.org
Mon Apr 26 01:46:29 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=39841

Damjan Jovanovic <damjan.jov at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Keywords|                            |source
                 CC|                            |damjan.jov at gmail.com
             Status|UNCONFIRMED                 |NEW

--- Comment #5 from Damjan Jovanovic <damjan.jov at gmail.com> ---
After hours of battling with the comedy build environment featuring FreePascal,
Lazarus, various packages, Double Commander and its Github fork, 3 source code
versions, and I can't remember what else, I finally figured out the "Error:
Invalid parameter" problem when you right-click on an empty space.

In src/platform/uosforms.pas,
    procedure ShowContextMenu()
calls src/platform/win/ushellcontextmenu.pas
    constructor TShellContextMenu.Create()
which ultimately calls:
    OleCheckUTF8(Folder.CreateViewObject(Handle, IID_IContextMenu, Result));
which calls Wine's dlls/shell32/shfldr_unixfs.c function
    ShellFolder2_CreateViewObject()
which doesn't implement the "IID_IContextMenu" interface. Since it's default
HRESULT is:

---snip---
    HRESULT hr = E_INVALIDARG;
---snip---

that ends up being returned, and causes Double Commander to display "Error:
Invalid parameter".

If I patch it to return E_NOINTERFACE (like it probably should), Double
Commander shows an "Error:" messagebox instead, with no error description.

None of Wine's other shell32 "folders" (desktop, fs, mycomp, netplaces,
printers) seem to support the IID_IContextMenu interface in their
CreateViewObject() method either, with some explicitly checking for it and
failing, some WARNing, some silently failing (sometimes with the wrong
HRESULT).

I'll also try to take a look at the issue of there not being enough menu items
when right-clicking on a file, though it's probably something similar.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list