Pierre d'Herbemont pdherbemont@free.fr writes:
-void X11DRV_window_to_X_rect( struct x11drv_win_data *data, RECT *rect ) +void X11DRV_window_to_X_rect( HWND hwnd, RECT *rect ) { RECT rc;
- if (!data->managed) return;
- if (!is_window_managed(hwnd)) return; if (IsRectEmpty( rect )) return;
This won't work, is_window_managed() will re-evaluate the managed flag so it will give wrong results if the window style has changed.
On 22 janv. 07, at 13:31, Alexandre Julliard wrote:
Pierre d'Herbemont pdherbemont@free.fr writes:
-void X11DRV_window_to_X_rect( struct x11drv_win_data *data, RECT *rect ) +void X11DRV_window_to_X_rect( HWND hwnd, RECT *rect ) { RECT rc;
- if (!data->managed) return;
- if (!is_window_managed(hwnd)) return; if (IsRectEmpty( rect )) return;
This won't work, is_window_managed() will re-evaluate the managed flag so it will give wrong results if the window style has changed.
Thanks for the explanation, I'll fix that by moving the set_window_pos wineserver call in user32 and add a new exported function (like GetValidRect) to the driver to deal with valid_rect.
Pierre.