summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2011-10-05 12:27:27 -0400
committerSøren Sandmann Pedersen <ssp@redhat.com>2012-01-17 11:19:10 -0500
commit9600e4a0b57693da451f3f5ca61637d0275c3836 (patch)
tree2c3a9cd847a4e2da42c556d2c1ca1a171f3182b0
parente2fad1c9afe55ee9909a3ec8f142d2611f88b3f7 (diff)
Reset non-primary device out of CloseScreen().
Otherwise, client windows will linger even after the server shuts down. Don't reset the primary device so that we can preserve the fonts etc.
-rw-r--r--src/qxl_driver.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index d4b5a8f..5dec522 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -495,11 +495,13 @@ qxl_close_screen(int scrnIndex, ScreenPtr pScreen)
pScreen->CreateScreenResources = qxl->create_screen_resources;
pScreen->CloseScreen = qxl->close_screen;
-
-
result = pScreen->CloseScreen(scrnIndex, pScreen);
- if (pScrn->vtSema) {
+ if (!xf86IsPrimaryPci (qxl->pci) && qxl->primary)
+ qxl_reset (qxl);
+
+ if (pScrn->vtSema)
+ {
qxl_restore_state(pScrn);
qxl_unmap_memory(qxl, scrnIndex);
}