diff options
author | Constantin Kaplinsky <const@tightvnc.com> | 2006-03-06 05:12:32 +0000 |
---|---|---|
committer | Constantin Kaplinsky <const@tightvnc.com> | 2006-03-06 05:12:32 +0000 |
commit | e2dc5283538239510280ecc685e743105aecdab8 (patch) | |
tree | d340a1d7aab5fe6b529bae0915c130fc51f5ccc8 | |
parent | 6e01f3700046c549f29fb06e61919aaff3703351 (diff) | |
download | tigervnc-e2dc5283538239510280ecc685e743105aecdab8.tar.gz tigervnc-e2dc5283538239510280ecc685e743105aecdab8.zip |
Fixed a problem of not using XReadDisplay extension for parts of
images, under IRIX.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@501 3789f03b-4d11-0410-bbf8-ca57d06f2519
-rw-r--r-- | x0vncserver/Image.cxx | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/x0vncserver/Image.cxx b/x0vncserver/Image.cxx index 36b2de44..475cee19 100644 --- a/x0vncserver/Image.cxx +++ b/x0vncserver/Image.cxx @@ -417,23 +417,22 @@ IrixOverlayShmImage::~IrixOverlayShmImage() void IrixOverlayShmImage::get(Window wnd, int x, int y) { - XRectangle rect; - unsigned long hints = XRD_TRANSPARENT | XRD_READ_POINTER; - - rect.x = x; - rect.y = y; - rect.width = xim->width; - rect.height = xim->height; - - XShmReadDisplayRects(dpy, wnd, - &rect, 1, readDisplayBuf, -x, -y, - hints, &hints); + get(wnd, x, y, xim->width, xim->height); } void IrixOverlayShmImage::get(Window wnd, int x, int y, int w, int h) { - // FIXME: Use XReadDisplay extension here as well! - XGetSubImage(dpy, wnd, x, y, w, h, AllPlanes, ZPixmap, xim, 0, 0); + XRectangle rect; + unsigned long hints = XRD_TRANSPARENT | XRD_READ_POINTER; + + rect.x = x; + rect.y = y; + rect.width = w; + rect.height = h; + + XShmReadDisplayRects(dpy, wnd, + &rect, 1, readDisplayBuf, -x, -y, + hints, &hints); } #endif // HAVE_READDISPLAY |