When gtk_button_clicked() on a PsppireCellRendererButton causes a
modal dialog to pop up, psppire_cell_renderer_button_initial_click()
only returns from gtk_button_clicked() after the button has already
been destroyed, which causes the g_object_steal_data() call to
remove the IDLE_ID_STRING to access freed memory. This commit fixes
the problem by calling g_object_steal_data() before
gtk_button_clicked().
{
GtkButton *button = data;
- gtk_button_clicked (button);
g_object_steal_data (G_OBJECT (button), IDLE_ID_STRING);
+ gtk_button_clicked (button);
return FALSE;
}