diff options
Diffstat (limited to 'src/libtracker-common/tracker-domain-ontology.c')
-rw-r--r-- | src/libtracker-common/tracker-domain-ontology.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libtracker-common/tracker-domain-ontology.c b/src/libtracker-common/tracker-domain-ontology.c index 65a3fda0b..f8de59ab5 100644 --- a/src/libtracker-common/tracker-domain-ontology.c +++ b/src/libtracker-common/tracker-domain-ontology.c @@ -302,7 +302,17 @@ tracker_domain_ontology_initable_init (GInitable *initable, domain_ontology = TRACKER_DOMAIN_ONTOLOGY (initable); priv = tracker_domain_ontology_get_instance_private (domain_ontology); - if (priv->name) { + if (priv->name && priv->name[0] == '/') { + if (!g_file_test (priv->name, G_FILE_TEST_IS_REGULAR)) { + inner_error = g_error_new (G_KEY_FILE_ERROR, + G_KEY_FILE_ERROR_NOT_FOUND, + "Could not find rule at '%s'", + priv->name); + goto end; + } + + path = g_strdup (priv->name); + } else if (priv->name) { path = find_rule_in_data_dirs (priv->name); if (!path) { |