diff options
author | Bart Massey <bart@cs.pdx.edu> | 2005-12-18 07:51:20 +0000 |
---|---|---|
committer | Bart Massey <bart@cs.pdx.edu> | 2005-12-18 07:51:20 +0000 |
commit | f4464e70a9aae90c5ba9b2efa1ebb888079f3b20 (patch) | |
tree | 69faa4f8ae4aa25d9cae026d703e57a19e5f3f7c | |
parent | d66a4d2fda65130189727aa8ea7ee4f425a27f88 (diff) |
Fixed bad bug in test_shm() ---"data" parameter needed to be passed by
address. Shared memory case works now.
-rw-r--r-- | xcb-demo/tests/lissajoux.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/xcb-demo/tests/lissajoux.c b/xcb-demo/tests/lissajoux.c index 1bb6350..9594cd4 100644 --- a/xcb-demo/tests/lissajoux.c +++ b/xcb-demo/tests/lissajoux.c @@ -120,12 +120,12 @@ step (Data data) /* Return 0 if shm is not availaible, 1 otherwise */ void -shm_test (Data data) +shm_test (Data *datap) { XCBShmQueryVersionRep *rep; - rep = XCBShmQueryVersionReply (data.conn, - XCBShmQueryVersion (data.conn), + rep = XCBShmQueryVersionReply (datap->conn, + XCBShmQueryVersion (datap->conn), NULL); if (rep) { @@ -136,25 +136,25 @@ shm_test (Data data) format = rep->pixmap_format; else format = 0; - data.image = XCBImageSHMCreate (data.conn, data.depth, + datap->image = XCBImageSHMCreate (datap->conn, datap->depth, format, NULL, W_W, W_H); - assert(data.image); + assert(datap->image); shminfo.shmid = shmget (IPC_PRIVATE, - data.image->bytes_per_line*data.image->height, + datap->image->bytes_per_line*datap->image->height, IPC_CREAT | 0777); assert(shminfo.shmid != -1); shminfo.shmaddr = shmat (shminfo.shmid, 0, 0); assert(shminfo.shmaddr); - data.image->data = shminfo.shmaddr; + datap->image->data = shminfo.shmaddr; - shminfo.shmseg = XCBShmSEGNew (data.conn); - XCBShmAttach (data.conn, shminfo.shmseg, + shminfo.shmseg = XCBShmSEGNew (datap->conn); + XCBShmAttach (datap->conn, shminfo.shmseg, shminfo.shmid, 0); assert(shmctl(shminfo.shmid, IPC_RMID, 0) != -1); } - if (data.image) + if (datap->image) { printf ("Use of shm.\n"); do_shm = 1; @@ -164,7 +164,7 @@ shm_test (Data data) printf ("Can't use shm. Use standard functions.\n"); shmdt (shminfo.shmaddr); shmctl (shminfo.shmid, IPC_RMID, 0); - data.image = NULL; + datap->image = NULL; } } @@ -242,7 +242,7 @@ main (int argc, char *argv[]) XCBSync (data.conn, 0); if (try_shm) - shm_test (data); + shm_test (&data); time_start = get_time (); t_previous = 0.0; |