This function works like g_object_set_qdata, but in addition, a void (*destroy) (gpointer) function may be specified which
is called with data as argument when the this is finalized, or the data is being
overwritten by a call to g_object_set_qdata with the same quark.
| this |
The GObject to set store a user data pointer |
| quark |
A Quark, naming the user data pointer |
| data |
An opaque user data pointer |
| destroy |
Function to invoke with |