mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 07:56:14 +01:00
Merge branch 'bug556331-includecleanup'
svn path=/trunk/; revision=724
This commit is contained in:
parent
cab23be329
commit
7db23628b0
@ -1060,7 +1060,7 @@ g_irepository_require (GIRepository *repository,
|
||||
if (version != NULL)
|
||||
g_set_error (error, G_IREPOSITORY_ERROR,
|
||||
G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND,
|
||||
"Typelib file %s for namespace '%s', version '%s' not found",
|
||||
"Typelib file for namespace '%s', version '%s' not found",
|
||||
namespace, version);
|
||||
else
|
||||
g_set_error (error, G_IREPOSITORY_ERROR,
|
||||
|
20
girparser.c
20
girparser.c
@ -130,7 +130,7 @@ static GMarkupParser firstpass_parser =
|
||||
};
|
||||
|
||||
static char *
|
||||
locate_gir (const char *name, const char * const* extra_paths)
|
||||
locate_gir (const char *name, const char *version, const char * const* extra_paths)
|
||||
{
|
||||
const gchar *const *datadirs;
|
||||
const gchar *const *dir;
|
||||
@ -141,7 +141,7 @@ locate_gir (const char *name, const char * const* extra_paths)
|
||||
|
||||
datadirs = g_get_system_data_dirs ();
|
||||
|
||||
girname = g_strdup_printf ("%s.gir", name);
|
||||
girname = g_strdup_printf ("%s-%s.gir", name, version);
|
||||
|
||||
for (dir = datadirs; *dir; dir++)
|
||||
{
|
||||
@ -981,7 +981,6 @@ start_alias (GMarkupParseContext *context,
|
||||
{
|
||||
key = g_strdup (name);
|
||||
}
|
||||
|
||||
g_hash_table_insert (ctx->aliases, key, value);
|
||||
|
||||
return TRUE;
|
||||
@ -2048,6 +2047,7 @@ static gboolean
|
||||
parse_include (GMarkupParseContext *context,
|
||||
ParseContext *ctx,
|
||||
const char *name,
|
||||
const char *version,
|
||||
GError **error)
|
||||
{
|
||||
ParseContext sub_ctx = { 0 };
|
||||
@ -2056,7 +2056,7 @@ parse_include (GMarkupParseContext *context,
|
||||
gsize length;
|
||||
char *girpath;
|
||||
|
||||
girpath = locate_gir (name, ctx->includes);
|
||||
girpath = locate_gir (name, version, ctx->includes);
|
||||
|
||||
if (girpath == NULL)
|
||||
{
|
||||
@ -2231,19 +2231,27 @@ start_element_handler (GMarkupParseContext *context,
|
||||
ctx->state == STATE_REPOSITORY)
|
||||
{
|
||||
const gchar *name;
|
||||
const gchar *version;
|
||||
|
||||
name = find_attribute ("name", attribute_names, attribute_values);
|
||||
version = find_attribute ("version", attribute_names, attribute_values);
|
||||
|
||||
if (name == NULL)
|
||||
{
|
||||
MISSING_ATTRIBUTE (context, error, element_name, "name");
|
||||
break;
|
||||
}
|
||||
if (version == NULL)
|
||||
{
|
||||
MISSING_ATTRIBUTE (context, error, element_name, "version");
|
||||
break;
|
||||
}
|
||||
|
||||
if (!parse_include (context, ctx, name, error))
|
||||
if (!parse_include (context, ctx, name, version, error))
|
||||
break;
|
||||
|
||||
ctx->dependencies = g_list_prepend (ctx->dependencies, g_strdup (name));
|
||||
ctx->dependencies = g_list_prepend (ctx->dependencies,
|
||||
g_strdup_printf ("%s-%s", name, version));
|
||||
|
||||
|
||||
state_switch (ctx, STATE_INCLUDE);
|
||||
|
Loading…
Reference in New Issue
Block a user