<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi,<br>
<br>
I'm facing an issue when the client tries to create a new object with an id bigger than the current maximum id on server-side +1. Is it correct that those ids will be silently ignored?<br>
E.g. wl_client_add_resource() would call wl_map_insert_at() return -1 which isn't checked.<br>
<br>
For example, this situation might happen when a client calls wl_seat.get_pointer() on a seat which has no pointer device assigned.<br>
The result is that all the following object creations will silently fail. The client won't realize its failure until he tries to call a method on such object. Such error might be hard to find.<br>
<br>
Is my analysis correct, or did i miss something? If not what would be a correct fix for this?<br>
<br>
Restricting the id allocation to the next higher id seems reasonable, so the compositor get in trouble at corrupt messages with a new id that are too big.<br>
But should this restriction in wayland-server be relaxed?<br>
Or shall the compositor keep track of current maximum id and allocate new ids even when the corresponding server-side resource is not created?<br>
<br>
Regards,<br>
Mathias<br>
<br>
</div>
</body>
</html>