Fix potential lisp-object ID generation overflow for excessive lisp-object creation.
src/lib/lisp-object.h
Thu Jul 2 21:37:42 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Fix potential lisp-object ID generation overflow for excessive lisp-object creation.
--- old-qt.gui/src/lib/lisp-object.h 2014-10-30 07:45:48.000000000 +0100
+++ new-qt.gui/src/lib/lisp-object.h 2014-10-30 07:45:48.000000000 +0100
@@ -13,14 +13,14 @@
CL_SMOKE_QT_EXPORT int
qt_smoke_setup_lisp_object(void* destruct);
- CL_SMOKE_QT_EXPORT int
+ CL_SMOKE_QT_EXPORT unsigned int
qt_smoke_lisp_object_id(const void* object);
CL_SMOKE_QT_EXPORT int
- qt_smoke_lisp_object_set(const void* object);
+ qt_smoke_lisp_object_is_set(const void* object);
CL_SMOKE_QT_EXPORT void*
- qt_smoke_make_lisp_object(int id);
+ qt_smoke_make_lisp_object(unsigned int id);
CL_SMOKE_QT_EXPORT void*
qt_smoke_free_lisp_object(void* object);
@@ -35,20 +35,20 @@
class lisp_object
{
public:
- typedef void (*destructor)(int id);
+ typedef void (*destructor)(unsigned int id);
lisp_object();
- lisp_object(int id);
+ lisp_object(unsigned int id);
lisp_object(const lisp_object& other);
- inline int
+ inline unsigned int
id() const
{ Q_ASSERT(this->set()); return d->id; }
void
- set_id(int id);
+ set_id(unsigned int id);
inline bool
set() const
@@ -61,9 +61,9 @@
struct data : public QSharedData
{
data();
- data(int id);
+ data(unsigned int id);
~data();
- int id;
+ unsigned int id;
bool is_set;
private: