summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-04-14 17:05:42 +0300
committerAlon Levy <alevy@redhat.com>2011-04-14 17:05:42 +0300
commit5f9745737ff89d6635f726e791ed1439b2eebf23 (patch)
tree81bb44d20516e8c34d124004e1f6ade29c7445dc
parent7d04c010a13159de38e25a07802e113c19ff8505 (diff)
DeleteDeviceBitmap hack - call DrvAssertMode if we are called before it
-rw-r--r--display/surface.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/display/surface.c b/display/surface.c
index 347b70a..fdc2b7f 100644
--- a/display/surface.c
+++ b/display/surface.c
@@ -243,6 +243,12 @@ VOID DeleteDeviceBitmap(PDev *pdev, UINT32 surface_id, UINT8 allocation_type)
pdev->Res->surfaces_info[surface_id].draw_area.base_mem != NULL) {
QXLSurfaceCmd *surface;
+ if (pdev->assert_mode == 0) {
+ DEBUG_PRINT((pdev, 0, "%s: id %d, assert_mode = %d - recreating surfaces\n",
+ __FUNCTION__, surface_id, pdev->assert_mode));
+ DrvAssertMode((DHPDEV)pdev, TRUE);
+ }
+ DEBUG_PRINT((pdev, 1, "%s: id %d\n", __FUNCTION__, surface_id));
surface = SurfaceCmd(pdev, QXL_SURFACE_CMD_DESTROY, surface_id);
QXLGetDelSurface(pdev, surface, surface_id, allocation_type);
PushSurfaceCmd(pdev, surface);