/* construct attributes */
new_wfd_sink->attrs = _mmwfd_construct_attribute((MMHandleType)new_wfd_sink);
if (!new_wfd_sink->attrs) {
+ result = MM_ERROR_WFD_INTERNAL;
wfd_sink_error("failed to set attribute");
goto fail_to_attrs;
}
/* release attributes */
_mmwfd_deconstruct_attribute(wfd_sink->attrs);
+ /* release the others */
+ g_free(wfd_sink->coupled_sink_address);
+
/* release resource manager */
- if(MM_ERROR_NONE != mm_resource_manager_destroy(wfd_sink->resource_manager)) {
+ if (MM_ERROR_NONE != mm_resource_manager_destroy(wfd_sink->resource_manager)) {
+ result = MM_ERROR_WFD_INTERNAL;
wfd_sink_error("failed to destroy resource manager");
- return MM_ERROR_WFD_INTERNAL;
}
- /* release the others */
- g_free(wfd_sink->coupled_sink_address);
-
/* release manager thread */
if (MM_ERROR_NONE != _mm_wfd_sink_release_manager(wfd_sink)) {
+ result = MM_ERROR_WFD_INTERNAL;
wfd_sink_error("failed to release manager");
- return MM_ERROR_WFD_INTERNAL;
}
/* set state */