From 6578a2219f105e14e0b3fdad34195b63b8c94aa6 Mon Sep 17 00:00:00 2001 From: Don Ho Date: Sat, 4 Jun 2011 15:16:23 +0000 Subject: [PATCH] [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 --- PowerEditor/installer/packageAll.bat | 2 ++ PowerEditor/src/ScitillaComponent/Buffer.cpp | 4 ++-- .../clipboardHistoryPanel.cpp | 19 +++++++++++-------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/PowerEditor/installer/packageAll.bat b/PowerEditor/installer/packageAll.bat index a77e6425e..e9bf3e482 100644 --- a/PowerEditor/installer/packageAll.bat +++ b/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\ diff --git a/PowerEditor/src/ScitillaComponent/Buffer.cpp b/PowerEditor/src/ScitillaComponent/Buffer.cpp index 2745ee578..3080e5df8 100644 --- a/PowerEditor/src/ScitillaComponent/Buffer.cpp +++ b/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(); diff --git a/PowerEditor/src/WinControls/ClipboardHistory/clipboardHistoryPanel.cpp b/PowerEditor/src/WinControls/ClipboardHistory/clipboardHistoryPanel.cpp index 2093e6de9..805516848 100644 --- a/PowerEditor/src/WinControls/ClipboardHistory/clipboardHistoryPanel.cpp +++ b/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);