summaryrefslogtreecommitdiff
path: root/plugins/MirOTR/src/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirOTR/src/utils.cpp')
-rw-r--r--plugins/MirOTR/src/utils.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/MirOTR/src/utils.cpp b/plugins/MirOTR/src/utils.cpp
index fa02d254cd..1b1a9fe55c 100644
--- a/plugins/MirOTR/src/utils.cpp
+++ b/plugins/MirOTR/src/utils.cpp
@@ -187,6 +187,22 @@ void ShowError(wchar_t *msg)
}
}
+void CopyToClipboard(const wchar_t *pwszMsg)
+{
+ if (pwszMsg == nullptr)
+ return;
+
+ HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (mir_wstrlen(pwszMsg) + 1) * sizeof(wchar_t));
+ LPWSTR lptstrCopy = (LPWSTR)GlobalLock(hglbCopy);
+ mir_wstrcpy(lptstrCopy, pwszMsg);
+ GlobalUnlock(hglbCopy);
+
+ if (OpenClipboard(nullptr)) {
+ EmptyClipboard();
+ SetClipboardData(CF_UNICODETEXT, hglbCopy);
+ CloseClipboard();
+ }
+}
void ShowPopupUtf(const char* line1, const char* line2, int timeout, const MCONTACT hContact)
{