diff options
author | Reuben Thomas <rrt@sc3d.org> | 2021-11-08 15:00:35 +0000 |
---|---|---|
committer | Reuben Thomas <rrt@sc3d.org> | 2021-11-08 15:02:14 +0000 |
commit | b82bf88737c91465bd6fc1fe4a9e1f66b2e33852 (patch) | |
tree | 4039e8d46bea088fa6311d0f6e1a6734bcd6a554 /src | |
parent | 41e116b44d3765662bf71ed00dbf40e0cfd5ea3b (diff) | |
download | enchant-b82bf88737c91465bd6fc1fe4a9e1f66b2e33852.tar.gz |
Make request_dict member of provider mandatory
Diffstat (limited to 'src')
-rw-r--r-- | src/lib.c | 30 |
1 files changed, 14 insertions, 16 deletions
@@ -773,17 +773,19 @@ enchant_provider_is_valid(EnchantProvider * provider) else if (provider->identify == NULL) g_warning ("EnchantProvider's identify method cannot be NULL\n"); else if (!g_utf8_validate((*provider->identify)(provider), -1, NULL)) - g_warning ("EnchantProvider's identify method does not return valid UTF-8.\n"); + g_warning ("EnchantProvider's identify method does not return valid UTF-8\n"); else if (provider->describe == NULL) g_warning ("EnchantProvider's describe method cannot be NULL\n"); else if (!g_utf8_validate((*provider->describe)(provider), -1, NULL)) - g_warning ("EnchantProvider's describe method does not return valid UTF-8.\n"); + g_warning ("EnchantProvider's describe method does not return valid UTF-8\n"); else if (provider->dispose == NULL) g_warning ("EnchantProvider's dispose method cannot be NULL\n"); else if (provider->dispose_dict == NULL) g_warning ("EnchantProvider's dispose_dict method cannot be NULL\n"); else if (provider->list_dicts == NULL) g_warning ("EnchantProvider's list_dicts method cannot be NULL\n"); + else if (provider->request_dict == NULL) + g_warning ("EnchantProvider's request_dict method cannot be NULL\n"); else return 1; @@ -1078,21 +1080,17 @@ _enchant_broker_request_dict (EnchantBroker * broker, const char *const tag) { EnchantProvider * provider = (EnchantProvider *) listIter->data; - if (provider->request_dict) - { - dict = (*provider->request_dict) (provider, tag); - - if (dict) - { + dict = (*provider->request_dict) (provider, tag); - EnchantSession *session = enchant_session_new (provider, tag); - EnchantDictPrivateData *enchant_dict_private_data = g_new0 (EnchantDictPrivateData, 1); - enchant_dict_private_data->reference_count = 1; - enchant_dict_private_data->session = session; - dict->enchant_private_data = (void *)enchant_dict_private_data; - g_hash_table_insert (broker->dict_map, (gpointer)strdup (tag), dict); - break; - } + if (dict) + { + EnchantSession *session = enchant_session_new (provider, tag); + EnchantDictPrivateData *enchant_dict_private_data = g_new0 (EnchantDictPrivateData, 1); + enchant_dict_private_data->reference_count = 1; + enchant_dict_private_data->session = session; + dict->enchant_private_data = (void *)enchant_dict_private_data; + g_hash_table_insert (broker->dict_map, (gpointer)strdup (tag), dict); + break; } } g_slist_free (list); |