forked from AuroraMiddleware/gtk
textview: Ensure popup menu is properly inserted
In the presence of attached children, the css tree and the widget tree are not in sync, so we need to explicitly set the parent of the css node before inserting the widget, or else we end up with critical warnings and a non-working menu. This can be seen in testtextview.
This commit is contained in:
parent
3f548327b5
commit
10921aa237
@ -8638,6 +8638,9 @@ gtk_text_view_do_popup (GtkTextView *text_view,
|
|||||||
|
|
||||||
model = gtk_text_view_get_menu_model (text_view);
|
model = gtk_text_view_get_menu_model (text_view);
|
||||||
priv->popup_menu = gtk_popover_menu_new_from_model (model);
|
priv->popup_menu = gtk_popover_menu_new_from_model (model);
|
||||||
|
gtk_css_node_insert_after (gtk_widget_get_css_node (GTK_WIDGET (text_view)),
|
||||||
|
gtk_widget_get_css_node (priv->popup_menu),
|
||||||
|
priv->text_window->css_node);
|
||||||
gtk_widget_set_parent (priv->popup_menu, GTK_WIDGET (text_view));
|
gtk_widget_set_parent (priv->popup_menu, GTK_WIDGET (text_view));
|
||||||
gtk_popover_set_position (GTK_POPOVER (priv->popup_menu), GTK_POS_BOTTOM);
|
gtk_popover_set_position (GTK_POPOVER (priv->popup_menu), GTK_POS_BOTTOM);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user