[gtk+] Bug 590959 - Set child_has_focus flag properly



commit 6e0af6c25225440263792a3cbecd8f4301e3def5
Author: Benjamin Otte <otte gnome org>
Date:   Thu Aug 6 16:25:20 2009 +0200

    Bug 590959 - Set child_has_focus flag properly
    
    Previously, this flag wasn't cleared properly when the notebook lost
    focus, but only when the notebook was focussed again later.
    As this flag is only used to advance correctly focus pages by grabbing
    focus to the new page after switching the page, this is not good.
    In particular, it can cause a focus grab when programmatically switching
    the notebook page and the focus is inside a completely different widget.

 gtk/gtknotebook.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index aa1a5ad..a349add 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -3094,8 +3094,6 @@ static gint
 gtk_notebook_focus_in (GtkWidget     *widget,
 		       GdkEventFocus *event)
 {
-  GTK_NOTEBOOK (widget)->child_has_focus = FALSE;
-
   gtk_notebook_redraw_tabs (GTK_NOTEBOOK (widget));
   
   return FALSE;
@@ -3978,6 +3976,8 @@ gtk_notebook_set_focus_child (GtkContainer *container,
 	    }
 	}
     }
+  else
+    notebook->child_has_focus = FALSE;
 
   GTK_CONTAINER_CLASS (gtk_notebook_parent_class)->set_focus_child (container, child);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]