diff options
| author | nyamatongwe <unknown> | 2009-07-15 07:19:22 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2009-07-15 07:19:22 +0000 | 
| commit | b9cb2eb38f6dc23b2b6a46d59de2436b2b9824da (patch) | |
| tree | 0d6fe37475ffd795b10511f3b510fd39c4c9948c /src | |
| parent | 7ef9b27e87eb98ae11811bab4e78550b27941aaf (diff) | |
| download | scintilla-mirror-b9cb2eb38f6dc23b2b6a46d59de2436b2b9824da.tar.gz | |
Fixed bug where wrong length was returned for SCI_GETSELTEXT with NULL
lParam when there are multiple selections.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Editor.cxx | 34 | 
1 files changed, 11 insertions, 23 deletions
| diff --git a/src/Editor.cxx b/src/Editor.cxx index 71c8965fb..17076a373 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -6441,33 +6441,21 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {  		break;  	case SCI_GETSELTEXT: { -			if (lParam == 0) { -				if (sel.selType == Selection::selStream) { -					return 1 + SelectionEnd().Position() - SelectionStart().Position(); -				} else { -					// TODO: why is selLines handled the slow way? -					int size = 0; -					int extraCharsPerLine = 0; -					if (sel.selType != Selection::selLines) -						extraCharsPerLine = (pdoc->eolMode == SC_EOL_CRLF) ? 2 : 1; -					for (size_t r=0; r<sel.Count(); r++) { -						size += sel.Range(r).Length() + extraCharsPerLine; -					} - -					return 1 + size; -				} -			}  			SelectionText selectedText;  			CopySelectionRange(&selectedText); -			char *ptr = CharPtrFromSPtr(lParam); -			int iChar = 0; -			if (selectedText.len) { -				for (; iChar < selectedText.len; iChar++) -					ptr[iChar] = selectedText.s[iChar]; +			if (lParam == 0) { +				return selectedText.len;  			} else { -				ptr[0] = '\0'; +				char *ptr = CharPtrFromSPtr(lParam); +				int iChar = 0; +				if (selectedText.len) { +					for (; iChar < selectedText.len; iChar++) +						ptr[iChar] = selectedText.s[iChar]; +				} else { +					ptr[0] = '\0'; +				} +				return iChar;  			} -			return iChar;  		}  	case SCI_LINEFROMPOSITION: | 
