Changeset 5558 in vbox for trunk/src/VBox/Additions/WINNT/VBoxService/VBoxClipboard.cpp
- Timestamp:
- Oct 30, 2007 12:57:20 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 25823
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/VBoxService/VBoxClipboard.cpp
r4711 r5558 39 39 // uint64_t u64LastSentCRC64; 40 40 41 volatile uint32_t u32Announcing;42 43 41 } VBOXCLIPBOARDCONTEXT; 44 42 … … 336 334 dprintf (("vboxClipboardProcessMsg: WM_DRAWCLIPBOARD, hwnd %p\n", pCtx->hwnd)); 337 335 338 if ( ASMAtomicCmpXchgU32 (&pCtx->u32Announcing, 0, 1) == false)339 { 340 /* C ould not do 1->0 transition. That means u32Announcing is 0. */336 if (GetClipboardOwner () != hwnd) 337 { 338 /* Clipboard was updated by another application. */ 341 339 vboxClipboardChanged (pCtx); 342 340 } … … 532 530 dprintf(("window proc WM_USER: VBOX_SHARED_CLIPBOARD_FMT_UNICODETEXT\n")); 533 531 534 /* Prevent the WM_DRAWCLIPBOARD processing. Will be reset in WM_DRAWCLIPBOARD. */ 535 if (ASMAtomicCmpXchgU32 (&pCtx->u32Announcing, 1, 0) == true) 536 { 537 hClip = SetClipboardData (CF_UNICODETEXT, NULL); 538 } 532 hClip = SetClipboardData (CF_UNICODETEXT, NULL); 539 533 } 540 534 … … 543 537 dprintf(("window proc WM_USER: VBOX_SHARED_CLIPBOARD_FMT_BITMAP\n")); 544 538 545 /* Prevent the WM_DRAWCLIPBOARD processing. Will be reset in WM_DRAWCLIPBOARD. */ 546 if (ASMAtomicCmpXchgU32 (&pCtx->u32Announcing, 1, 0) == true) 547 { 548 hClip = SetClipboardData (CF_DIB, NULL); 549 } 539 hClip = SetClipboardData (CF_DIB, NULL); 550 540 } 551 541 … … 556 546 if (format != 0) 557 547 { 558 /* Prevent the WM_DRAWCLIPBOARD processing. Will be reset in WM_DRAWCLIPBOARD. */ 559 if (ASMAtomicCmpXchgU32 (&pCtx->u32Announcing, 1, 0) == true) 560 { 561 hClip = SetClipboardData (format, NULL); 562 } 548 hClip = SetClipboardData (format, NULL); 563 549 } 564 550 }
Note:
See TracChangeset
for help on using the changeset viewer.