This is the same issue reported in THRIFT-2683 but for serializing maps.
The compiler must resolve a typedef'd type to its underlying type before attempting to reason about it. By failing to do this, the current c_glib compiler will in most cases generate incorrect code for serializing a map when either its keys or its values are of a typedef'd type. The client receives garbage data instead of the map's actual contents.
The attached patch fixes this. It should be applied after the patch for THRIFT-1266.
No test case, yet again, but the server half of the integration test suite will trigger this bug without the patch applied.