[gtk+] Do not emit action-activated signal when there are not actions selected
- From: Matthias Clasen <matthiasc src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+] Do not emit action-activated signal when there are not actions selected
- Date: Sun, 30 Aug 2009 00:39:26 +0000 (UTC)
commit c51830f45399047e5f3b93a2101d778a2f87cf18
Author: Carlos Garcia Campos <carlosgc gnome org>
Date: Sat Aug 29 20:36:28 2009 -0400
Do not emit action-activated signal when there are not actions selected
This was causing problems for epiphanys location entry, reported
in bug 593481.
gtk/gtkentry.c | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
---
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 7bf5c29..866a88f 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -9389,6 +9389,9 @@ keypress_completion_out:
event->keyval == GDK_KP_Enter ||
event->keyval == GDK_Return)
{
+ GtkTreeIter iter;
+ GtkTreeModel *model = NULL;
+ GtkTreeSelection *sel;
gboolean retval = TRUE;
_gtk_entry_reset_im_context (GTK_ENTRY (widget));
@@ -9396,9 +9399,6 @@ keypress_completion_out:
if (completion->priv->current_selected < matches)
{
- GtkTreeIter iter;
- GtkTreeModel *model = NULL;
- GtkTreeSelection *sel;
gboolean entry_set;
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (completion->priv->tree_view));
@@ -9430,15 +9430,18 @@ keypress_completion_out:
}
else if (completion->priv->current_selected - matches >= 0)
{
- GtkTreePath *path;
-
- _gtk_entry_reset_im_context (GTK_ENTRY (widget));
-
- path = gtk_tree_path_new_from_indices (completion->priv->current_selected - matches, -1);
+ sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (completion->priv->action_view));
+ if (gtk_tree_selection_get_selected (sel, &model, &iter))
+ {
+ GtkTreePath *path;
- g_signal_emit_by_name (completion, "action-activated",
- gtk_tree_path_get_indices (path)[0]);
- gtk_tree_path_free (path);
+ path = gtk_tree_path_new_from_indices (completion->priv->current_selected - matches, -1);
+ g_signal_emit_by_name (completion, "action-activated",
+ gtk_tree_path_get_indices (path)[0]);
+ gtk_tree_path_free (path);
+ }
+ else
+ retval = FALSE;
}
g_free (completion->priv->completion_prefix);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]