summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2009-03-02 10:07:03 -0500
committerRay Strode <rstrode@redhat.com>2009-04-17 10:24:47 -0400
commit4dc394bb5b87d3cbead40bb6565eec75d755ddae (patch)
tree705b963505c48d3c9ce7301663222581379deb21
parentfafe68243000a7b2f97086daa3d4ad651e7ac905 (diff)
downloadgdm-4dc394bb5b87d3cbead40bb6565eec75d755ddae.tar.gz
Make lookup_item not warn when passing NULL for args
gtk_tree_model_get doesn't like NULL, and we allow NULL for optional return values. We now check each argument for NULL and call gtk_tree_model_get individually N times (one for each argument) instead of just once.
-rw-r--r--gui/simple-greeter/gdm-chooser-widget.c31
1 files changed, 24 insertions, 7 deletions
diff --git a/gui/simple-greeter/gdm-chooser-widget.c b/gui/simple-greeter/gdm-chooser-widget.c
index f0298c6d..b1ba9b4e 100644
--- a/gui/simple-greeter/gdm-chooser-widget.c
+++ b/gui/simple-greeter/gdm-chooser-widget.c
@@ -2132,13 +2132,30 @@ gdm_chooser_widget_lookup_item (GdmChooserWidget *widget,
}
g_free (active_item_id);
- gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
- CHOOSER_IMAGE_COLUMN, image,
- CHOOSER_NAME_COLUMN, name,
- CHOOSER_PRIORITY_COLUMN, priority,
- CHOOSER_ITEM_IS_IN_USE_COLUMN, is_in_use,
- CHOOSER_ITEM_IS_SEPARATED_COLUMN, is_separate,
- -1);
+ if (image != NULL) {
+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
+ CHOOSER_IMAGE_COLUMN, image, -1);
+ }
+
+ if (name != NULL) {
+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
+ CHOOSER_NAME_COLUMN, name, -1);
+ }
+
+ if (priority != NULL) {
+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
+ CHOOSER_PRIORITY_COLUMN, priority, -1);
+ }
+
+ if (is_in_use != NULL) {
+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
+ CHOOSER_ITEM_IS_IN_USE_COLUMN, is_in_use, -1);
+ }
+
+ if (is_separate != NULL) {
+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
+ CHOOSER_ITEM_IS_SEPARATED_COLUMN, is_separate, -1);
+ }
return TRUE;
}