Windows/MinGW: Fix posted events timer not stopping
Specify the type of the enum value SendPostedEventsWindowsTimerId to be UINT_PTR to work with the g++ interpretation of enumeration signedness and use the correct type for the returned timer id. Fixes: QTBUG-78491 Change-Id: I7b3f306d3f60da7a21500ece5243ac90854ccf1a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit d35de9e1b250ce46739dcb6afb9ae8a0247195c7)
This commit is contained in:
parent
e1e4b1b780
commit
cb90cdbd65
@ -83,7 +83,10 @@ enum {
|
|||||||
WM_QT_SOCKETNOTIFIER = WM_USER,
|
WM_QT_SOCKETNOTIFIER = WM_USER,
|
||||||
WM_QT_SENDPOSTEDEVENTS = WM_USER + 1,
|
WM_QT_SENDPOSTEDEVENTS = WM_USER + 1,
|
||||||
WM_QT_ACTIVATENOTIFIERS = WM_USER + 2,
|
WM_QT_ACTIVATENOTIFIERS = WM_USER + 2,
|
||||||
SendPostedEventsWindowsTimerId = ~1u
|
};
|
||||||
|
|
||||||
|
enum : UINT_PTR {
|
||||||
|
SendPostedEventsWindowsTimerId = ~UINT_PTR(1)
|
||||||
};
|
};
|
||||||
|
|
||||||
class QEventDispatcherWin32Private;
|
class QEventDispatcherWin32Private;
|
||||||
@ -278,7 +281,7 @@ LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp)
|
|||||||
// no more input or timer events in the message queue, we can allow posted events to be sent normally now
|
// no more input or timer events in the message queue, we can allow posted events to be sent normally now
|
||||||
if (d->sendPostedEventsWindowsTimerId != 0) {
|
if (d->sendPostedEventsWindowsTimerId != 0) {
|
||||||
// stop the timer to send posted events, since we now allow the WM_QT_SENDPOSTEDEVENTS message
|
// stop the timer to send posted events, since we now allow the WM_QT_SENDPOSTEDEVENTS message
|
||||||
KillTimer(d->internalHwnd, d->sendPostedEventsWindowsTimerId);
|
KillTimer(d->internalHwnd, SendPostedEventsWindowsTimerId);
|
||||||
d->sendPostedEventsWindowsTimerId = 0;
|
d->sendPostedEventsWindowsTimerId = 0;
|
||||||
}
|
}
|
||||||
(void) d->wakeUps.fetchAndStoreRelease(0);
|
(void) d->wakeUps.fetchAndStoreRelease(0);
|
||||||
|
@ -173,7 +173,8 @@ public:
|
|||||||
|
|
||||||
// for controlling when to send posted events
|
// for controlling when to send posted events
|
||||||
QAtomicInt serialNumber;
|
QAtomicInt serialNumber;
|
||||||
int lastSerialNumber, sendPostedEventsWindowsTimerId;
|
int lastSerialNumber;
|
||||||
|
UINT_PTR sendPostedEventsWindowsTimerId;
|
||||||
QAtomicInt wakeUps;
|
QAtomicInt wakeUps;
|
||||||
|
|
||||||
// timers
|
// timers
|
||||||
|
Loading…
x
Reference in New Issue
Block a user