[BUG_FIXED] (Author: Loreia L.) Provide a walkaround for Windows Explorer's crash bug due to the conflicts between NppShell.dll and Net iD's contextmenu component.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@917 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
Don Ho 2012-06-16 10:40:45 +00:00
parent 8dbb880092
commit baff122284
4 changed files with 6 additions and 5 deletions

Binary file not shown.

Binary file not shown.

View File

@ -14,7 +14,7 @@ bool InitTheming() {
pfnGetBufferedPaintBits = (FN_GetBufferedPaintBits)::GetProcAddress(hUxTheme, "GetBufferedPaintBits"); pfnGetBufferedPaintBits = (FN_GetBufferedPaintBits)::GetProcAddress(hUxTheme, "GetBufferedPaintBits");
pfnBeginBufferedPaint = (FN_BeginBufferedPaint)::GetProcAddress(hUxTheme, "BeginBufferedPaint"); pfnBeginBufferedPaint = (FN_BeginBufferedPaint)::GetProcAddress(hUxTheme, "BeginBufferedPaint");
pfnEndBufferedPaint = (FN_EndBufferedPaint)::GetProcAddress(hUxTheme, "EndBufferedPaint"); pfnEndBufferedPaint = (FN_EndBufferedPaint)::GetProcAddress(hUxTheme, "EndBufferedPaint");
if ((pfnGetBufferedPaintBits == NULL) | (pfnBeginBufferedPaint == NULL) | (pfnEndBufferedPaint == NULL)) { if ((pfnGetBufferedPaintBits == NULL) || (pfnBeginBufferedPaint == NULL) || (pfnEndBufferedPaint == NULL)) {
pfnGetBufferedPaintBits = NULL; pfnGetBufferedPaintBits = NULL;
pfnBeginBufferedPaint = NULL; pfnBeginBufferedPaint = NULL;
pfnEndBufferedPaint = NULL; pfnEndBufferedPaint = NULL;

View File

@ -23,11 +23,11 @@ TCHAR szNppName[] = TEXT("notepad++.exe");
TCHAR szDefaultMenutext[] = TEXT("Edit with &Notepad++"); TCHAR szDefaultMenutext[] = TEXT("Edit with &Notepad++");
#ifdef WIN64 #ifdef WIN64
TCHAR szShellExtensionTitle[] = TEXT("Notepad++64"); TCHAR szShellExtensionTitle[] = TEXT("ANotepad++64");
TCHAR szShellExtensionKey[] = TEXT("*\\shellex\\ContextMenuHandlers\\Notepad++64"); TCHAR szShellExtensionKey[] = TEXT("*\\shellex\\ContextMenuHandlers\\ANotepad++64");
#else #else
TCHAR szShellExtensionTitle[] = TEXT("Notepad++"); TCHAR szShellExtensionTitle[] = TEXT("ANotepad++");
TCHAR szShellExtensionKey[] = TEXT("*\\shellex\\ContextMenuHandlers\\Notepad++"); TCHAR szShellExtensionKey[] = TEXT("*\\shellex\\ContextMenuHandlers\\ANotepad++");
#endif #endif
#define szHelpTextA "Edits the selected file(s) with Notepad++" #define szHelpTextA "Edits the selected file(s) with Notepad++"
@ -610,6 +610,7 @@ STDMETHODIMP CShellExt::QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmd
InsertMenu(hMenu, nIndex, MF_STRING|MF_BYPOSITION, idCmd++, m_szMenuTitle); InsertMenu(hMenu, nIndex, MF_STRING|MF_BYPOSITION, idCmd++, m_szMenuTitle);
if (m_showIcon) { if (m_showIcon) {
HBITMAP icon = NULL; HBITMAP icon = NULL;
if (m_winVer >= WINVER_VISTA) { if (m_winVer >= WINVER_VISTA) {