Group :: Rede/Acesso Remoto
RPM: tigervnc
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: Ubuntu-rh_0904-Added-RH-patch-tigervnc11-rh588342.patch-which-fixes.patch
Download
Download
From dfcee5fe0799a0b05c82df5101ee37e221502ac9 Mon Sep 17 00:00:00 2001
From: Joachim Falk <joachim.falk@gmx.de>
Date: Thu, 13 Oct 2011 19:53:42 +0200
Subject: [PATCH 4/7] Added RH patch tigervnc11-rh588342.patch which fixes EQ overflowing bug.
Xvnc could become unresponsive and the following error message was shown
in the log: "[mi] EQ overflowing. The server is probably stuck in an
infinite loop.". This was caused by a large number of user input events
in the Xvnc event queue, which were being processed too slowly. With
this update, this issue no longer occurs and the system works as
expected. (BZ#588342)
---
unix/xserver/hw/vnc/Input.cc | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
Index: pkg-tigervnc/unix/xserver/hw/vnc/Input.c
===================================================================
--- pkg-tigervnc.orig/unix/xserver/hw/vnc/Input.c
+++ pkg-tigervnc/unix/xserver/hw/vnc/Input.c
@@ -131,6 +131,9 @@ void vncPointerButtonAction(int buttonMa
int i;
ValuatorMask mask;
+ /* Flush event queue to ensure we don't flood it */
+ mieqProcessInputEvents();
+
for (i = 0; i < BUTTONS; i++) {
if ((buttonMask ^ oldButtonMask) & (1 << i)) {
int action = (buttonMask & (1<<i)) ?
@@ -152,6 +155,9 @@ void vncPointerMove(int x, int y)
if (cursorPosX == x && cursorPosY == y)
return;
+ /* Flush event queue to ensure we don't flood it */
+ mieqProcessInputEvents();
+
valuators[0] = x;
valuators[1] = y;
valuator_mask_set_range(&mask, 0, 2, valuators);