Skip to content
  • Peter Maydell's avatar
    ui/cocoa: Redraw at correct size when switching surface · d3345a04
    Peter Maydell authored
    
    
    If the surface switch involved a resize, we were doing the redraw
    at the old size rather than the new, because the update of
    screen.width and screen.height was being done after the setFrame
    method calls which triggered a redraw. Normally this isn't very
    noticeable because typically after the guest triggers the window
    resize it also draws something to it, which will in turn cause
    us to redraw. However, the combination of a guest which never
    draws to the display and a command line setting of a screen size
    larger than the default can reveal odd effects.
    
    Move most of the handling of resizes to the top of the method,
    and guard it with a check that the surface size actually changed,
    to avoid unnecessary operations (including some user visible ones
    like "recenter the window on the screen") if the surface is the
    same size as the old one.
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Message-id: 1387853507-26298-2-git-send-email-peter.maydell@linaro.org
    d3345a04