eap: use G_DEFINE_BOXED_TYPE to simplify code and be thread-safe (rh #979123)
inner_auth_combo_changed_cb(): model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo)); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter); gtk_tree_model_get (model, &iter, I_METHOD_COLUMN, &eap, -1); g_assert (eap); gtk_combo_box_get_model() failed and thus g_assert (eap) failed as well. On some circumstances type_id resets to 0 in eap_method_get_g_type(). It makes g_boxed_type_register_static() be called again, which results in failing assertion 'g_type_form_name (name) == 0' and thus eap_method_get_g_type() returns 0 instead of proper GType. Later using 0 make gtk_list_store_new() fail to get proper GListStore: inner_auth_combo_init: auth_model = gtk_list_store_new (2, G_TYPE_STRING, eap_method_get_type ()) Even if this patch is right, the problem is not solved, because instead of the crash a deadlock may occur. It might be the same issue as described in https://bugzilla.gnome.org/show_bug.cgi?id=674885. https://bugzilla.redhat.com/show_bug.cgi?id=979123
parent
f1d3307f
Please register or sign in to comment