1 From 87d285a9e186e7745d4f3a2b2e6a489b1b803b94 Mon Sep 17 00:00:00 2001
2 From: Michael Natterer <mitch@gimp.org>
3 Date: Fri, 22 Feb 2013 11:06:26 +0100
4 Subject: [PATCH 42/68] gtk: connect GtkNSView to "move-native-children" and
8 gtk/gtknsview.c | 32 ++++++++++++++++++++++++++------
9 1 file changed, 26 insertions(+), 6 deletions(-)
11 diff --git a/gtk/gtknsview.c b/gtk/gtknsview.c
12 index 40c6a9b..a19a94e 100644
15 @@ -77,12 +77,14 @@ static gboolean gtk_ns_view_key_press (GtkWidget *widget,
16 static gboolean gtk_ns_view_key_release (GtkWidget *widget,
19 -static void gtk_ns_view_native_child_event (GdkWindow *window,
22 - GtkNSView *ns_view);
23 -static gboolean gtk_ns_view_forward_event (GtkWidget *widget,
24 - GdkEventKey *event);
25 +static void gtk_ns_view_native_child_event (GdkWindow *window,
28 + GtkNSView *ns_view);
29 +static void gtk_ns_view_move_native_children (GdkWindow *window,
30 + GtkNSView *ns_view);
31 +static gboolean gtk_ns_view_forward_event (GtkWidget *widget,
32 + GdkEventKey *event);
35 G_DEFINE_TYPE (GtkNSView, gtk_ns_view, GTK_TYPE_WIDGET)
36 @@ -287,6 +289,10 @@ gtk_ns_view_map (GtkWidget *widget)
37 G_CALLBACK (gtk_ns_view_native_child_event),
38 G_OBJECT (widget), 0);
40 + g_signal_connect_object (gtk_widget_get_window (widget), "move-native-children",
41 + G_CALLBACK (gtk_ns_view_move_native_children),
42 + G_OBJECT (widget), 0);
44 GTK_WIDGET_CLASS (gtk_ns_view_parent_class)->map (widget);
47 @@ -296,6 +302,10 @@ gtk_ns_view_unmap (GtkWidget *widget)
48 GtkNSView *ns_view = GTK_NS_VIEW (widget);
49 GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
51 + g_signal_handlers_disconnect_by_func (gtk_widget_get_window (widget),
52 + gtk_ns_view_move_native_children,
55 g_signal_handlers_disconnect_by_func (gtk_widget_get_window (toplevel),
56 gtk_ns_view_native_child_event,
58 @@ -412,6 +422,16 @@ gtk_ns_view_native_child_event (GdkWindow *window,
63 +gtk_ns_view_move_native_children (GdkWindow *window,
66 + GtkAllocation allocation;
68 + gtk_widget_get_allocation (GTK_WIDGET (ns_view), &allocation);
69 + gtk_ns_view_position_view (ns_view, &allocation);
73 gtk_ns_view_forward_event (GtkWidget *widget,
76 1.7.10.2 (Apple Git-33)