Browse Source

[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
remotes/trunk
Don Ho 14 years ago
parent
commit
6578a2219f
  1. 2
      PowerEditor/installer/packageAll.bat
  2. 4
      PowerEditor/src/ScitillaComponent/Buffer.cpp
  3. 19
      PowerEditor/src/WinControls/ClipboardHistory/clipboardHistoryPanel.cpp

2
PowerEditor/installer/packageAll.bat

@ -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\

4
PowerEditor/src/ScitillaComponent/Buffer.cpp

@ -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();

19
PowerEditor/src/WinControls/ClipboardHistory/clipboardHistoryPanel.cpp

@ -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);

Loading…
Cancel
Save