[gobject-introspection] Fix warning when using g_irepository_enumerate_version()



commit 7e75df29383e0284648d25532bf4e90eb2879674
Author: Steve Frécinaux <code istique net>
Date:   Wed Aug 18 22:26:48 2010 +0200

    Fix warning when using g_irepository_enumerate_version()
    
    The reason for the warning was that g_irepository_get_version() expects
    the typelib to be already loaded, but enumerate_version() can be called
    on typelibs that are not.

 girepository/girepository.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/girepository/girepository.c b/girepository/girepository.c
index 96a23e6..288055c 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -1196,9 +1196,12 @@ g_irepository_enumerate_versions (GIRepository *repository,
    * available versions, as it could have been loaded using
    * require_private().
    */
-  loaded_version = g_irepository_get_version (NULL, namespace_);
-  if (loaded_version && !g_list_find_custom (ret, loaded_version, g_str_equal))
-    ret = g_list_prepend (ret, g_strdup (loaded_version));
+  if (g_irepository_is_registered (repository, namespace_, NULL))
+    {
+      loaded_version = g_irepository_get_version (repository, namespace_);
+      if (loaded_version && !g_list_find_custom (ret, loaded_version, g_str_equal))
+        ret = g_list_prepend (ret, g_strdup (loaded_version));
+    }
 
   return ret;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]