[BUG_FIXED] 1. Fix the crash issue clipboard history under XP while there is no data in Clipboard.

2. Fix the wrong assignment for 2 members of std::string type in Buffer class.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@771 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
Don Ho 2011-06-04 15:16:23 +00:00
parent 903788f9bd
commit 6578a2219f
3 changed files with 15 additions and 10 deletions

View File

@ -103,6 +103,8 @@ copy /Y "..\bin\plugins\NppExport.dll" .\zipped.package.release\unicode\plugins\
If ErrorLevel 1 PAUSE
copy /Y "..\bin\plugins\ComparePlugin.dll" .\zipped.package.release\unicode\plugins\
If ErrorLevel 1 PAUSE
copy /Y "..\bin\plugins\NppConverter.dll" .\zipped.package.release\unicode\plugins\
If ErrorLevel 1 PAUSE
rem plugins manager and its updater
copy /Y "..\bin\plugins\PluginManager.dll" .\zipped.package.release\unicode\plugins\

View File

@ -47,8 +47,8 @@ Buffer::Buffer(FileManager * pManager, BufferID id, Document doc, DocFileStatus
if (_encoding != -1)
_unicodeMode = uniCookie;
_userLangExt[0] = 0;
_fullPathName[0] = 0;
_userLangExt = TEXT("");
_fullPathName = TEXT("");
_fileName = NULL;
setFileName(fileName, ndds._lang);
updateTimeStamp();

View File

@ -124,6 +124,8 @@ StringArray::StringArray(ClipboardData cd, size_t maxLen)
}
}
// Search clipboard data in internal storage
// return -1 if not found, else return the index of internal array
int ClipboardHistoryPanel::getClipboardDataIndex(ClipboardData cbd)
{
int iFound = -1;
@ -176,7 +178,7 @@ BOOL CALLBACK ClipboardHistoryPanel::run_dlgProc(UINT message, WPARAM wParam, LP
case WM_INITDIALOG :
{
_hwndNextCbViewer = ::SetClipboardViewer(_hSelf);
break;
return TRUE;
}
case WM_CHANGECBCHAIN:
@ -184,18 +186,22 @@ BOOL CALLBACK ClipboardHistoryPanel::run_dlgProc(UINT message, WPARAM wParam, LP
_hwndNextCbViewer = (HWND)lParam;
else if (_hwndNextCbViewer)
::SendMessage(_hwndNextCbViewer, message, wParam, lParam);
break;
return TRUE;
case WM_DRAWCLIPBOARD :
{
//::MessageBoxA(NULL, "Catch u", "", MB_OK);
ClipboardData clipboardData = getClipboadData();
addToClipboadHistory(clipboardData);
if (clipboardData.size())
addToClipboadHistory(clipboardData);
if (_hwndNextCbViewer)
::SendMessage(_hwndNextCbViewer, message, wParam, lParam);
break;
return TRUE;
}
case WM_DESTROY:
::ChangeClipboardChain(_hSelf, _hwndNextCbViewer);
break;
case WM_COMMAND :
{
switch (LOWORD(wParam))
@ -254,9 +260,6 @@ BOOL CALLBACK ClipboardHistoryPanel::run_dlgProc(UINT message, WPARAM wParam, LP
break;
}
*/
case WM_DESTROY:
::ChangeClipboardChain(_hSelf, _hwndNextCbViewer);
break;
default :
return DockingDlgInterface::run_dlgProc(message, wParam, lParam);