[PATCH] winemac: Fix macdrv_WindowPosChanged behavior when SWP_HIDEWINDOW flag is used.

Piotr Caban piotr at codeweavers.com
Wed Mar 11 10:28:16 CDT 2020


On 3/11/20 4:16 PM, Ken Thomases wrote:
> Hmm.  This means that when a window is hidden, we don't release its surface, which can be a large allocation.
> 
> I think the right fix would be something like changing get_mac_surface() in surface.c to check surface->funcs against &macdrv_surface_funcs and returning NULL if it's not one of ours.  Then, check the return in the appropriate places (in a number of places where it's called we know for sure that it's one of ours).
Isn't it better to never store dummy_surface in data->surface? How about 
doing something like:
if (!(swp_flags & SWP_HIDEWINDOW)) surface = NULL;
in macdrv_WindowPosChanged?

Thanks,
Piotr



More information about the wine-devel mailing list