[gtksourceview] assistants: measure and present together



commit 82ac96b55fcde0c8b3623c68dfb4ae04644db350
Author: Christian Hergert <chergert redhat com>
Date:   Fri May 13 19:12:17 2022 -0700

    assistants: measure and present together
    
    And avoid if there is no surface yet or not visible.

 gtksourceview/gtksourceview-assistants.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---
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));
+               }
        }
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]