Proposed fix for RFB. Please review

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Proposed fix for RFB. Please review

Christer Assmundsson
Hi all,

I have fixed (?) an issue in RFB server that seems to solve a problem I
had with initiating a session. After the fix it works at least with
UltraVnc. Still not with tightVnc though, has to be some other problem
with that.

As I'm not very experienced with pharo I'd like to have somebody elses
eyes on it before checking it in to SmaltalkHub (if I even have access
to that). Quality status on the fix is "works on my machine"

At the start of RFBSession>> sendFramebufferUpdate

    | updateRegion nRects sendCursor sendPosition |
    preferredEncoding ifNil: [^self].
"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< new code"
    self beginUpdate.
    ...

Reasoning: Until we know what encoding to use, we can't send updates.
Just discard them. It will be picked up later.
Technical: Futher down in the method we call "countRects" which is not
set until we set encoding, and therefore the method fails with DNU.

Please let me know how I should proceed.

Best regards,
Christer

Reply | Threaded
Open this post in threaded view
|

Re: Proposed fix for RFB. Please review

stepharo
Welcome christer and thanks for sharing your fix.
I hope a guy will reply to you.

To me it looks ok :) but I never looked at RFB

Stef

Le 22/6/15 18:29, Christer Assmundsson a écrit :

> Hi all,
>
> I have fixed (?) an issue in RFB server that seems to solve a problem
> I had with initiating a session. After the fix it works at least with
> UltraVnc. Still not with tightVnc though, has to be some other problem
> with that.
>
> As I'm not very experienced with pharo I'd like to have somebody elses
> eyes on it before checking it in to SmaltalkHub (if I even have access
> to that). Quality status on the fix is "works on my machine"
>
> At the start of RFBSession>> sendFramebufferUpdate
>
>    | updateRegion nRects sendCursor sendPosition |
>    preferredEncoding ifNil: [^self].
> "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< new code"
>    self beginUpdate.
>    ...
>
> Reasoning: Until we know what encoding to use, we can't send updates.
> Just discard them. It will be picked up later.
> Technical: Futher down in the method we call "countRects" which is not
> set until we set encoding, and therefore the method fails with DNU.
>
> Please let me know how I should proceed.
>
> Best regards,
> Christer
>
>