winemac: Handle dummy_surface in get_mac_surface.
Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Ken Thomases <ken@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c6b501acdc
commit
da1e666f57
|
@ -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 =
|
||||||
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:
|
||||||
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
|
||||||
{
|
{
|
||||||
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)
|
||||||
|
|
Loading…
Reference in New Issue