diff options
author | Christian Hergert <chergert@redhat.com> | 2022-05-13 19:12:17 -0700 |
---|---|---|
committer | Christian Hergert <chergert@redhat.com> | 2022-05-13 19:37:52 -0700 |
commit | 82ac96b55fcde0c8b3623c68dfb4ae04644db350 (patch) | |
tree | 96974bc2149de80bb8f0cc57e868b8fe25ff4aa6 /gtksourceview/gtksourceview-assistants.c | |
parent | 1652a12271eda38e655aece4dfa2eec45725941b (diff) | |
download | gtksourceview-82ac96b55fcde0c8b3623c68dfb4ae04644db350.tar.gz |
assistants: measure and present together
And avoid if there is no surface yet or not visible.
Diffstat (limited to 'gtksourceview/gtksourceview-assistants.c')
-rw-r--r-- | gtksourceview/gtksourceview-assistants.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gtksourceview/gtksourceview-assistants.c b/gtksourceview/gtksourceview-assistants.c index 4991765e..5f7c6639 100644 --- a/gtksourceview/gtksourceview-assistants.c +++ b/gtksourceview/gtksourceview-assistants.c @@ -103,7 +103,14 @@ _gtk_source_view_assistants_size_allocate (GtkSourceViewAssistants *assistants, g_assert (GTK_SOURCE_IS_ASSISTANT (assistant)); - gtk_popover_present (GTK_POPOVER (assistant)); + if (gtk_widget_get_visible (GTK_WIDGET (assistant)) && + gtk_native_get_surface (GTK_NATIVE (assistant)) != NULL) + { + GtkRequisition req; + + gtk_widget_get_preferred_size (GTK_WIDGET (assistant), NULL, &req); + gtk_popover_present (GTK_POPOVER (assistant)); + } } } |