[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] cocoa: Fix VBE function Set Display Start
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH] cocoa: Fix VBE function Set Display Start |
Date: |
Tue, 27 Nov 2012 06:03:28 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121025 Thunderbird/16.0.2 |
Am 21.11.2012 20:08, schrieb Henry Harrington:
> Register a dpy_gfx_setdata callback so that the Cocoa code
> is notified whenever the screen start address changes.
>
> Signed-off-by: Henry Harrington <address@hidden>
> ---
> ui/cocoa.m | 18 ++++++++++++++++++
> 1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/ui/cocoa.m b/ui/cocoa.m
> index 87d2e44..97010bc 100644
> --- a/ui/cocoa.m
> +++ b/ui/cocoa.m
> @@ -265,6 +265,7 @@ static int cocoa_keycode_to_qemu(int keycode)
> BOOL isTabletEnabled;
> }
> - (void) resizeContentToWidth:(int)w height:(int)h
> displayState:(DisplayState *)ds;
> +- (void) updateDataOffset:(DisplayState *)ds;
> - (void) grabMouse;
> - (void) ungrabMouse;
> - (void) toggleFullScreen:(id)sender;
> @@ -429,6 +430,17 @@ QemuCocoaView *cocoaView;
> [self setFrame:NSMakeRect(cx, cy, cw, ch)];
> }
>
> +- (void) updateDataOffset:(DisplayState *)ds
> +{
> + COCOA_DEBUG("QemuCocoaView: UpdateDataOffset\n");
> +
> + // update screenBuffer
> + if (dataProviderRef)
> + CGDataProviderRelease(dataProviderRef);
Please add braces for if.
> +
> + dataProviderRef = CGDataProviderCreateWithData(NULL, ds_get_data(ds),
> ds_get_width(ds) * 4 * ds_get_height(ds), NULL);
This line seems overly long, please keep within 80 chars.
> +}
> +
> - (void) toggleFullScreen:(id)sender
> {
> COCOA_DEBUG("QemuCocoaView: toggleFullScreen\n");
> @@ -1004,6 +1016,11 @@ static void cocoa_refresh(DisplayState *ds)
> vga_hw_update();
> }
>
> +static void cocoa_setdata(DisplayState *ds)
> +{
> + [cocoaView updateDataOffset:ds];
Please indent using 4 spaces.
> +}
> +
> static void cocoa_cleanup(void)
> {
> COCOA_DEBUG("qemu_cocoa: cocoa_cleanup\n");
> @@ -1020,6 +1037,7 @@ void cocoa_display_init(DisplayState *ds, int
> full_screen)
> dcl->dpy_gfx_update = cocoa_update;
> dcl->dpy_gfx_resize = cocoa_resize;
> dcl->dpy_refresh = cocoa_refresh;
> + dcl->dpy_gfx_setdata = cocoa_setdata;
>
> register_displaychangelistener(ds, dcl);
>
Apart from the style issues above (you can use scripts/checkpatch.pl to
verify) this looks okay. Unfortunately I am not getting pixman built on
OSX so am still unable to test...
Am I understanding correctly that this is an optional hook and not a bug
fix for 1.3? How can it be verified?
Regards,
Andreas