Changed some functions prototypes (were returning void).
diff --git a/windows/win.c b/windows/win.c
index 9ab0434..01b2131 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -61,16 +61,19 @@
{
WND * ptr;
- if (!hwnd || HIWORD(hwnd)) return NULL;
+ if (!hwnd || HIWORD(hwnd)) goto error;
ptr = (WND *) USER_HEAP_LIN_ADDR( hwnd );
- if (ptr->dwMagic != WND_MAGIC) return NULL;
+ if (ptr->dwMagic != WND_MAGIC) goto error;
if (ptr->hwndSelf != hwnd)
{
ERR( win, "Can't happen: hwnd %04x self pointer is %04x\n",
- hwnd, ptr->hwndSelf );
- return NULL;
+ hwnd, ptr->hwndSelf );
+ goto error;
}
return ptr;
+ error:
+ SetLastError( ERROR_INVALID_WINDOW_HANDLE );
+ return NULL;
}