diff options
Diffstat (limited to 'gtk/gtkwindow.c')
-rw-r--r-- | gtk/gtkwindow.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 8682969454..399b7b0059 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -2534,12 +2534,35 @@ gtk_window_root_get_surface_transform (GtkRoot *root, *y = margin.top + border.top + padding.top; } +static GtkWidget * +gtk_window_root_get_focus (GtkRoot *root) +{ + GtkWindow *window = GTK_WINDOW (root); + GtkWindowPrivate *priv = gtk_window_get_instance_private (window); + + if (priv->initial_focus) + return priv->initial_focus; + else + return priv->focus_widget; +} + +static GtkWidget * +gtk_window_root_get_default (GtkRoot *root) +{ + GtkWindow *window = GTK_WINDOW (root); + GtkWindowPrivate *priv = gtk_window_get_instance_private (window); + + return priv->default_widget; +} + static void gtk_window_root_interface_init (GtkRootInterface *iface) { iface->get_display = gtk_window_root_get_display; iface->get_renderer = gtk_window_root_get_renderer; iface->get_surface_transform = gtk_window_root_get_surface_transform; + iface->get_focus = gtk_window_root_get_focus; + iface->get_default = gtk_window_root_get_default; } /** |