[c_glib] Fix code generation for sets with typedef element types (#3285)

Resolve typedef to underlying type before checking is_base_type() in
generate_deserialize_set_element(), consistent with how
generate_deserialize_map_element() handles this case.
diff --git a/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc b/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
index 5cd4091..7f40b54 100644
--- a/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
@@ -4310,10 +4310,12 @@
                                                           int error_ret) {
   t_type* telem = tset->get_elem_type();
   string elem = tmp("_elem");
-  string telem_ptr = telem->is_string() || !telem->is_base_type() ? "" : "*";
 
   declare_local_variable(out, telem, elem, true);
 
+  telem = get_true_type(telem);
+  string telem_ptr = telem->is_string() || !telem->is_base_type() ? "" : "*";
+
   t_field felem(telem, telem_ptr + elem);
   generate_deserialize_field(out, &felem, "", "", error_ret);