diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_win32.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx index 6fbec0146..5ca8abf79 100644 --- a/src/Fl_win32.cxx +++ b/src/Fl_win32.cxx @@ -384,11 +384,15 @@ void Fl::copy(const char *stuff, int len, int clipboard) { if (clipboard) { // set up for "delayed rendering": if (OpenClipboard(fl_xid(Fl::first_window()))) { + // if the system clipboard works, use it EmptyClipboard(); SetClipboardData(CF_TEXT, NULL); CloseClipboard(); + fl_i_own_selection[clipboard] = 0; + } else { + // only if it fails, instruct paste() to use the internal buffers + fl_i_own_selection[clipboard] = 1; } - fl_i_own_selection[clipboard] = 1; } } |
