Merge pull request #435 from lordcrc/master
Fixed deadlock issue in event queue and SHM usage.
This commit is contained in:
commit
b369a92639
@ -96,9 +96,9 @@ void xf_event_push(xfEventQueue* event_queue, xfEvent* event)
|
||||
|
||||
event_queue->events[(event_queue->count)++] = event;
|
||||
|
||||
xf_set_event(event_queue);
|
||||
|
||||
pthread_mutex_unlock(&(event_queue->mutex));
|
||||
|
||||
xf_set_event(event_queue);
|
||||
}
|
||||
|
||||
xfEvent* xf_event_peek(xfEventQueue* event_queue)
|
||||
|
@ -413,20 +413,19 @@ void xf_peer_rfx_update(freerdp_peer* client, int x, int y, int width, int heigh
|
||||
|
||||
if (xfi->use_xshm)
|
||||
{
|
||||
width = x + width;
|
||||
height = y + height;
|
||||
x = 0;
|
||||
y = 0;
|
||||
|
||||
rect.x = x;
|
||||
rect.y = y;
|
||||
/**
|
||||
* Passing an offset source rectangle to rfx_compose_message()
|
||||
* leads to protocol errors, so offset the data pointer instead.
|
||||
*/
|
||||
rect.x = 0;
|
||||
rect.y = 0;
|
||||
rect.width = width;
|
||||
rect.height = height;
|
||||
|
||||
image = xf_snapshot(xfp, x, y, width, height);
|
||||
|
||||
data = (uint8*) image->data;
|
||||
data = &data[(y * image->bytes_per_line) + (x * image->bits_per_pixel)];
|
||||
data = &data[(y * image->bytes_per_line) + (x * image->bits_per_pixel / 8)];
|
||||
|
||||
rfx_compose_message(xfp->rfx_context, s, &rect, 1, data,
|
||||
width, height, image->bytes_per_line);
|
||||
|
Loading…
Reference in New Issue
Block a user