qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]