Index: src/ch/ClipboardMonitor.cpp =================================================================== diff -u -N -rfa1b3554856407e4501db20d5093818e8d8c4068 -r547f865c69434c14c6f16e4b529d4198f6fe2040 --- src/ch/ClipboardMonitor.cpp (.../ClipboardMonitor.cpp) (revision fa1b3554856407e4501db20d5093818e8d8c4068) +++ src/ch/ClipboardMonitor.cpp (.../ClipboardMonitor.cpp) (revision 547f865c69434c14c6f16e4b529d4198f6fe2040) @@ -106,18 +106,15 @@ // operation type chengine::EOperationType eOperation = chengine::eOperation_Copy; - if(IsClipboardFormatAvailable(nFormat)) + if(IsClipboardFormatAvailable(nFormat) && (handle = GetClipboardData(nFormat)) != nullptr) { - handle=GetClipboardData(nFormat); - LPVOID addr=GlobalLock(handle); + LPVOID addr = GlobalLock(handle); - DWORD dwData=((DWORD*)addr)[0]; - if(dwData & DROPEFFECT_COPY) + DWORD dwData = ((DWORD*)addr)[0]; + if (dwData & DROPEFFECT_COPY) eOperation = chengine::eOperation_Copy; // copy - else if(dwData & DROPEFFECT_MOVE) + else if (dwData & DROPEFFECT_MOVE) eOperation = chengine::eOperation_Move; // move - - GlobalUnlock(handle); } else eOperation = chengine::eOperation_Copy; // default - copy