From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52681) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VZJur-00063p-Tc for qemu-devel@nongnu.org; Thu, 24 Oct 2013 08:21:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VZJuk-0003JV-SA for qemu-devel@nongnu.org; Thu, 24 Oct 2013 08:21:29 -0400 Received: from e23smtp03.au.ibm.com ([202.81.31.145]:48364) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VZJuk-0003JJ-7k for qemu-devel@nongnu.org; Thu, 24 Oct 2013 08:21:22 -0400 Received: from /spool/local by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 24 Oct 2013 22:21:18 +1000 Received: from d23relay03.au.ibm.com (d23relay03.au.ibm.com [9.190.235.21]) by d23dlp03.au.ibm.com (Postfix) with ESMTP id B232A3578040 for ; Thu, 24 Oct 2013 23:21:16 +1100 (EST) Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96]) by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r9OCKwJ49306584 for ; Thu, 24 Oct 2013 23:21:04 +1100 Received: from d23av01.au.ibm.com (localhost [127.0.0.1]) by d23av01.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id r9OCL9SN024640 for ; Thu, 24 Oct 2013 23:21:10 +1100 Message-ID: <526910B3.6010402@linux.vnet.ibm.com> Date: Thu, 24 Oct 2013 20:21:07 +0800 From: Lei Li MIME-Version: 1.0 References: <1378285636-7091-1-git-send-email-lilei@linux.vnet.ibm.com> In-Reply-To: <1378285636-7091-1-git-send-email-lilei@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH resend] sdl: Reverse support for video mode setting List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel Cc: sascha@srlabs.de, Anthony Liguori , Lei Li This patch has been confirmed by the reporter himself as link below, https://bugs.launchpad.net/qemu/+bug/1216368 It has been on the mailing list for a while, could it be merged? PING... On 09/04/2013 05:07 PM, Lei Li wrote: > Currently, If the setting of video mode failed, qemu will exit. It > should go back to the previous setting if the new screen resolution > failed. This patch fixes LP#1216368, add support to revert to existing > surface for the failure of video mode setting. > > Reported-by: Sascha Krissler > Signed-off-by: Lei Li > --- > ui/sdl.c | 23 +++++++++++++++++++---- > 1 files changed, 19 insertions(+), 4 deletions(-) > > diff --git a/ui/sdl.c b/ui/sdl.c > index 39a42d6..9d8583c 100644 > --- a/ui/sdl.c > +++ b/ui/sdl.c > @@ -86,6 +86,7 @@ static void sdl_update(DisplayChangeListener *dcl, > static void do_sdl_resize(int width, int height, int bpp) > { > int flags; > + SDL_Surface *tmp_screen; > > // printf("resizing to %d %d\n", w, h); > > @@ -98,12 +99,26 @@ static void do_sdl_resize(int width, int height, int bpp) > if (gui_noframe) > flags |= SDL_NOFRAME; > > - real_screen = SDL_SetVideoMode(width, height, bpp, flags); > + tmp_screen = SDL_SetVideoMode(width, height, bpp, flags); > if (!real_screen) { > - fprintf(stderr, "Could not open SDL display (%dx%dx%d): %s\n", width, > - height, bpp, SDL_GetError()); > - exit(1); > + if (!tmp_screen) { > + fprintf(stderr, "Could not open SDL display (%dx%dx%d): %s\n", > + width, height, bpp, SDL_GetError()); > + exit(1); > + } > + } else { > + /* > + * Revert to the previous video mode if the change of resizing or > + * resolution failed. > + */ > + if (!tmp_screen) { > + fprintf(stderr, "Failed to set SDL display (%dx%dx%d): %s\n", > + width, height, bpp, SDL_GetError()); > + return; > + } > } > + > + real_screen = tmp_screen; > } > > static void sdl_switch(DisplayChangeListener *dcl, -- Lei