Don't open shared libraries twice
authorOwen W. Taylor <otaylor@fishsoup.net>
Thu, 13 Aug 2009 19:14:49 +0000 (15:14 -0400)
committerOwen W. Taylor <otaylor@fishsoup.net>
Thu, 13 Aug 2009 19:56:04 +0000 (15:56 -0400)
If loading a referenced shared library succeeds, don't try loading it again.

http://bugzilla.gnome.org/show_bug.cgi?id=591737

girepository/gtypelib.c

index 92df539..a801f2b 100644 (file)
@@ -1997,8 +1997,10 @@ _g_typelib_init (GTypelib *typelib)
                  g_string_append (shlib_full, ".la");
                  module = g_module_open (shlib_full->str, G_MODULE_BIND_LAZY);
                  if (module == NULL)
-                   g_string_overwrite (shlib_full, strlen (shlib_full->str)-2, SHLIB_SUFFIX);
-                 module = g_module_open (shlib_full->str, G_MODULE_BIND_LAZY);
+                   {
+                     g_string_overwrite (shlib_full, strlen (shlib_full->str)-2, SHLIB_SUFFIX);
+                     module = g_module_open (shlib_full->str, G_MODULE_BIND_LAZY);
+                   }
 
                  g_string_free (shlib_full, TRUE);
                }