Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Right clicking an empty area causes crash #35

Closed
GeorgeHahn opened this issue Jun 1, 2015 · 14 comments

Comments

Projects
None yet
@GeorgeHahn
Copy link

commented Jun 1, 2015

Reproduction:

  • Open any directory and any view style
  • Right click an empty area of the view

Additional details:
Windows 10 x64, build 10130

@GeorgeHahn

This comment has been minimized.

Copy link
Author

commented Jun 1, 2015

After some investigation, I concluded that this is caused by the OneDrive filesyncshell.dll.

I was able to overcome it by turning on SEH exception handling in the Helper project and wrapping the QueryContextMenu call in the AddMenuEntries function of ContextMenuManager.cpp:

HRESULT hr;
try {
    hr = itr->pContextMenuActual->QueryContextMenu(
        hMenu, iStartPos, iMinID + iOffset, iMaxID,
        CMF_NORMAL | CMF_EXPLORE);
}
catch (...) {
    // Swallow context menu error
    continue;
}
@jtbrown3

This comment has been minimized.

Copy link

commented Aug 5, 2015

Verified that this critical crash behavior is still present in the official Windows 10 x64 release (build 10240).
Thx George for finding the workaroud. Would be great to get this committed into a fresh build. Otherwise it's a 'No-Go' for Win 10...

@macchky

This comment has been minimized.

Copy link

commented Nov 25, 2015

Temp fix is Launch as Administrator

@linquize

This comment has been minimized.

Copy link
Contributor

commented Nov 25, 2015

Do Windows Explorer has such empty space to test with?

@derceg derceg added the bug label Dec 26, 2015

@derceg

This comment has been minimized.

Copy link
Owner

commented Dec 26, 2015

It would be good to find out exactly what's going wrong. It's quite possible there's a bug within the context menu code, particularly if the menu item appears correctly in other file managers (I haven't tested this myself, but I would assume it does - would anybody be able to confirm?).

It's interesting that it works when run as an administrator, I'm not sure why that would be the case, and obviously we don't have access to the OneDrive source code.

@GeorgeHahn
My concern with swallowing the exception is that it might result in an inconsistent state, which could lead to further crashes or corruption.

If anybody wants to debug through the code on Windows 10 and do some experimentation, that would be of great help. I'm happy to assist.

@juanitogan

This comment has been minimized.

Copy link

commented Jan 16, 2016

I ended up here because the new File Explorer in Win 10 is killing me. I get lost too easily scrolling the tree with its tiny indentations. And I work a lot in the tree. This right-click thing is almost a show stopper. For now I have Admin permanently set in the Compatibility tab for the file. I worry about the others frustrated with the new File Explorer and less savvy to figure out the workaround. Anyhow, thank you for what looks to be a quality solution to my File Explorer pains.

@derceg derceg added the critical label Jan 18, 2016

@derceg

This comment has been minimized.

Copy link
Owner

commented Feb 14, 2016

From some testing I've been doing, it looks like the OneDrive extension causes an access violation. It could be because of a bug in Explorer++, or a bug in OneDrive. Since the problem occurs inside the QueryContextMenu call, it would be difficult to figure out which is at fault.

I think the best way of handling this would be to blacklist the extension using its CLSID (which will at least stop the crashes). Then, if the issue is resolved in the future, the extension can be loaded again.

dilosec added a commit to dilosec/explorerplusplus that referenced this issue Mar 8, 2016

Fix Windows 10 right-click crashing
The crash occurs in the QueryContextMenu call in OneDrive's
FileSyncShell[64].dll - this fix is based on code proposed by
@GeorgeHahn in issue derceg#35.

dilosec added a commit to dilosec/explorerplusplus that referenced this issue Mar 8, 2016

Fix Windows 10 right-click crashing
The crash occurs in the QueryContextMenu call in OneDrive's
FileSyncShell[64].dll - this fix is based on code proposed by
@GeorgeHahn in issue derceg#35.
@Boiethios

This comment has been minimized.

Copy link

commented Oct 13, 2016

Hello, the Explorer++ still crashes on Windows 8.x

When I right-click somewhere out of a file, it immediately crashes.

@endo64

This comment has been minimized.

Copy link

commented Oct 25, 2016

I confirm @Boiethios, Explorer++ still crashes on Win 8.1 x64.
Is this fix included in the latest compiled version on web site?

@paulbrennanOJT

This comment has been minimized.

Copy link

commented Mar 16, 2017

Confirmed that uninstalling OneDrive (if it is an option for you) does resolve the issue :)

@kenstuddy

This comment has been minimized.

Copy link

commented Jun 11, 2017

Even though I already had OneDrive disabled via GPO, I still had this issue. I resolved this issue by renaming C:\Users\user\AppData\Local\Microsoft\OneDrive to C:\Users\user\AppData\Local\Microsoft\OneDrivebak.

@derceg derceg closed this in 240d770 Jun 11, 2017

@endo64

This comment has been minimized.

Copy link

commented Jun 17, 2017

@kenstuddy Disabling doesn't solve the crash issue, I completely uninstall OneDrive then issue solved. When you rename that folder your OneDrive installation still works normally?

@kenstuddy

This comment has been minimized.

Copy link

commented Jun 17, 2017

I disabled OneDrive in GPO and from starting up, however the crash still happened until I renamed the OneDrive folder. However, as of June 11, this bug has been fixed.

@demahum

This comment has been minimized.

Copy link

commented Jan 13, 2018

It would be good to solve this issue completely if possible (i.e. to be able to have both OneDrive and Explorer++ running).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.