I see here 2 places which can mess:
- g_object_set_qdata returns handle, which is then casted to int (in amd64 sizeof(int) is still 4!)
- if first arg (casted to GObect*) is greather than 2^63 we will have negative long value and it can cause segmentation fault (pointer to negative memory address) - shouldn't be unsigned long putted here?
I see here 2 places which can mess:
- g_object_set_qdata returns handle, which is then casted to int (in amd64 sizeof(int) is still 4!)
- if first arg (casted to GObect*) is greather than 2^63 we will have negative long value and it can cause segmentation fault (pointer to negative memory address) - shouldn't be unsigned long putted here?