diff options
author | Julien Cristau <jcristau@debian.org> | 2009-09-14 15:28:00 +0200 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2009-09-14 15:29:02 +0200 |
commit | 31c620f190e8bf9afa44962999020356dcfde764 (patch) | |
tree | 534d67d2f651c509513e789d682bac72c6e3291f | |
parent | e97e3ba1b40223b0f60fdc019ada16f46052c29f (diff) | |
parent | 551d149f9a0d4c7e17a27f8c843d789f782a54e1 (diff) |
Merge branch 'server-1.6-proposed' into debian-unstable
-rw-r--r-- | Xext/dpms.c | 17 | ||||
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | exa/exa_accel.c | 1 | ||||
-rw-r--r-- | hw/xfree86/dri2/dri2.c | 12 |
4 files changed, 20 insertions, 15 deletions
diff --git a/Xext/dpms.c b/Xext/dpms.c index bad7aa64f..d3e0dde8b 100644 --- a/Xext/dpms.c +++ b/Xext/dpms.c @@ -219,19 +219,10 @@ ProcDPMSForceLevel(client) if (!DPMSEnabled) return BadMatch; - if (stuff->level == DPMSModeOn) { - lastDeviceEventTime.milliseconds = - GetTimeInMillis(); - } else if (stuff->level == DPMSModeStandby) { - lastDeviceEventTime.milliseconds = - GetTimeInMillis() - DPMSStandbyTime; - } else if (stuff->level == DPMSModeSuspend) { - lastDeviceEventTime.milliseconds = - GetTimeInMillis() - DPMSSuspendTime; - } else if (stuff->level == DPMSModeOff) { - lastDeviceEventTime.milliseconds = - GetTimeInMillis() - DPMSOffTime; - } else { + if (stuff->level != DPMSModeOn && + stuff->level != DPMSModeStandby && + stuff->level != DPMSModeSuspend && + stuff->level != DPMSModeOff) { client->errorValue = stuff->level; return BadValue; } diff --git a/debian/changelog b/debian/changelog index 27e075970..7a5c7da50 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,11 @@ xorg-server (2:1.6.3.901-1) UNRELEASED; urgency=low rather than whatever renderproto version the server built against. * New upstream release. + idle counter computation fixes (closes: #542064) + * Cherry-pick three more patches nominated on + http://www.x.org/wiki/Server16Branch: + - Don't reset the lastDeviceEventTime when doing DPMS actions + - dri2: Don't crash if pPriv is NULL + - EXA: Only take special code path for 1x1 fill for pixmaps [ David Nusinow ] * Update xsfbs to 5693792171d885769e58dcccc053c08b11acd12a diff --git a/exa/exa_accel.c b/exa/exa_accel.c index dac6e6c79..22980d96a 100644 --- a/exa/exa_accel.c +++ b/exa/exa_accel.c @@ -966,6 +966,7 @@ exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel, exaMarkSync(pDrawable->pScreen); if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS) && + pExaPixmap->sys_ptr && pDrawable->type == DRAWABLE_PIXMAP && pDrawable->width == 1 && pDrawable->height == 1 && pDrawable->bitsPerPixel != 24) { ExaPixmapPriv(pPixmap); diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c index 580383dbc..3e8a7d4a8 100644 --- a/hw/xfree86/dri2/dri2.c +++ b/hw/xfree86/dri2/dri2.c @@ -190,10 +190,18 @@ do_get_buffers(DrawablePtr pDraw, int *width, int *height, int need_fake_front = 0; int have_fake_front = 0; int front_format = 0; - const int dimensions_match = (pDraw->width == pPriv->width) - && (pDraw->height == pPriv->height); + int dimensions_match; int i; + if (!pPriv) { + *width = pDraw->width; + *height = pDraw->height; + *out_count = 0; + return NULL; + } + + dimensions_match = (pDraw->width == pPriv->width) + && (pDraw->height == pPriv->height); buffers = xalloc((count + 1) * sizeof(buffers[0])); |