From 6ea7c290a34d27a2f125f2e93147d2f2fcbc1634 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Jul 2015 19:19:24 -0400 Subject: [PATCH] GtkWindow: Fix a use-after-free We were printing a string in a warning after freeing it. Also, fix an x/y typo that might cause popovers to be mispositioned. --- gtk/gtkwindow.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 52ea51c5e2..941b87b3cc 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -6359,7 +6359,7 @@ popover_get_rect (GtkWindowPopover *popover, { rect->y = popover->rect.y + popover->rect.height; - if (rect->y + rect->height < win_alloc.x + win_alloc.height && + if (rect->y + rect->height < win_alloc.y + win_alloc.height && gtk_widget_get_vexpand (popover->widget)) rect->height = win_alloc.y + win_alloc.height - rect->y; } @@ -11054,14 +11054,16 @@ gtk_window_activate_menubar (GtkWindow *window, return FALSE; gtk_accelerator_parse (accel, &keyval, &mods); - g_free (accel); if (keyval == 0) { g_warning ("Failed to parse menu bar accelerator '%s'\n", accel); + g_free (accel); return FALSE; } + g_free (accel); + /* FIXME this is wrong, needs to be in the global accel resolution * thing, to properly consider i18n etc., but that probably requires * AccelGroup changes etc.