[anjuta/git-shell] git: Properly check for selections in the stash pane
- From: James Liggett <jrliggett src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta/git-shell] git: Properly check for selections in the stash pane
- Date: Wed, 28 Jul 2010 07:52:20 +0000 (UTC)
commit ce543c11f7835f1dd34b7e5df86ca8a64a60d768
Author: James Liggett <jrliggett cox net>
Date: Tue Jul 27 22:15:51 2010 -0700
git: Properly check for selections in the stash pane
Properly handle cases where nothing is selected. Don't try to get information
from the tree model in that case. Also, the return type for
git_stash_pane_get_selected_stash_number should be signed so that the pane can
return -1 to indicate no selection.
plugins/git/git-stash-pane.c | 18 ++++++++++--------
plugins/git/git-stash-pane.h | 2 +-
2 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/plugins/git/git-stash-pane.c b/plugins/git/git-stash-pane.c
index 8d5eac5..f61a7ab 100644
--- a/plugins/git/git-stash-pane.c
+++ b/plugins/git/git-stash-pane.c
@@ -184,35 +184,37 @@ git_stash_pane_get_selected_stash_id (GitStashPane *self)
{
GtkTreeView *stash_view;
GtkTreeSelection *selection;
+ gchar *id;
GtkTreeModel *stash_list_model;
GtkTreeIter iter;
- gchar *id;
-
+
stash_view = GTK_TREE_VIEW (gtk_builder_get_object (self->priv->builder,
"stash_view"));
selection = gtk_tree_view_get_selection (stash_view);
+ id = NULL;
- gtk_tree_selection_get_selected (selection, &stash_list_model, &iter);
- gtk_tree_model_get (stash_list_model, &iter, COL_ID, &id, -1);
+ if (gtk_tree_selection_get_selected (selection, &stash_list_model, &iter))
+ gtk_tree_model_get (stash_list_model, &iter, COL_ID, &id, -1);
return id;
}
-guint
+gint
git_stash_pane_get_selected_stash_number (GitStashPane *self)
{
GtkTreeView *stash_view;
GtkTreeSelection *selection;
+ guint number;
GtkTreeModel *stash_list_model;
GtkTreeIter iter;
- guint number;
stash_view = GTK_TREE_VIEW (gtk_builder_get_object (self->priv->builder,
"stash_view"));
selection = gtk_tree_view_get_selection (stash_view);
+ number = -1;
- gtk_tree_selection_get_selected (selection, &stash_list_model, &iter);
- gtk_tree_model_get (stash_list_model, &iter, COL_NUMBER, &number, -1);
+ if (gtk_tree_selection_get_selected (selection, &stash_list_model, &iter))
+ gtk_tree_model_get (stash_list_model, &iter, COL_NUMBER, &number, -1);
return number;
}
diff --git a/plugins/git/git-stash-pane.h b/plugins/git/git-stash-pane.h
index 662fc86..c141465 100644
--- a/plugins/git/git-stash-pane.h
+++ b/plugins/git/git-stash-pane.h
@@ -51,7 +51,7 @@ struct _GitStashPane
GType git_stash_pane_get_type (void) G_GNUC_CONST;
AnjutaDockPane *git_stash_pane_new (Git *plugin);
gchar *git_stash_pane_get_selected_stash_id (GitStashPane *self);
-guint git_stash_pane_get_selected_stash_number (GitStashPane *self);
+gint git_stash_pane_get_selected_stash_number (GitStashPane *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]