summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libvncclient/tight.c3
-rw-r--r--libvncclient/vncviewer.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/libvncclient/tight.c b/libvncclient/tight.c
index 7baac3a..348c423 100644
--- a/libvncclient/tight.c
+++ b/libvncclient/tight.c
@@ -622,7 +622,6 @@ JpegInitSource(j_decompress_ptr cinfo)
{
rfbClient* client=(rfbClient*)cinfo->client_data;
client->jpegError = FALSE;
- client->jpegSrcManager = malloc(sizeof(struct jpeg_source_mgr));
}
static boolean
@@ -665,6 +664,8 @@ JpegSetSrcManager(j_decompress_ptr cinfo,
client->jpegBufferPtr = compressedData;
client->jpegBufferLen = (size_t)compressedLen;
+ if(client->jpegSrcManager == NULL)
+ client->jpegSrcManager = malloc(sizeof(struct jpeg_source_mgr));
client->jpegSrcManager->init_source = JpegInitSource;
client->jpegSrcManager->fill_input_buffer = JpegFillInputBuffer;
client->jpegSrcManager->skip_input_data = JpegSkipInputData;
diff --git a/libvncclient/vncviewer.c b/libvncclient/vncviewer.c
index 2927b74..12c801b 100644
--- a/libvncclient/vncviewer.c
+++ b/libvncclient/vncviewer.c
@@ -161,6 +161,7 @@ rfbClient* rfbGetClient(int bitsPerSample,int samplesPerPixel,
#ifdef LIBVNCSERVER_HAVE_LIBJPEG
memset(client->zlibStreamActive,0,sizeof(rfbBool)*4);
+ client->jpegSrcManager = NULL;
#endif
client->HandleCursorPos = DummyPoint;