提交 088debde 编写于 作者: J jp9000

libobs: Call CoInitializeEx in libobs

Due to the fact that certain modules may need COM on startup, initialize
COM by default in libobs.
上级 51c44806
......@@ -627,3 +627,13 @@ void reset_win32_symbol_paths(void)
dstr_free(&path_str);
da_free(paths);
}
void initialize_com(void)
{
CoInitializeEx(0, COINIT_MULTITHREADED);
}
void uninitialize_com(void)
{
CoUninitialize();
}
......@@ -718,6 +718,8 @@ static bool obs_init(const char *locale, const char *module_config_path,
#ifdef _WIN32
extern void initialize_crash_handler(void);
extern void initialize_com(void);
extern void uninitialize_com(void);
#endif
static const char *obs_startup_name = "obs_startup";
......@@ -735,6 +737,7 @@ bool obs_startup(const char *locale, const char *module_config_path,
#ifdef _WIN32
initialize_crash_handler();
initialize_com();
#endif
success = obs_init(locale, module_config_path, store);
......@@ -803,6 +806,10 @@ void obs_shutdown(void)
bfree(obs->locale);
bfree(obs);
obs = NULL;
#ifdef _WIN32
uninitialize_com();
#endif
}
bool obs_initialized(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册