[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 01/24] exynos4210_fimd.c: fix display resize bug int
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 01/24] exynos4210_fimd.c: fix display resize bug introduced after console revamp |
Date: |
Thu, 4 Apr 2013 09:28:43 +0200 |
From: Igor Mitsyanko <address@hidden>
In exynos4210 display update function, we were acquiring DisplaySurface
pointer before calling screen resize function, not paying attention that resize
procedure can replace current DisplaySurface with newly allocated one.
Right thing to do is to initialize DisplaySurface AFTER a call to resize
function.
Signed-off-by: Igor Mitsyanko <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/exynos4210_fimd.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/hw/exynos4210_fimd.c b/hw/exynos4210_fimd.c
index bf316c6..333456a 100644
--- a/hw/exynos4210_fimd.c
+++ b/hw/exynos4210_fimd.c
@@ -1243,7 +1243,7 @@ static void
exynos4210_update_resolution(Exynos4210fimdState *s)
static void exynos4210_fimd_update(void *opaque)
{
Exynos4210fimdState *s = (Exynos4210fimdState *)opaque;
- DisplaySurface *surface = qemu_console_surface(s->console);
+ DisplaySurface *surface;
Exynos4210fimdWindow *w;
int i, line;
hwaddr fb_line_addr, inc_size;
@@ -1256,11 +1256,12 @@ static void exynos4210_fimd_update(void *opaque)
const int global_height = ((s->vidtcon[2] >> FIMD_VIDTCON2_VER_SHIFT) &
FIMD_VIDTCON2_SIZE_MASK) + 1;
- if (!s || !s->console || !surface_bits_per_pixel(surface) ||
- !s->enabled) {
+ if (!s || !s->console || !s->enabled ||
+ surface_bits_per_pixel(qemu_console_surface(s->console)) == 0) {
return;
}
exynos4210_update_resolution(s);
+ surface = qemu_console_surface(s->console);
for (i = 0; i < NUM_OF_WINDOWS; i++) {
w = &s->window[i];
--
1.7.9.7
- [Qemu-devel] [PATCH 10/24] console: add trace events, (continued)
- [Qemu-devel] [PATCH 10/24] console: add trace events, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 04/24] hw/vmware_vga.c: various vmware vga fixes., Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 11/24] console: displaystate init revamp, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 13/24] console: give each QemuConsole its own DisplaySurface, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 08/24] console: use pixman for font rendering, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 07/24] console: use pixman for fill+blit, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 15/24] console: zap g_width + g_height, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 05/24] pixman: add qemu_pixman_color(), Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 17/24] console: make DisplayState private to console.c, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 19/24] console: gui timer fixes, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 01/24] exynos4210_fimd.c: fix display resize bug introduced after console revamp,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 21/24] console: add qemu_console_is_*, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 12/24] console: rename vga_hw_*, add QemuConsole param, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 24/24] qxl: register QemuConsole for secondary cards, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 23/24] gtk: custom cursor support, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 20/24] xen: re-enable refresh interval reporting for xenfb, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 16/24] console: move gui_update+gui_setup_refresh from vl.c into console.c, Gerd Hoffmann, 2013/04/04
- [Qemu-devel] [PATCH 22/24] console: allow pinning displaychangelisteners to consoles, Gerd Hoffmann, 2013/04/04