From nobody Sun Feb 8 22:18:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1521014746340148.80398132540859; Wed, 14 Mar 2018 01:05:46 -0700 (PDT) Received: from localhost ([::1]:44865 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ew1Pt-0002ai-JD for importer@patchew.org; Wed, 14 Mar 2018 04:05:45 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38349) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ew1Ou-0002BB-CL for qemu-devel@nongnu.org; Wed, 14 Mar 2018 04:04:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ew1Or-0002B6-7R for qemu-devel@nongnu.org; Wed, 14 Mar 2018 04:04:44 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:51938 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ew1Or-0002Am-2d for qemu-devel@nongnu.org; Wed, 14 Mar 2018 04:04:41 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9D3977B4C8; Wed, 14 Mar 2018 08:04:40 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-39.ams2.redhat.com [10.36.116.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5B174215CDA7; Wed, 14 Mar 2018 08:04:40 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 7E575ECE; Wed, 14 Mar 2018 09:04:39 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 14 Mar 2018 09:04:39 +0100 Message-Id: <20180314080439.4229-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 14 Mar 2018 08:04:40 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Wed, 14 Mar 2018 08:04:40 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PATCH] gtk: drop pointless code from gd_window_close X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Cave-Ayland , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Unregistering the display change listener looks like a pointless excercise given we'll exit in a moment. When exiting qemu via menu/file/quit this will not happen either. Just drop the code. Also return TRUE unconditionally. This will tell gtk to ignore the close request, so gtk will not start destroying widgets and causing warnings due to UI code trying to talk to widgets which are gone. Just depend on qmp_quit() doing it's job instead. Reported-by: Mark Cave-Ayland Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Mark Cave-Ayland --- ui/gtk.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/ui/gtk.c b/ui/gtk.c index ef5bc42094..2925c66e0b 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -786,21 +786,13 @@ static gboolean gd_window_close(GtkWidget *widget, Gd= kEvent *event, { GtkDisplayState *s =3D opaque; bool allow_close =3D true; - int i; =20 if (s->opts->has_window_close && !s->opts->window_close) { allow_close =3D false; } =20 if (allow_close) { - for (i =3D 0; i < s->nb_vcs; i++) { - if (s->vc[i].type !=3D GD_VC_GFX) { - continue; - } - unregister_displaychangelistener(&s->vc[i].gfx.dcl); - } qmp_quit(NULL); - return FALSE; } =20 return TRUE; --=20 2.9.3