Skip to content
Commit 36a316be authored by Jiří Klimeš's avatar Jiří Klimeš
Browse files

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
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment