X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f402150f7790ac06356e14ef0ef814ec03983c6d..cc1487e53905bd534dba2099d33ac2142cec7818:/src/stc/ScintillaWX.cpp diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp index 3bf1d13c43..764048fbc2 100644 --- a/src/stc/ScintillaWX.cpp +++ b/src/stc/ScintillaWX.cpp @@ -257,7 +257,7 @@ void ScintillaWX::StartDrag() { // We defer the starting of the DnD, otherwise the LeftUp of a normal // click could be lost and the STC will think it is doing a DnD when the // user just wanted a normal click. - startDragTimer->Start(100, true); + startDragTimer->Start(200, true); #endif // wxUSE_DRAG_AND_DROP } @@ -483,7 +483,10 @@ void ScintillaWX::Paste() { 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); @@ -827,13 +830,15 @@ void ScintillaWX::DoLeftButtonDown(Point pt, unsigned int curTime, bool shift, b } void ScintillaWX::DoLeftButtonUp(Point pt, unsigned int curTime, bool ctrl) { + ButtonUp(pt, curTime, ctrl); #if wxUSE_DRAG_AND_DROP if (startDragTimer->IsRunning()) { startDragTimer->Stop(); + SetDragPosition(invalidPosition); SetEmptySelection(PositionFromLocation(pt)); + ShowCaretAtCurrentPosition(); } #endif // wxUSE_DRAG_AND_DROP - ButtonUp(pt, curTime, ctrl); } void ScintillaWX::DoLeftButtonMove(Point pt) { @@ -907,10 +912,10 @@ int ScintillaWX::DoKeyDown(const wxKeyEvent& evt, bool* consumed) case WXK_RIGHT: key = SCK_RIGHT; break; case WXK_HOME: key = SCK_HOME; break; case WXK_END: key = SCK_END; break; - case WXK_PAGEUP: // fall through - case WXK_PRIOR: key = SCK_PRIOR; break; - case WXK_PAGEDOWN: // fall through - case WXK_NEXT: key = SCK_NEXT; break; + case WXK_PAGEUP: key = SCK_PRIOR; break; + case WXK_PAGEDOWN: key = SCK_NEXT; break; + case WXK_NUMPAD_PAGEUP: key = SCK_PRIOR; break; + case WXK_NUMPAD_PAGEDOWN: key = SCK_NEXT; break; case WXK_DELETE: key = SCK_DELETE; break; case WXK_INSERT: key = SCK_INSERT; break; case WXK_ESCAPE: key = SCK_ESCAPE; break;