i have a methods in a class to create a shared memory x image - it creates and stores an xImage in the usual way: XShmSegmentInfo shminfo; ximage = XShmCreateImage(..., &shminfo); shminfo.shmid = shmget (.., ximage->height * ximage->bytes_per_line, ...); shminfo.shmaddr = ximage->data = shmat(shminfo.shmid, 0, 0); shminfo.readOnly = False; XShmAttach (display, &shminfo); i call this method in several places and only call XShmPutImage on the xImage later in my code. i get an X error: "X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 144 (MIT-SHM) Minor opcode of failed request: 3 (X_ShmPutImage)" which appears to be because the shared segment info has changed. if i save the shminfo each time and then re-attach it to the display before i call XShmPutImage, i still get the problem. any ideas ? what is the right thing to do here. also - in the code i'm using there is a call to: shmctl ( shmInfo.shmid, IPC_RMID, NULL ); just after it's created - surely this is wrong and i shouldn't remeove the sgm segment until my program is finishing. thanks in advance as always. _______________________________________________ XFree86 mailing list XFree86@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/xfree86