Bug 567138 - get_package_directory_from_module() does not free its lock
authorTor Lillqvist <tml@iki.fi>
Fri, 9 Jan 2009 10:37:31 +0000 (10:37 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Fri, 9 Jan 2009 10:37:31 +0000 (10:37 +0000)
2009-01-09  Tor Lillqvist  <tml@iki.fi>

Bug 567138 - get_package_directory_from_module() does not free its
lock when failing

* glib/gwin32.c (get_package_directory_from_module): Obvious fix.

svn path=/trunk/; revision=7794

ChangeLog
glib/gwin32.c

index de4b958..38610a8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-01-09  Tor Lillqvist  <tml@iki.fi>
+
+       Bug 567138 - get_package_directory_from_module() does not free its
+       lock when failing
+
+       * glib/gwin32.c (get_package_directory_from_module): Obvious fix.
+
 2009-01-05  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Bump version
index abca347..ce905ae 100644 (file)
@@ -298,14 +298,19 @@ get_package_directory_from_module (const gchar *module_name)
       hmodule = GetModuleHandleW (wc_module_name);
       g_free (wc_module_name);
 
-      if (!hmodule)
-       return NULL;
+      if (!hmodule){
+        G_UNLOCK (module_dirs);
+        return NULL;
+      }
     }
 
   fn = g_win32_get_package_installation_directory_of_module (hmodule);
 
   if (fn == NULL)
-    return NULL;
+    {
+      G_UNLOCK (module_dirs);
+      return NULL;
+    }
   
   g_hash_table_insert (module_dirs, module_name ? g_strdup (module_name) : "", fn);