Hello, Here is a rather big patch that fixes the broken non-client areas in X, and since it involves quite a few changes in key areas I'd appreciate any comments .
The first thing I found is that when sending a WM_NCCALCSIZE, we were initializing the message with a proposed client area, while MS initializes it to the entire window area and then they calculate the client area in their DefWndProc. This got broken when Winforms handles WM_NCCALCSIZE somewhere and doesn't send it to DefWndProc for further processing, in which case the borders on X were calculated twice. This was hidden by the fact that Hwnd.GetClientRectangle didn't calculate the borders correctly, but when I fixed that very weird things started to happen (windows jumping around when moving them for instance), so that's the reason for the rest of the changes. Hopefully I didn't get completely lost in there :) Rolf
ncpublic.patch
Description: Binary data
_______________________________________________ Mono-winforms-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-winforms-list
