From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LAnjA-0001PW-4j for qemu-devel@nongnu.org; Thu, 11 Dec 2008 10:45:24 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LAnj8-0001Nf-6G for qemu-devel@nongnu.org; Thu, 11 Dec 2008 10:45:23 -0500 Received: from [199.232.76.173] (port=36752 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LAnj8-0001NK-0R for qemu-devel@nongnu.org; Thu, 11 Dec 2008 10:45:22 -0500 Received: from mx20.gnu.org ([199.232.41.8]:65477) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LAnj7-00047y-Ia for qemu-devel@nongnu.org; Thu, 11 Dec 2008 10:45:21 -0500 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LAnj6-00006i-Ck for qemu-devel@nongnu.org; Thu, 11 Dec 2008 10:45:20 -0500 From: Paul Brook Subject: Re: [Qemu-devel] [PATCH 0 of 7] [UPDATE] DisplayState interface change Date: Thu, 11 Dec 2008 15:45:16 +0000 References: <492D8B94.4000805@eu.citrix.com> <200812111529.26089.paul@codesourcery.com> <494133A8.9010607@eu.citrix.com> In-Reply-To: <494133A8.9010607@eu.citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200812111545.17106.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefano Stabellini Cc: qemu-devel@nongnu.org On Thursday 11 December 2008, Stefano Stabellini wrote: > Paul Brook wrote: > > On Thursday 11 December 2008, Stefano Stabellini wrote: > >> Paul Brook wrote: > >>>> void qemu_console_resize(DisplayState *ds, int width, int height, int > >>>> bpp, int linesize, uint8_t *data) > >>>> { > >>>> TextConsole *s = get_graphic_console(); > >>>> s->g_width = width; > >>>> s->g_height = height; > >>>> if (is_graphic_console()) { > >>>> if (data && (bpp == 16 || bpp == 32)) { > >>>> qemu_freeDisplaySurface(ds->surface); > >>>> ds->surface = qemu_createDisplaySurfaceFrom(width, height, > >>>> bpp, linesize, data); } else { > >>>> ds->surface = qemu_resizeDisplaySurface(ds->surface, > >>>> width, height, 32, 4 * width); } > >>>> dpy_resize(ds); > >>>> } > >>>> } > >>> > >>> It feels wrong to be modifying the surface here. We already have to > >>> recreate the surface when we switch consoles, so why can't we use the > >>> same code for a resize? > >> > >> We use mostly the same code already. > > > > Why only mostly? > > > > IIUC if a console is resized while active you get different behavior to a > > console that is resized when inactive, then activated. This is wrong. > > Are we arguing about where to put two lines of code? > I can use the same function for both even if the code is already the same. No. We're arguing about how surface creation is managed. As I pointed out the two implementations are no equivalent. Paul