X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fplat%2FX11.cc;h=2bdb08389767df0bf23d36d86384996d2bec07e2;hb=e2bc1a03c3de8c79aeb597f918123085d59d2896;hp=6b5c3703016cff0610ee30a410e42c11be5e0fd6;hpb=a97289cf4cada58536c16f0b6168a9b959213b6c;p=org.ibex.core.git diff --git a/src/org/xwt/plat/X11.cc b/src/org/xwt/plat/X11.cc index 6b5c370..2bdb083 100644 --- a/src/org/xwt/plat/X11.cc +++ b/src/org/xwt/plat/X11.cc @@ -69,13 +69,14 @@ static void ensureShmSize(int size) { void org::xwt::plat::X11$X11PixelBuffer::fastDrawPicture(org::xwt::Picture* s, jint dx, jint dy, jint cx1, jint cy1, jint cx2, jint cy2) { org::xwt::plat::X11$X11Picture* source = (org::xwt::plat::X11$X11Picture*)s; - + if (source->doublebuf->stipple != NULL) { XSetClipMask(display, (*((GC*)clipped_gc)), *((Pixmap*)source->doublebuf->stipple)); - XSetClipOrigin(display, (*((GC*)clipped_gc)), cx1 - dx, cy1 - dy); + XSetClipOrigin(display, (*((GC*)clipped_gc)), dx, dy); } else { XSetClipMask(display, (*((GC*)clipped_gc)), None); } + XCopyArea(display, *((Pixmap*)source->doublebuf->pm), (*((Pixmap*)pm)), (*((GC*)clipped_gc)), cx1 - dx, cy1 - dy, cx2 - cx1, cy2 - cy1, cx1, cy1);