* hildon-controlbar.c : add signal when end reached
[hildon] / hildon-widgets / hildon-composite-widget.c
index b4cb5ce..cf1e75a 100644 (file)
 #include "hildon-composite-widget.h"
 
 gboolean
-hildon_composite_widget_focus( GtkWidget *widget, GtkDirectionType direction )
+hildon_composite_widget_focus (GtkWidget *widget, GtkDirectionType direction)
 {
   GtkWidget *toplevel = NULL;
   GtkWidget *focus_widget = NULL;
   
-  toplevel = gtk_widget_get_toplevel(widget);
-  if( !GTK_IS_WINDOW(toplevel) )
-    return GTK_WIDGET_CLASS(g_type_class_peek_parent(
-                     GTK_WIDGET_GET_CLASS(widget)))->focus( widget, direction );
+  toplevel = gtk_widget_get_toplevel (widget);
+  if (!GTK_IS_WINDOW(toplevel))
+    return GTK_WIDGET_CLASS (g_type_class_peek_parent (
+                     GTK_WIDGET_GET_CLASS (widget)))->focus (widget, direction);
 
-  focus_widget = GTK_WINDOW(toplevel)->focus_widget;  
+  focus_widget = GTK_WINDOW (toplevel)->focus_widget;
 
-  if( !gtk_widget_is_ancestor( focus_widget, widget ) )
+  if (!GTK_IS_WIDGET (focus_widget))
+    return TRUE;
+
+  if (!gtk_widget_is_ancestor (focus_widget, widget))
     /* Containers grab_focus grabs the focus to the correct widget */
-    gtk_widget_grab_focus( widget );
+    gtk_widget_grab_focus (widget);
   else
-    return GTK_WIDGET_CLASS(g_type_class_peek_parent(
-                     GTK_WIDGET_GET_CLASS(widget)))->focus( widget, direction );
+    return GTK_WIDGET_CLASS (g_type_class_peek_parent (
+                     GTK_WIDGET_GET_CLASS(widget)))->focus (widget, direction);
 
   return TRUE;
 }