#1 XCopyArea failure??

open-accepted
nobody
5
2003-08-17
2002-12-20
Anonymous
No

From: john_watts@uk.ibm.com

IBM AIX 5.1, two screens

Any X calls that write directly to the window (XDrawLine, XDrawText, etc) work fine on both screens. But
the copy function to the right-hand screen (XCopyArea) doesn't work at all, even when the window is
across both screens and is refreshed after an expose event,. The left-hand one is refreshed, the
right-hand one stays empty..

x11ruler works in both screens, x11update_zone only in left-hand screen

PicturePixmap=XCreatePixmap(display,window,win_attributes.width
,win_attributes.height
,win_attributes.depth
);

void x11ruler(int x1, int y1, int y2)
/*
Sets the drawing function to 'invert', then draws a white line
Drawing function is then reset to 'copy'
*/
{
XSetForeground(display,gc,WhitePixel(display,nScreen));
XSetFunction(display,gc,GXinvert);
XDrawLine(display,window,gc,x1,y1,x1,y2);
XSetFunction(display,gc,GXcopy);
}/* x11ruler */

void x11update_zone(int ix, int iy, int ix2, int iy2)
{
int iwidth, iheight;

iwidth =ix2-ix+1;
iheight=iy2-iy+1;
XCopyArea(display,PicturePixmap,window,gc,ix,iy,iwidth,iheight,ix,iy);
}/* x11update_zone */

Discussion

  • Jay Cotton

    Jay Cotton - 2003-08-17

    Logged In: YES
    user_id=173944

    Yes, I'v seen this. The XFree86 code seems to have a
    better version. I'll look at it and see what can be done.

     
  • Jay Cotton

    Jay Cotton - 2003-08-17
    • status: open --> open-accepted
     

Log in to post a comment.