mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-30 04:08:31 +00:00
quartz: Return the rect from get_default_rect() through a pointer.
Notably, this avoids the incorrect use of a static variable.
This commit is contained in:
parent
bc1ba43942
commit
20b1ef6ed0
|
@ -108,7 +108,7 @@ struct video_window
|
|||
|
||||
struct video_window_ops
|
||||
{
|
||||
RECT (*get_default_rect)(struct video_window *window);
|
||||
void (*get_default_rect)(struct video_window *window, RECT *rect);
|
||||
HRESULT (*get_current_image)(struct video_window *window, LONG *size, LONG *image);
|
||||
};
|
||||
|
||||
|
|
|
@ -199,14 +199,11 @@ static HRESULT video_renderer_connect(struct strmbase_renderer *iface, const AM_
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static RECT video_renderer_get_default_rect(struct video_window *iface)
|
||||
static void video_renderer_get_default_rect(struct video_window *iface, RECT *rect)
|
||||
{
|
||||
struct video_renderer *This = impl_from_video_window(iface);
|
||||
static RECT defRect;
|
||||
struct video_renderer *filter = impl_from_video_window(iface);
|
||||
|
||||
SetRect(&defRect, 0, 0, This->VideoWidth, This->VideoHeight);
|
||||
|
||||
return defRect;
|
||||
SetRect(rect, 0, 0, filter->VideoWidth, filter->VideoHeight);
|
||||
}
|
||||
|
||||
static const struct strmbase_renderer_ops renderer_ops =
|
||||
|
|
|
@ -642,15 +642,12 @@ static const struct strmbase_renderer_ops renderer_ops =
|
|||
.renderer_pin_query_interface = vmr_pin_query_interface,
|
||||
};
|
||||
|
||||
static RECT vmr_get_default_rect(struct video_window *This)
|
||||
static void vmr_get_default_rect(struct video_window *iface, RECT *rect)
|
||||
{
|
||||
struct quartz_vmr *pVMR9 = impl_from_video_window(This);
|
||||
const BITMAPINFOHEADER *bmiheader = get_filter_bitmap_header(pVMR9);
|
||||
static RECT defRect;
|
||||
struct quartz_vmr *filter = impl_from_video_window(iface);
|
||||
const BITMAPINFOHEADER *bitmap_header = get_filter_bitmap_header(filter);
|
||||
|
||||
SetRect(&defRect, 0, 0, bmiheader->biWidth, bmiheader->biHeight);
|
||||
|
||||
return defRect;
|
||||
SetRect(rect, 0, 0, bitmap_header->biWidth, bitmap_header->biHeight);
|
||||
}
|
||||
|
||||
static HRESULT vmr_get_current_image(struct video_window *iface, LONG *size, LONG *image)
|
||||
|
|
|
@ -655,7 +655,7 @@ HRESULT WINAPI BaseControlWindowImpl_GetMinIdealImageSize(IVideoWindow *iface, L
|
|||
|
||||
TRACE("window %p, width %p, height %p.\n", window, width, height);
|
||||
|
||||
rect = window->ops->get_default_rect(window);
|
||||
window->ops->get_default_rect(window, &rect);
|
||||
*width = rect.right - rect.left;
|
||||
*height = rect.bottom - rect.top;
|
||||
return S_OK;
|
||||
|
@ -668,7 +668,7 @@ HRESULT WINAPI BaseControlWindowImpl_GetMaxIdealImageSize(IVideoWindow *iface, L
|
|||
|
||||
TRACE("window %p, width %p, height %p.\n", window, width, height);
|
||||
|
||||
rect = window->ops->get_default_rect(window);
|
||||
window->ops->get_default_rect(window, &rect);
|
||||
*width = rect.right - rect.left;
|
||||
*height = rect.bottom - rect.top;
|
||||
return S_OK;
|
||||
|
|
Loading…
Reference in a new issue