diff options
| author | Manolo Gouy <Manolo> | 2010-12-10 17:52:14 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2010-12-10 17:52:14 +0000 |
| commit | efeb50019de6081c4de5f0db0573161ce494c965 (patch) | |
| tree | 03ed311c729afbac3f8ec8012148208a63ddf4d1 | |
| parent | 3ed11e08b0e67179247f5b4e2a84be7773e06785 (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
| -rw-r--r-- | src/fl_dnd_win32.cxx | 8 |
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 ); |
