wayland: Compare serial numbers correctly to avoid overflow problems
We have to look at the difference between two numbers, which will always be well-defined and give the right result, even in case of integer overflow.
This commit is contained in:
parent
384a4e6ddb
commit
771dbe0592
@ -678,8 +678,12 @@ void
|
|||||||
_gdk_wayland_display_update_serial (GdkWaylandDisplay *wayland_display,
|
_gdk_wayland_display_update_serial (GdkWaylandDisplay *wayland_display,
|
||||||
guint32 serial)
|
guint32 serial)
|
||||||
{
|
{
|
||||||
if (serial > wayland_display->serial)
|
if (serial - wayland_display->serial < 1000)
|
||||||
wayland_display->serial = serial;
|
wayland_display->serial = serial;
|
||||||
|
else
|
||||||
|
g_warning (G_STRLOC ": serial number jump bigger than 1000 (%u -> %u",
|
||||||
|
wayland_display->serial, serial);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user