diff options
author | Luc Verhaegen <libv@skynet.be> | 2008-10-08 14:55:29 +0200 |
---|---|---|
committer | Luc Verhaegen <libv@skynet.be> | 2008-10-08 14:55:29 +0200 |
commit | 1feb69eb63e6739ff5db255ad529e84adf941a10 (patch) | |
tree | 07e6fae40a54cd7ffafb6ae4182030da94f8b643 | |
parent | d1bb5e3b47ab71aa2f18f69daaf2a4c5ce06d800 (diff) |
DGA: Fix ProcXF86DGASetViewPort for missing support in driver.
Fixes a segfault when trying to activate a DGA mode without checking
whether DGA modesetting is at all possible.
-rw-r--r-- | hw/xfree86/dixmods/extmod/xf86dga.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/hw/xfree86/dixmods/extmod/xf86dga.c b/hw/xfree86/dixmods/extmod/xf86dga.c index 0736167f8..c66bca26b 100644 --- a/hw/xfree86/dixmods/extmod/xf86dga.c +++ b/hw/xfree86/dixmods/extmod/xf86dga.c @@ -93,7 +93,7 @@ ProcXF86DGADirectVideo(ClientPtr client) REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); - if (!DGAAvailable(stuff->screen)) + if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; if (stuff->enable & XF86DGADirectGraphics) { @@ -128,7 +128,7 @@ ProcXF86DGAGetViewPortSize(ClientPtr client) rep.length = 0; rep.sequenceNumber = client->sequence; - if (!DGAAvailable(stuff->screen)) + if (!DGAAvailable(stuff->screen)) return (DGAErrorBase + XF86DGANoDirectVideoMode); if(!(num = DGAGetOldDGAMode(stuff->screen))) @@ -153,6 +153,9 @@ ProcXF86DGASetViewPort(ClientPtr client) REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); + if (!DGAAvailable(stuff->screen)) + return (DGAErrorBase + XF86DGANoDirectVideoMode); + if (!DGAActive(stuff->screen)) { int num; |