Give other events chance to fire.

After each complete framebufferUpdate, set a short timer to continue
processing the receive queue. This gives other events a chance to
fire. Especially important when noVNC is integrated into another
website.
This commit is contained in:
Joel Martin 2010-07-29 10:47:32 -05:00
parent a867de1652
commit 29ad96c526
1 changed files with 3 additions and 4 deletions

View File

@ -1250,13 +1250,12 @@ handle_message: function () {
RFB.disconnect(); RFB.disconnect();
break; break;
case 'normal': case 'normal':
while ((RFB.state === 'normal') && (RFB.RQ.length > 0)) { if ((RFB.state === 'normal') && (RFB.RQ.length > 0)) {
if (RFB.normal_msg()) { if (RFB.normal_msg()) {
// true means we can continue processing // true means we can continue processing
Util.Debug("More data to process"); Util.Debug("More data to process");
} else { // Give other events a chance to run
// false means we need more data setTimeout(RFB.handle_message, 10);
break;
} }
} }
break; break;