• dscho's avatar
    The PseudoEncoding extension code was getting silly: · 951ec26b
    dscho authored
    If the client asked for an encoding, and no enabled extension handled it,
    LibVNCServer would walk through all extensions, and if they promised to handle
    the encoding, execute the extension's newClient() if it was not NULL.
    
    However, if newClient is not NULL, it will be called when a client connects,
    and if it returns TRUE, the extension will be enabled. Since all the state of
    the extension should be in the client data, there is no good reason why
    newClient should return FALSE the first time (thus not enabling the extension),
    but TRUE when called just before calling enablePseudoEncoding().
    
    So in effect, the extension got enabled all the time, even if that was not
    necessary.
    
    The resolution is to pass a void** to enablePseudoEncoding. This has the
    further advantage that enablePseudoEncoding can remalloc() or free() the
    data without problems. Though keep in mind that if enablePseudoEncoding()
    is called on a not-yet-enabled extension, the passed data points to NULL.
    951ec26b
Name
Last commit
Last update
VisualNaCro Loading commit data...
classes Loading commit data...
client_examples Loading commit data...
contrib Loading commit data...
examples Loading commit data...
libvncclient Loading commit data...
libvncserver Loading commit data...
rfb Loading commit data...
test Loading commit data...
vncterm Loading commit data...
x11vnc Loading commit data...
.cvsignore Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
LibVNCServer.spec.in Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
README.cvs Loading commit data...
TODO Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
bdf2c.pl Loading commit data...
configure.ac Loading commit data...
consolefont2c.pl Loading commit data...
cvs_update_anonymously Loading commit data...
index.html Loading commit data...
libvncserver-config.in Loading commit data...
libvncserver.dsp Loading commit data...
libvncserver.dsw Loading commit data...
prepare_x11vnc_dist.sh Loading commit data...
success.html Loading commit data...
tightvnc-1.3dev5-vncviewer-alpha-cursor.patch Loading commit data...