internal: introduce new types to avoid unsigned int rollover and signed int overflow (#7216)
* framebuffer: avoid gluint overflow GLuint was being initialized to -1 and rolling over to unsigned int max, its defined behaviour but very unnecessery. add a bool and use it for checking if allocated or not. * opengl: avoid gluint rollover -1 rolls over to unsigned int max, use 0xFF instead. * core: big uint64_t to int type conversion there were a few uint64_t to int implicit conversions overflowing int and causing UB, make all monitor/workspaces/windows use the new typedefs. also fix the various related 64 to 32 implicit conversions going around found with -Wshorten-64-to-32
This commit is contained in:
parent
83a334f97d
commit
4b4971c06f
39 changed files with 263 additions and 252 deletions
|
|
@ -119,7 +119,7 @@ wl_resource* CForeignToplevelHandleWlr::res() {
|
|||
}
|
||||
|
||||
void CForeignToplevelHandleWlr::sendMonitor(CMonitor* pMonitor) {
|
||||
if (lastMonitorID == (int64_t)pMonitor->ID)
|
||||
if (lastMonitorID == pMonitor->ID)
|
||||
return;
|
||||
|
||||
const auto CLIENT = resource->client();
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class CForeignToplevelHandleWlr {
|
|||
SP<CZwlrForeignToplevelHandleV1> resource;
|
||||
PHLWINDOWREF pWindow;
|
||||
bool closed = false;
|
||||
int64_t lastMonitorID = -1;
|
||||
MONITORID lastMonitorID = MONITOR_INVALID;
|
||||
|
||||
void sendMonitor(CMonitor* pMonitor);
|
||||
void sendState();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue