summaryrefslogtreecommitdiff
path: root/src/fl_dnd_win32.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2010-12-10 17:52:14 +0000
committerManolo Gouy <Manolo>2010-12-10 17:52:14 +0000
commitefeb50019de6081c4de5f0db0573161ce494c965 (patch)
tree03ed311c729afbac3f8ec8012148208a63ddf4d1 /src/fl_dnd_win32.cxx
parent3ed11e08b0e67179247f5b4e2a84be7773e06785 (diff)
Fix the MSWindows part of STR #2472. DnD now works well with UTF-8 data
between FLTK and other apps in both directions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8000 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/fl_dnd_win32.cxx')
-rw-r--r--src/fl_dnd_win32.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/fl_dnd_win32.cxx b/src/fl_dnd_win32.cxx
index 4bd2d87bd..ffe2f7ccc 100644
--- a/src/fl_dnd_win32.cxx
+++ b/src/fl_dnd_win32.cxx
@@ -172,6 +172,14 @@ public:
HWND hwnd = fl_xid( (Fl_Window*)w );
if (fillCurrentDragData(data)) {
int old_event = Fl::e_number;
+ char *a, *b;
+ a = b = Fl::e_text;
+ while (*a) { // strip the CRLF pairs
+ if (*a == '\r' && a[1] == '\n') a++;
+ else *b++ = *a++;
+ }
+ *b = 0;
+ Fl::e_length = b - Fl::e_text;
Fl::belowmouse()->handle(Fl::e_number = FL_PASTE); // e_text will be invalid after this call
Fl::e_number = old_event;
SetForegroundWindow( hwnd );