Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #3109 and #3112

See merge request GNOME/gtk!2522
This commit is contained in:
Matthias Clasen 2020-09-02 19:47:40 +00:00
commit eee6d28c67
4 changed files with 25 additions and 3 deletions

8
NEWS
View File

@ -32,7 +32,10 @@ Overview of Changes in GTK 3.99.1
* GtkButton: Simplify the button hierarchy; GtkRadioButton
is gone, GtkCheckButton and GtkToggleButton can be grouped
now
* list widgets:
- Change apis to make models explicitly GtkSelectionModel
- Simplify constructors
* CSS:
- Hexadecimal colors can now specify alpha
@ -44,6 +47,9 @@ Overview of Changes in GTK 3.99.1
- Round the corners of frames
- Make circular buttons square
* GL renderer:
- Fix clipping with projective transforms
* Documentation:
- Refresh the widget gallery
- Add images for new widgets to the gallery

View File

@ -6825,6 +6825,7 @@ gtk_text_insert_emoji (GtkText *self)
gtk_widget_set_parent (chooser, GTK_WIDGET (self));
g_signal_connect (chooser, "emoji-picked", G_CALLBACK (emoji_picked), self);
g_signal_connect_swapped (chooser, "hide", G_CALLBACK (gtk_widget_grab_focus), self);
}
gtk_popover_popup (GTK_POPOVER (chooser));

View File

@ -9623,6 +9623,7 @@ gtk_text_view_insert_emoji (GtkTextView *text_view)
GtkWidget *chooser;
GtkTextIter iter;
GdkRectangle rect;
GdkRectangle rect2;
GtkTextBuffer *buffer;
if (gtk_widget_get_ancestor (GTK_WIDGET (text_view), GTK_TYPE_EMOJI_CHOOSER) != NULL)
@ -9636,9 +9637,11 @@ gtk_text_view_insert_emoji (GtkTextView *text_view)
gtk_widget_set_parent (chooser, GTK_WIDGET (text_view));
g_signal_connect (chooser, "emoji-picked", G_CALLBACK (emoji_picked), text_view);
g_signal_connect_swapped (chooser, "hide", G_CALLBACK (gtk_widget_grab_focus), text_view);
}
buffer = get_buffer (text_view);
gtk_text_buffer_get_iter_at_mark (buffer, &iter,
gtk_text_buffer_get_insert (buffer));
@ -9646,6 +9649,18 @@ gtk_text_view_insert_emoji (GtkTextView *text_view)
gtk_text_view_buffer_to_window_coords (text_view, GTK_TEXT_WINDOW_TEXT,
rect.x, rect.y, &rect.x, &rect.y);
_text_window_to_widget_coords (text_view, &rect.x, &rect.y);
gtk_text_view_get_visible_rect (text_view, &rect2);
gtk_text_view_buffer_to_window_coords (text_view, GTK_TEXT_WINDOW_TEXT,
rect2.x, rect2.y, &rect2.x, &rect2.y);
_text_window_to_widget_coords (text_view, &rect2.x, &rect2.y);
if (!gdk_rectangle_intersect (&rect2, &rect, &rect))
{
rect.x = rect2.width / 2;
rect.y = rect2.height / 2;
rect.width = 0;
rect.height = 0;
}
gtk_popover_set_pointing_to (GTK_POPOVER (chooser), &rect);

View File

@ -9370,8 +9370,8 @@ gtk_widget_do_pick (GtkWidget *widget,
gsk_transform_unref (transform);
graphene_point3d_init (&p0, x, y, 0);
graphene_point3d_init (&p1, x, y, 1);
gsk_matrix_transform_point3d (&inv, &p0, &p0);
gsk_matrix_transform_point3d (&inv, &p1, &p1);
graphene_matrix_transform_point3d (&inv, &p0, &p0);
graphene_matrix_transform_point3d (&inv, &p1, &p1);
if (fabs (p0.z - p1.z) < 1.f / 4096)
continue;