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) if (m.Msg == (int)WindowsMessages.QUERYENDSESSION)
{ {
// Casting to long before because the int conversion operator enforces checked semantics // Calling ToInt64 because the int conversion operator (called when irectly casting the IntPtr to the enum)
// thus crashes any 64 bits build. IntPtr -> long and long -> enum doesn't. // enforces checked semantics thus crashes any 64 bits build. ToInt64() and long -> enum conversion doesn't.
EndSessionReasons reason = (EndSessionReasons)(long)(m.LParam); EndSessionReasons reason = (EndSessionReasons)m.LParam.ToInt64();
if (reason.HasFlag(EndSessionReasons.ENDSESSION_CLOSEAPP)) 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. // Register for restart. This allows our application to automatically restart when it is installing an update from the Store.