# HG changeset patch # User Jason Rumney # Date 1082313243 0 # Node ID 64d01f3f16e53174efa8ab5a0fd2cf4d0c55d992 # Parent 0c5529232126d4d28e35532062e9440e0b1d011c (Fw32_set_clipboard_data): Get sequence number after closing the clipboard. diff -r 0c5529232126 -r 64d01f3f16e5 src/w32select.c --- a/src/w32select.c Sun Apr 18 18:33:01 2004 +0000 +++ b/src/w32select.c Sun Apr 18 18:34:03 2004 +0000 @@ -259,11 +259,18 @@ ok = EmptyClipboard () && SetClipboardData (CF_TEXT, htext); + CloseClipboard (); + + /* Common sense says to read the sequence number inside the + OpenClipboard/ CloseClipboard block to avoid race conditions + where another app puts something on the clipboard straight after + us. But experience suggests that the sequence number from the + SetClipboardData is not allocated until we close the clipboard! + Since clipboard operations are normally user-driven, the race + condition is probably not going to really happen. */ if (clipboard_sequence_fn) last_clipboard_sequence_number = clipboard_sequence_fn (); - CloseClipboard (); - if (ok) goto done; error: