diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2011-10-05 12:27:27 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2012-01-17 11:19:10 -0500 |
commit | 9600e4a0b57693da451f3f5ca61637d0275c3836 (patch) | |
tree | 2c3a9cd847a4e2da42c556d2c1ca1a171f3182b0 | |
parent | e2fad1c9afe55ee9909a3ec8f142d2611f88b3f7 (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.c | 8 |
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); } |