diff --git a/gtk/gtktexthandle.c b/gtk/gtktexthandle.c index 83348874b5..d5745665b5 100644 --- a/gtk/gtktexthandle.c +++ b/gtk/gtktexthandle.c @@ -391,14 +391,17 @@ _gtk_text_handle_update (GtkTextHandle *handle, _gtk_text_handle_ensure_widget (handle, pos); _gtk_text_handle_get_size (handle, &width, &height); - rect.x = handle_window->pointing_to.x; - rect.y = handle_window->pointing_to.y; - rect.width = width; - rect.height = 0; + border->top = height; + border->bottom = height; border->left = width; border->right = width; + rect.x = handle_window->pointing_to.x; + rect.y = handle_window->pointing_to.y + handle_window->pointing_to.height - handle_window->border.top; + rect.width = width; + rect.height = 0; + _handle_update_child_visible (handle, pos); window = gtk_widget_get_parent (handle_window->widget); @@ -414,9 +417,6 @@ _gtk_text_handle_update (GtkTextHandle *handle, handle_window->dir != GTK_TEXT_DIR_RTL)) rect.x -= rect.width; - border->top = height; - border->bottom = height; - /* The goal is to make the window 3 times as wide and high. The handle * will be rendered in the center, making the rest an invisible border. * If we hit the edge of the toplevel, we shrink the border to avoid