From 9d0b80059a105ce68edef8e12161e73ec9a4eda7 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sat, 8 Oct 2011 14:40:50 -0500 Subject: [PATCH] Hopefully fix the crash when updating from 0.9.7 or earlier For backwards-compatibility reasons, we can only add struct members to the end. That way, existing callers still can use newer libraries, as the structs are always allocated by the library (and therefore guaranteed to have the correct size) and still rely on the same position of the parts the callers know about. Reported by Luca Falavigna. Signed-off-by: Johannes Schindelin --- rfb/rfbclient.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/rfb/rfbclient.h b/rfb/rfbclient.h index f3bd11d..9b8f3c3 100644 --- a/rfb/rfbclient.h +++ b/rfb/rfbclient.h @@ -192,9 +192,6 @@ typedef struct _rfbClient { rfbPixelFormat format; rfbServerInitMsg si; - /* listen.c */ - int listenSock; - /* sockets.c */ #define RFB_BUF_SIZE 8192 char buf[RFB_BUF_SIZE]; @@ -273,7 +270,6 @@ typedef struct _rfbClient { SoftCursorLockAreaProc SoftCursorLockArea; SoftCursorUnlockScreenProc SoftCursorUnlockScreen; GotFrameBufferUpdateProc GotFrameBufferUpdate; - FinishedFrameBufferUpdateProc FinishedFrameBufferUpdate; /** the pointer returned by GetPassword will be freed after use! */ GetPasswordProc GetPassword; MallocFrameBufferProc MallocFrameBuffer; @@ -325,6 +321,11 @@ typedef struct _rfbClient { /** hook to handle xvp server messages */ HandleXvpMsgProc HandleXvpMsg; + + /* listen.c */ + int listenSock; + + FinishedFrameBufferUpdateProc FinishedFrameBufferUpdate; } rfbClient; /* cursor.c */