aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2005-11-03 22:30:58 +0000
committernyamatongwe <devnull@localhost>2005-11-03 22:30:58 +0000
commitfd87954421819f1512753f2479505e59ce6eb1b3 (patch)
tree8bd9cc760ea542e7378f166faca0f4b53ab2810e
parent9b95e3ce6670eb7999113ae2fdbff3dbb2dea7d5 (diff)
downloadscintilla-mirror-fd87954421819f1512753f2479505e59ce6eb1b3.tar.gz
Stopped dragging of empty ranges.
Correct unlocking of empty data in drag and drop. Allow entry of NUL through Shift+Ctrl+@ in Unicode mode.
-rw-r--r--src/Editor.cxx4
-rw-r--r--win32/ScintillaWin.cxx6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 996d540db..bf94fb8ed 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -5070,7 +5070,7 @@ void Editor::ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, b
NotifyHotSpotClicked(newPos, shift, ctrl, alt);
}
if (!shift) {
- inDragDrop = PointInSelection(pt);
+ inDragDrop = PointInSelection(pt) && !SelectionEmpty();
}
if (inDragDrop) {
SetMouseCapture(false);
@@ -5223,7 +5223,7 @@ void Editor::ButtonMove(Point pt) {
}
}
// Display regular (drag) cursor over selection
- if (PointInSelection(pt)) {
+ if (PointInSelection(pt) && !SelectionEmpty()) {
DisplayCursor(Window::cursorArrow);
} else if (PointIsHotspot(pt)) {
DisplayCursor(Window::cursorHand);
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index 5b54e75fe..6d51445e6 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -672,7 +672,7 @@ sptr_t ScintillaWin::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam
::ScreenToClient(MainHWND(), &pt);
if (PointInSelMargin(Point(pt.x, pt.y))) {
DisplayCursor(Window::cursorReverseArrow);
- } else if (PointInSelection(Point(pt.x, pt.y))) {
+ } else if (PointInSelection(Point(pt.x, pt.y)) && !SelectionEmpty()) {
DisplayCursor(Window::cursorArrow);
} else if (PointIsHotspot(Point(pt.x, pt.y))) {
DisplayCursor(Window::cursorHand);
@@ -1709,7 +1709,7 @@ void ScintillaWin::AddCharBytes(char b0, char b1) {
unsigned int len = UTF8Length(wcs, 1);
UTF8FromUCS2(wcs, 1, utfval, len);
utfval[len] = '\0';
- AddCharUTF(utfval,len);
+ AddCharUTF(utfval, len ? len : 1);
} else if (b0) {
char dbcsChars[3];
dbcsChars[0] = b0;
@@ -2096,7 +2096,7 @@ STDMETHODIMP ScintillaWin::GetData(FORMATETC *pFEIn, STGMEDIUM *pSTM) {
memcpy(static_cast<char *>(text.ptr), drag.s, drag.len);
}
}
- pSTM->hGlobal = text.Unlock();
+ pSTM->hGlobal = text ? text.Unlock() : 0;
pSTM->pUnkForRelease = 0;
return S_OK;
}