From 763dcc545dc7b0d3abeda94fcb1a51be3f82e475 Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Mon, 17 Aug 2015 13:20:36 +0800 Subject: [PATCH] Correct generation of GUID on Windows. --- atom/browser/ui/win/notify_icon.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/atom/browser/ui/win/notify_icon.cc b/atom/browser/ui/win/notify_icon.cc index 962dc871b5b6..48d0f875bcd0 100644 --- a/atom/browser/ui/win/notify_icon.cc +++ b/atom/browser/ui/win/notify_icon.cc @@ -39,6 +39,16 @@ NotifyIcon::NotifyIcon(NotifyIconHost* host, base::MD5Sum(explicit_app_id, sizeof(wchar_t) * wcslen(explicit_app_id), reinterpret_cast(&tray_app_id_hash_)); + + // Set the GUID to version 4 as described in RFC 4122, section 4.4. + // The format of GUID version 4 must be like + // xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, where y is one of [8, 9, A, B]. + tray_app_id_hash_.Data3 &= 0x0fff; + tray_app_id_hash_.Data3 |= 0x4000; + + // Set y to one of [8, 9, A, B]. + tray_app_id_hash_.Data4[0] = 1; + has_tray_app_id_hash_ = true; CoTaskMemFree(explicit_app_id); }