summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2005-08-25 08:52:08 +0000
committerFrederic Peters <fpeters@entrouvert.com>2005-08-25 08:52:08 +0000
commit7b8936409c17d35da05a7d0e6d9a1cdbd5321a67 (patch)
treefb915ae06564fb1b14ffb9f15fcbfd5c64e80be1
parentf9fea16807166b06e1c551691303679e160b00e0 (diff)
add_query_item must checks the query has been created.
-rw-r--r--lasso/id-wsf/data_service.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/lasso/id-wsf/data_service.c b/lasso/id-wsf/data_service.c
index 17232e39..88e2360b 100644
--- a/lasso/id-wsf/data_service.c
+++ b/lasso/id-wsf/data_service.c
@@ -87,10 +87,16 @@ lasso_data_service_add_query_item(LassoDataService *service,
g_return_val_if_fail(LASSO_IS_PROFILE_SERVICE(service), NULL);
g_return_val_if_fail(select != NULL, NULL);
- query = LASSO_DST_QUERY(LASSO_WSF_PROFILE(service)->request);
+ if (! LASSO_IS_DST_QUERY(LASSO_WSF_PROFILE(service)->request)) {
+ return NULL;
+ }
- if (LASSO_DST_QUERY_ITEM(query->QueryItem->data)->itemID == NULL) {
- /* XXX: all items must have itemID if there is more than one */
+ query = LASSO_DST_QUERY(LASSO_WSF_PROFILE(service)->request);
+
+ if (query->QueryItem && query->QueryItem->data &&
+ LASSO_DST_QUERY_ITEM(query->QueryItem->data)->itemID == NULL) {
+ /* XXX: all items must have itemID if there is more than one,
+ * perhaps we could generate an item id for those lacking it */
return NULL;
}