Re: g_main_dispatch frees objects for input_callback before using them (how to prevent it?)



Hi, I got it !

As seen on https://git.gnome.org/browse/glib/tree/glib/giounix.c#n165

The old callback for file descriptor takes (gpointer *user_data, int fd, GdkInputCondition condition).
The new callback for channels takes (GIOChannel *chan, GIOCondition condition, gpointer *user_data)!

The objects user_data, condition and chan were not expected to be at the same place !

Thank you for directing me to the right direction! If the callback have a return today, perhaps there is a reason for arguments to change too.

After that I find easily there was two calls of g_source_remove of the same object.

So:
1. This part of this code is not deprecated anymore.
2. I found and fixed the bug that motivated my cleaning.

--
Thomas DEBESSE


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]