Use ToInt64

This commit is contained in:
Charles Milette 2018-11-19 14:32:16 -05:00
parent 9d94f1f203
commit e7e30a46c2
No known key found for this signature in database
GPG key ID: 1A5AE81377AD973A

View file

@ -302,9 +302,9 @@ protected override void WndProc(ref Message m)
{
if (m.Msg == (int)WindowsMessages.QUERYENDSESSION)
{
// Casting to long before because the int conversion operator enforces checked semantics
// thus crashes any 64 bits build. IntPtr -> long and long -> enum doesn't.
EndSessionReasons reason = (EndSessionReasons)(long)(m.LParam);
// Calling ToInt64 because the int conversion operator (called when irectly casting the IntPtr to the enum)
// enforces checked semantics thus crashes any 64 bits build. ToInt64() and long -> enum conversion doesn't.
EndSessionReasons reason = (EndSessionReasons)m.LParam.ToInt64();
if (reason.HasFlag(EndSessionReasons.ENDSESSION_CLOSEAPP))
{
// Register for restart. This allows our application to automatically restart when it is installing an update from the Store.