mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 22:38:05 +02:00
sw/xlib: Fix bad logic in shm allocation.
Fixes fdo 27823.
This commit is contained in:
parent
35a920e83b
commit
94b04d3d1c
1 changed files with 5 additions and 5 deletions
|
|
@ -124,6 +124,9 @@ static char *alloc_shm(struct xm_displaytarget *buf, unsigned size)
|
|||
{
|
||||
XShmSegmentInfo *const shminfo = & buf->shminfo;
|
||||
|
||||
shminfo->shmid = -1;
|
||||
shminfo->shmaddr = (char *) -1;
|
||||
|
||||
shminfo->shmid = shmget(IPC_PRIVATE, size, IPC_CREAT|0777);
|
||||
if (shminfo->shmid < 0) {
|
||||
return NULL;
|
||||
|
|
@ -385,12 +388,9 @@ xm_displaytarget_create(struct sw_winsys *winsys,
|
|||
xm_dt->stride = align(util_format_get_stride(format, width), alignment);
|
||||
size = xm_dt->stride * nblocksy;
|
||||
|
||||
if (!debug_get_option_xlib_no_shm())
|
||||
{
|
||||
if (!debug_get_option_xlib_no_shm()) {
|
||||
xm_dt->data = alloc_shm(xm_dt, size);
|
||||
if(!xm_dt->data) {
|
||||
xm_dt->shminfo.shmid = -1;
|
||||
xm_dt->shminfo.shmaddr = (char *) -1;
|
||||
if (xm_dt->data) {
|
||||
xm_dt->shm = TRUE;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue