[vlc-devel] commit: Win32: fail safe when loading plugins ( Rémi Denis-Courmont )

git version control git at videolan.org
Tue Sep 16 22:25:13 CEST 2008


vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Tue Sep 16 23:24:33 2008 +0300| [490dfd5c281fca4492f0cb8c09c209ea8264acd5] | committer: Rémi Denis-Courmont 

Win32: fail safe when loading plugins

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=490dfd5c281fca4492f0cb8c09c209ea8264acd5
---

 src/modules/os.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/modules/os.c b/src/modules/os.c
index 17f033b..6770a3f 100644
--- a/src/modules/os.c
+++ b/src/modules/os.c
@@ -183,11 +183,17 @@ int module_Load( vlc_object_t *p_this, const char *psz_file,
     wchar_t psz_wfile[MAX_PATH];
     MultiByteToWideChar( CP_ACP, 0, psz_file, -1, psz_wfile, MAX_PATH );
 
+    /* FIXME: this is not thread-safe -- Courmisch */
+    UINT mode = SetErrorMode (SEM_FAILCRITICALERRORS);
+    SetErrorMode (mode|SEM_FAILCRITICALERRORS);
+
 #ifdef UNDER_CE
     handle = LoadLibrary( psz_wfile );
 #else
     handle = LoadLibraryW( psz_wfile );
 #endif
+    SetErrorMode (mode);
+
     if( handle == NULL )
     {
         char *psz_err = GetWindowsError();




More information about the vlc-devel mailing list