Popover: If can't get widget rect, zero output ptr
authorDaniel Boles <dboles.src@gmail.com>
Sun, 11 Jun 2023 10:46:36 +0000 (11:46 +0100)
committerDaniel Boles <dboles.src@gmail.com>
Sun, 11 Jun 2023 10:46:36 +0000 (11:46 +0100)
cherry-pick of commit a6d40b610be6acb635d8732c11bb6d866bf2e95d

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/893#note_1766079

gtk/gtkpopover.c

index 5093962aa1a5d63df42e67760dca5b4bc01ef83b..2532472877adc248378703749afed720896f0251 100644 (file)
 
 #include "gdk/gdksurfaceprivate.h"
 
+#include <string.h> /* memset */
+
 #define MNEMONICS_DELAY 300 /* ms */
 
 #define TAIL_GAP_WIDTH  24
@@ -2192,7 +2194,10 @@ gtk_popover_get_pointing_to (GtkPopover   *popover,
       GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (popover));
 
       if (!gtk_widget_compute_bounds (parent, parent, &r))
-        return FALSE;
+        {
+          memset (rect, 0, sizeof (GdkRectangle));
+          return FALSE;
+        }
 
       rect->x = floorf (r.origin.x);
       rect->y = floorf (r.origin.y);