Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
tigervnc.13736
U_tigervnc-crop-cursor-before-calling-maskRect....
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File U_tigervnc-crop-cursor-before-calling-maskRect.patch of Package tigervnc.13736
Git-commit: 1391fc4bd5a409e17dfd76251ed4bf37b7951fc0 Patch-Mainline: Upstream References: bnc#1024929 Author: Pierre Ossman <ossman@cendio.se> Subject: Crop cursor before calling maskRect() Signed-off-by: Michal Srb <msrb@suse.com> We can no longer assume maskRect() will tolerate uncropped data. diff --git a/common/rfb/Cursor.cxx b/common/rfb/Cursor.cxx index 3bb8e0f..e226118 100644 --- a/common/rfb/Cursor.cxx +++ b/common/rfb/Cursor.cxx @@ -198,7 +198,7 @@ const rdr::U8* RenderedCursor::getBuffer(const Rect& _r, int* stride) const void RenderedCursor::update(PixelBuffer* framebuffer, Cursor* cursor, const Point& pos) { - Point rawOffset; + Point rawOffset, diff; Rect clippedRect; const rdr::U8* data; @@ -224,7 +224,9 @@ void RenderedCursor::update(PixelBuffer* framebuffer, data = framebuffer->getBuffer(buffer.getRect(offset), &stride); buffer.imageRect(buffer.getRect(), data, stride); - data = cursor->getBuffer(cursor->getRect(), &stride); - buffer.maskRect(cursor->getRect(rawOffset.subtract(offset)), - data, cursor->mask.buf); + diff = offset.subtract(rawOffset); + data = cursor->getBuffer(buffer.getRect(diff), &stride); + + buffer.maskRect(buffer.getRect(), data, cursor->mask.buf, diff, + stride, (cursor->width() + 7) / 8); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor