]> git.pld-linux.org Git - packages/tigervnc.git/blame - tigervnc-zrle-crash.patch
- release 6 (by relup.sh)
[packages/tigervnc.git] / tigervnc-zrle-crash.patch
CommitLineData
2e5d6664
JR
1diff -up tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx.zrle-crash tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx
2--- tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx.zrle-crash 2013-07-01 13:41:59.000000000 +0100
3+++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx 2013-12-12 17:30:48.510007365 +0000
4@@ -55,16 +55,19 @@ Encoder* ZRLEEncoder::create(SMsgWriter*
5 }
6
7 ZRLEEncoder::ZRLEEncoder(SMsgWriter* writer_)
8- : writer(writer_), zos(0,0,zlibLevel)
9+ : writer(writer_)
10 {
11 if (sharedMos)
12 mos = sharedMos;
13 else
14 mos = new rdr::MemOutStream(129*1024);
15+
16+ zos = new rdr::ZlibOutStream(0, 0, zlibLevel);
17 }
18
19 ZRLEEncoder::~ZRLEEncoder()
20 {
21+ delete zos;
22 if (!sharedMos)
23 delete mos;
24 }
25@@ -78,10 +81,10 @@ bool ZRLEEncoder::writeRect(const Rect&
26
27 switch (writer->bpp()) {
28 case 8:
29- wroteAll = zrleEncode8(r, mos, &zos, imageBuf, maxLen, actual, ig);
30+ wroteAll = zrleEncode8(r, mos, zos, imageBuf, maxLen, actual, ig);
31 break;
32 case 16:
33- wroteAll = zrleEncode16(r, mos, &zos, imageBuf, maxLen, actual, ig);
34+ wroteAll = zrleEncode16(r, mos, zos, imageBuf, maxLen, actual, ig);
35 break;
36 case 32:
37 {
38@@ -94,16 +97,16 @@ bool ZRLEEncoder::writeRect(const Rect&
39 if ((fitsInLS3Bytes && pf.isLittleEndian()) ||
40 (fitsInMS3Bytes && pf.isBigEndian()))
41 {
42- wroteAll = zrleEncode24A(r, mos, &zos, imageBuf, maxLen, actual, ig);
43+ wroteAll = zrleEncode24A(r, mos, zos, imageBuf, maxLen, actual, ig);
44 }
45 else if ((fitsInLS3Bytes && pf.isBigEndian()) ||
46 (fitsInMS3Bytes && pf.isLittleEndian()))
47 {
48- wroteAll = zrleEncode24B(r, mos, &zos, imageBuf, maxLen, actual, ig);
49+ wroteAll = zrleEncode24B(r, mos, zos, imageBuf, maxLen, actual, ig);
50 }
51 else
52 {
53- wroteAll = zrleEncode32(r, mos, &zos, imageBuf, maxLen, actual, ig);
54+ wroteAll = zrleEncode32(r, mos, zos, imageBuf, maxLen, actual, ig);
55 }
56 break;
57 }
58diff -up tigervnc-1.3.0/common/rfb/ZRLEEncoder.h.zrle-crash tigervnc-1.3.0/common/rfb/ZRLEEncoder.h
59--- tigervnc-1.3.0/common/rfb/ZRLEEncoder.h.zrle-crash 2013-07-01 13:42:01.000000000 +0100
60+++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.h 2013-12-12 17:30:48.510007365 +0000
61@@ -45,7 +45,7 @@ namespace rfb {
62 private:
63 ZRLEEncoder(SMsgWriter* writer);
64 SMsgWriter* writer;
65- rdr::ZlibOutStream zos;
66+ rdr::ZlibOutStream* zos;
67 rdr::MemOutStream* mos;
68 static rdr::MemOutStream* sharedMos;
69 static int maxLen;
This page took 0.10872 seconds and 4 git commands to generate.