void ScintillaWX::SetMouseCapture(bool on) {
if (mouseDownCaptures) {
- if (on && !stc->HasCapture())
+ if (on && !capturedMouse)
stc->CaptureMouse();
- else if (!on && stc->HasCapture())
+ else if (!on && capturedMouse && stc->HasCapture())
stc->ReleaseMouse();
- capturedMouse = stc->HasCapture();
+ capturedMouse = on;
}
}
bool ScintillaWX::HaveMouseCapture() {
- capturedMouse = stc->HasCapture();
return capturedMouse;
}
if (gotData) {
wxString text = wxTextBuffer::Translate(data.GetText(),
wxConvertEOLMode(pdoc->eolMode));
+ data.SetText(wxEmptyString); // free the data object content
wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text);
+ text = wxEmptyString; // free text
+
int len = strlen(buf);
pdoc->InsertString(currentPos, buf, len);
SetEmptySelection(currentPos + len);