Commit da1e666f authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

winemac: Handle dummy_surface in get_mac_surface.

parent c6b501ac
...@@ -70,10 +70,7 @@ struct macdrv_window_surface ...@@ -70,10 +70,7 @@ struct macdrv_window_surface
BITMAPINFO info; /* variable size, must be last */ BITMAPINFO info; /* variable size, must be last */
}; };
static struct macdrv_window_surface *get_mac_surface(struct window_surface *surface) static struct macdrv_window_surface *get_mac_surface(struct window_surface *surface);
{
return (struct macdrv_window_surface *)surface;
}
/*********************************************************************** /***********************************************************************
* update_blit_data * update_blit_data
...@@ -227,6 +224,12 @@ static const struct window_surface_funcs macdrv_surface_funcs = ...@@ -227,6 +224,12 @@ static const struct window_surface_funcs macdrv_surface_funcs =
macdrv_surface_destroy, macdrv_surface_destroy,
}; };
static struct macdrv_window_surface *get_mac_surface(struct window_surface *surface)
{
if (!surface || surface->funcs != &macdrv_surface_funcs) return NULL;
return (struct macdrv_window_surface *)surface;
}
/*********************************************************************** /***********************************************************************
* create_surface * create_surface
*/ */
...@@ -311,7 +314,7 @@ failed: ...@@ -311,7 +314,7 @@ failed:
void set_surface_use_alpha(struct window_surface *window_surface, BOOL use_alpha) void set_surface_use_alpha(struct window_surface *window_surface, BOOL use_alpha)
{ {
struct macdrv_window_surface *surface = get_mac_surface(window_surface); struct macdrv_window_surface *surface = get_mac_surface(window_surface);
surface->use_alpha = use_alpha; if (surface) surface->use_alpha = use_alpha;
} }
/*********************************************************************** /***********************************************************************
...@@ -424,6 +427,7 @@ void surface_clip_to_visible_rect(struct window_surface *window_surface, const R ...@@ -424,6 +427,7 @@ void surface_clip_to_visible_rect(struct window_surface *window_surface, const R
{ {
struct macdrv_window_surface *surface = get_mac_surface(window_surface); struct macdrv_window_surface *surface = get_mac_surface(window_surface);
if (!surface) return;
window_surface->funcs->lock(window_surface); window_surface->funcs->lock(window_surface);
if (surface->drawn) if (surface->drawn)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment