From ec615dc3b52d4faafbebd7b4229fd4a1ea2a75ee Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 18 Jan 2026 14:14:58 +0900 Subject: Don't look up '0-serialized' pointers in TQGDict. This replaces PR #263 It makes no logical sense to serialize a pointer value and in fact 0 is written. So the call to look_ptr is never executed when deserializing a pointer. Signed-off-by: Michele Calgaro --- src/tools/tqgdict.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/tools') diff --git a/src/tools/tqgdict.cpp b/src/tools/tqgdict.cpp index d810cbe0f..b587eb9fb 100644 --- a/src/tools/tqgdict.cpp +++ b/src/tools/tqgdict.cpp @@ -945,12 +945,8 @@ TQDataStream &TQGDict::read( TQDataStream &s ) TQ_UINT32 k; s >> k; read( s, d ); - // ### cannot insert 0 - this renders the thing - // useless since all pointers are written as 0, - // but hey, serializing pointers? can it be done - // at all, ever? - if ( k ) - look_ptr( (void *)k, d, op_insert ); + // Pointer real values are not serialized, so it doesn't make sense + // to insert null values back into the dictionary by calling 'look_ptr' here } break; } @@ -980,7 +976,7 @@ TQDataStream& TQGDict::write( TQDataStream &s ) const s << (TQ_UINT32)((TQIntBucket*)n)->getKey(); break; case PtrKey: - s << (TQ_UINT32)0; // ### cannot serialize a pointer + s << (TQ_UINT32)0; // ### it doesn't make sense to serialize a pointer's value break; } write( s, n->getData() ); // write data -- cgit v1.2.3