<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">As I've been working with user32, adding tests &amp; such, I've noticed that gdi32 also suffers from the same drawbacks: it appears to have no mechanism to track object types with handles.&nbsp; Thus, the functions (that I've examined thus far) simply assume that the caller responsibly passed a handle to the correct object type and proceeds with that assumption.&nbsp; This is the cause of at least one bug that I know of (<a target="_blank" href="http://bugs.winehq.org/show_bug.cgi?id=18371"><span class="yshortcuts" id="lw_1243003067_0">18371</span></a>).<br><br>Right now, I'm trying to determine the best way to implement a solution and I'm still green to wine's architecture.&nbsp; My initial thought was a handle type table in user32 that would just contain a handle's type as a byte (or possibly two types packed in one byte since there are less than 16) using a
 huge ugly 64k table that directly mapped handle to entry (ugly but correct) and something more efficient later.&nbsp; But I'm wondering if it wouldn't be more appropriate to put something like that in kernel32's global arena table.<br><br>Input appreciated.<br><br>Daniel<br><br><br></td></tr></table><br>