diff options
| -rw-r--r-- | gtk/ScintillaGTK.cxx | 2 | ||||
| -rw-r--r-- | src/Editor.cxx | 4 | ||||
| -rw-r--r-- | src/Editor.h | 2 | ||||
| -rw-r--r-- | win32/ScintillaWin.cxx | 2 | 
4 files changed, 5 insertions, 5 deletions
| diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index 99f220d6c..873bc4c65 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -1424,7 +1424,7 @@ void ScintillaGTK::ReceivedSelection(GtkSelectionData *selection_data) {  				UndoGroup ug(pdoc);  				if (selection_data->selection != GDK_SELECTION_PRIMARY) { -					ClearSelection(); +					ClearSelection(multiPasteMode == SC_MULTIPASTE_EACH);  				}  				SelectionPosition selStart = sel.IsRectangular() ?  					sel.Rectangular().Start() : diff --git a/src/Editor.cxx b/src/Editor.cxx index 6cf8d7490..5ed69b36b 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -3912,8 +3912,8 @@ void Editor::InsertPaste(SelectionPosition selStart, const char *text, int len)  	}  } -void Editor::ClearSelection() { -	if (!sel.IsRectangular()) +void Editor::ClearSelection(bool retainMultipleSelections) { +	if (!sel.IsRectangular() && !retainMultipleSelections)  		FilterSelections();  	UndoGroup ug(pdoc);  	for (size_t r=0; r<sel.Count(); r++) { diff --git a/src/Editor.h b/src/Editor.h index 50948e2e3..288addee0 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -391,7 +391,7 @@ protected:	// ScintillaBase subclass needs access to much of Editor  	void AddChar(char ch);  	virtual void AddCharUTF(char *s, unsigned int len, bool treatAsDBCS=false);  	void InsertPaste(SelectionPosition selStart, const char *text, int len); -	void ClearSelection(); +	void ClearSelection(bool retainMultipleSelections=false);  	void ClearAll();  	void ClearDocumentStyle();  	void Cut(); diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 99ba47ff9..fc4b336c7 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1598,7 +1598,7 @@ void ScintillaWin::Paste() {  		return;  	UndoGroup ug(pdoc);  	bool isLine = SelectionEmpty() && (::IsClipboardFormatAvailable(cfLineSelect) != 0); -	ClearSelection(); +	ClearSelection(multiPasteMode == SC_MULTIPASTE_EACH);  	SelectionPosition selStart = sel.IsRectangular() ?  		sel.Rectangular().Start() :  		sel.Range(sel.Main()).Start(); | 
