summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_win32.cxx6
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;
}
}