[{"id":3676213,"web_url":"http://patchwork.ozlabs.org/comment/3676213/","msgid":"<4dabec5f-1700-41a4-a36c-526b9f096460@linaro.org>","list_archive_url":null,"date":"2026-04-11T22:31:24","subject":"Re: [PATCH v2 48/67] ui/vnc: merge vnc_display_init() and\n vnc_display_open()","submitter":{"id":85046,"url":"http://patchwork.ozlabs.org/api/people/85046/","name":"Philippe Mathieu-Daudé","email":"philmd@linaro.org"},"content":"On 10/4/26 21:19, Marc-André Lureau wrote:\n> Combine the two-step vnc_display_init()/vnc_display_open() sequence\n> into a single vnc_display_new() function that returns VncDisplay*.\n> This simplifies the API by making vnc_display_open() an\n> internal detail and will allow further code simplification.\n> \n> vnc_display_new() is moved to vnc.h, since it returns VncDisplay* now.\n> Add vnc_display_free() for consistency, and it will be later used.\n> \n> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>\n> ---\n>   include/ui/console.h |  2 --\n>   ui/vnc.h             |  3 +++\n>   ui/vnc.c             | 75 ++++++++++++++++++++++------------------------------\n>   3 files changed, 35 insertions(+), 45 deletions(-)\n\n\n> -bool vnc_display_init(const char *id, Error **errp)\n> +VncDisplay *vnc_display_new(const char *id, Error **errp)\n>   {\n>       VncDisplay *vd;\n>   \n>       if (vnc_display_find(id) != NULL) {\n> -        return true;\n> +        return NULL;\n\nCan you explain why we don't return the VncDisplay found here?\n\n>       }\n>       vd = g_malloc0(sizeof(*vd));\n>   \n> @@ -3451,7 +3451,7 @@ bool vnc_display_init(const char *id, Error **errp)\n>   \n>       if (!vd->kbd_layout) {\n>           vnc_display_free(vd);\n> -        return false;\n> +        return NULL;\n>       }\n>   \n>       vd->share_policy = VNC_SHARE_POLICY_ALLOW_EXCLUSIVE;\n> @@ -3464,8 +3464,13 @@ bool vnc_display_init(const char *id, Error **errp)\n>       vd->vmstate_handler_entry = qemu_add_vm_change_state_handler(\n>           &vmstate_change_handler, vd);\n>   \n> +    if (!vnc_display_open(vd, errp)) {\n> +        vnc_display_free(vd);\n> +        return NULL;\n> +    }\n> +\n>       QTAILQ_INSERT_TAIL(&vnc_displays, vd, next);\n> -    return true;\n> +    return vd;\n>   }","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=UdEb9mJ+;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4ftT1L2Glnz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 08:31:48 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wBgrU-0005Do-JR; Sat, 11 Apr 2026 18:31:32 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1wBgrS-0005D5-Nn\n for qemu-devel@nongnu.org; Sat, 11 Apr 2026 18:31:30 -0400","from mail-wm1-x331.google.com ([2a00:1450:4864:20::331])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1wBgrQ-0004yI-Uo\n for qemu-devel@nongnu.org; Sat, 11 Apr 2026 18:31:30 -0400","by mail-wm1-x331.google.com with SMTP id\n 5b1f17b1804b1-4887ca8e529so20540265e9.0\n for <qemu-devel@nongnu.org>; Sat, 11 Apr 2026 15:31:28 -0700 (PDT)","from [192.168.69.228] (88-187-86-199.subs.proxad.net.\n [88.187.86.199]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-488d67e685csm86736035e9.6.2026.04.11.15.31.24\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Sat, 11 Apr 2026 15:31:25 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1775946686; x=1776551486; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:from:references:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :from:to:cc:subject:date:message-id:reply-to;\n bh=OWIvz3K1FuP2bukaRG2WwlQn/bsgrX6xMK0lKtMfsIs=;\n b=UdEb9mJ+XocKE47ygHgRTNjfzLm3c+YTyvJjQgwA+X30AdNTQEA/F9T0VwlxkqSEEH\n MScdo7rc9X85y9kcCymRyxigwq2kDuHxGBJkryb/koZrQYIIApdklHUqFXvagkT497B4\n b7J6fIO01/J2Qm0I05htYYeQBW0MzH9d5HDygH8pk9tVXDR3x84XGM8zqCwk6ptweZ0o\n EcIzDBBYCfERbug1ZOcybJ1z+j/pdla6x/ybzU4XdYw0SvONfAlU06k5B9vpn3DIuri/\n j8LHcq/ZBZ4p+k7axyny4O34XMpUjA6XOqJJAtQjGmBiUBZZNvAnjs91MrphpUzJ50h/\n 4onw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775946686; x=1776551486;\n h=content-transfer-encoding:in-reply-to:from:references:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=OWIvz3K1FuP2bukaRG2WwlQn/bsgrX6xMK0lKtMfsIs=;\n b=pmNtyYlYKk+WLgqvw7FJSt1o7KfPyfVAqq3b6UZap0n+87BMCOAXSAu48Y6MQvJ45E\n IAPMz6Xsfr7M/zW0Awo0x2PquQ7vDW/iiQvKC/wgAxLYMJNaMPeyGAUGQnH7BRuZrWH3\n bqSperNJGNnwKicnqCQ7G0Ty/I0AIy+Wr1m214zDeqEPiOvj7kwXpBTdN5vYWuXFVCk0\n 4zF+Ity4+CdWON42lp+uoloRh7vGZ48B+AFxPpMvm+o919gCCP42/4wLbhVpsWlsEIgG\n KaFcmHQmdzHWx050oUsQdME7/RsGf0IlPX8OhTNkKirrGz120v0gkJnUZuWcmyoZdzCg\n HDkw==","X-Forwarded-Encrypted":"i=1;\n AJvYcCWbxYVe7icUD97xy6d4tqxAjHur6dR9247eVSjpZG/whrqqZaYwVuXDo5XInznRc75KJ5ecHP/2r1Q1@nongnu.org","X-Gm-Message-State":"AOJu0Yx6/T4it3lV53q3Oi6dpt/I/2XzeT/6yLR7hHg/NSUHT++Sy/BA\n 7KN/FebqBx+wK76VB6YcPRFyNwi6E9gev0ACfWZac5WvqYoG5bEIwwpVsJ1UuxbMdwq3bJUmNZA\n M1bhsRog=","X-Gm-Gg":"AeBDietfqBjgPCZ2JORqiJAbh9KtSU5ywy6DteVOgxfT0huav7lmKmKgT0KAAE2KB88\n qfpGBMcxztAc+l6pAeO0w2YRzpX6yPKl48fcTk7rVtbT5eq4P4Dbnn1uxxaV8zPqVlOtuVd+5TB\n IXORSZ3nD8a+L1w5Gem+4R6Ih1s7oLTb3r5RNnsMn7+8rm+3nLhcbn9pkR30DMHok+496ec7j0i\n MOw1tmRCSEU5mxRqvaihnmvzdadvN3GM9oukL3RjiOErEcQDo6oXViPfYrQA9l5v+5r7ClZa2zd\n kAANvZ1pLxrUbY84Zt4RjsOAdyoGh9HrKyQovW1owS5iE3W/oythBso7+eH5CXfHmKnQTFayEnv\n QoXZ8DhrwBfA7+wooaUZ/0a0uoJ+Fy/n/cBeqsiGLO3w+Q51qLd0449b9e2ndKBCXXtL3BkZlHp\n mBfpgsafu7d3r5TBV4np3f5hrTCr61Ka0hXCNE2ZO/QsM1dheXRxHKI5wlJWtz8UIxzQ==","X-Received":"by 2002:a05:600c:444b:b0:488:9c3b:ff40 with SMTP id\n 5b1f17b1804b1-488d6acd9fbmr86323445e9.15.1775946685932;\n Sat, 11 Apr 2026 15:31:25 -0700 (PDT)","Message-ID":"<4dabec5f-1700-41a4-a36c-526b9f096460@linaro.org>","Date":"Sun, 12 Apr 2026 00:31:24 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 48/67] ui/vnc: merge vnc_display_init() and\n vnc_display_open()","Content-Language":"en-US","To":"=?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,\n qemu-devel@nongnu.org","References":"<20260410-qemu-vnc-v2-0-231416f76dc3@redhat.com>\n <20260410-qemu-vnc-v2-48-231416f76dc3@redhat.com>","From":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>","In-Reply-To":"<20260410-qemu-vnc-v2-48-231416f76dc3@redhat.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::331;\n envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3676298,"web_url":"http://patchwork.ozlabs.org/comment/3676298/","msgid":"<CAMxuvaw9YOsJihsQDpLjhM3ohk+h_JoeHT-6S7KvPuwNCReHSg@mail.gmail.com>","list_archive_url":null,"date":"2026-04-12T14:17:58","subject":"Re: [PATCH v2 48/67] ui/vnc: merge vnc_display_init() and\n vnc_display_open()","submitter":{"id":66774,"url":"http://patchwork.ozlabs.org/api/people/66774/","name":"Marc-André Lureau","email":"marcandre.lureau@redhat.com"},"content":"Hi\n\nOn Sun, Apr 12, 2026 at 2:31 AM Philippe Mathieu-Daudé\n<philmd@linaro.org> wrote:\n>\n> On 10/4/26 21:19, Marc-André Lureau wrote:\n> > Combine the two-step vnc_display_init()/vnc_display_open() sequence\n> > into a single vnc_display_new() function that returns VncDisplay*.\n> > This simplifies the API by making vnc_display_open() an\n> > internal detail and will allow further code simplification.\n> >\n> > vnc_display_new() is moved to vnc.h, since it returns VncDisplay* now.\n> > Add vnc_display_free() for consistency, and it will be later used.\n> >\n> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>\n> > ---\n> >   include/ui/console.h |  2 --\n> >   ui/vnc.h             |  3 +++\n> >   ui/vnc.c             | 75 ++++++++++++++++++++++------------------------------\n> >   3 files changed, 35 insertions(+), 45 deletions(-)\n>\n>\n> > -bool vnc_display_init(const char *id, Error **errp)\n> > +VncDisplay *vnc_display_new(const char *id, Error **errp)\n> >   {\n> >       VncDisplay *vd;\n> >\n> >       if (vnc_display_find(id) != NULL) {\n> > -        return true;\n> > +        return NULL;\n>\n> Can you explain why we don't return the VncDisplay found here?\n\n`vnc_display_new()` is called from `vnc_init_func()`. If we have\nduplicate IDs, the function returns NULL, which is treated as an\nerror.\n\nDuplicate IDs are handled earlier by qemu_opts_create() though. So we\ncould assert() instead ?\n\n>\n> >       }\n> >       vd = g_malloc0(sizeof(*vd));\n> >\n> > @@ -3451,7 +3451,7 @@ bool vnc_display_init(const char *id, Error **errp)\n> >\n> >       if (!vd->kbd_layout) {\n> >           vnc_display_free(vd);\n> > -        return false;\n> > +        return NULL;\n> >       }\n> >\n> >       vd->share_policy = VNC_SHARE_POLICY_ALLOW_EXCLUSIVE;\n> > @@ -3464,8 +3464,13 @@ bool vnc_display_init(const char *id, Error **errp)\n> >       vd->vmstate_handler_entry = qemu_add_vm_change_state_handler(\n> >           &vmstate_change_handler, vd);\n> >\n> > +    if (!vnc_display_open(vd, errp)) {\n> > +        vnc_display_free(vd);\n> > +        return NULL;\n> > +    }\n> > +\n> >       QTAILQ_INSERT_TAIL(&vnc_displays, vd, next);\n> > -    return true;\n> > +    return vd;\n> >   }\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=eWUs7mOX;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=XSHqgAEu;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4ftt2M2Xdfz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 00:19:05 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wBvdj-0004xs-Op; Sun, 12 Apr 2026 10:18:19 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <mlureau@redhat.com>)\n id 1wBvdh-0004xC-UR\n for qemu-devel@nongnu.org; Sun, 12 Apr 2026 10:18:17 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <mlureau@redhat.com>)\n id 1wBvdf-0007iS-Jy\n for qemu-devel@nongnu.org; Sun, 12 Apr 2026 10:18:17 -0400","from mail-pj1-f69.google.com (mail-pj1-f69.google.com\n [209.85.216.69]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-599-bvBFJSWRMK-jzmRPjEPUPw-1; Sun, 12 Apr 2026 10:18:11 -0400","by mail-pj1-f69.google.com with SMTP id\n 98e67ed59e1d1-35da1c703d1so4037985a91.1\n for <qemu-devel@nongnu.org>; Sun, 12 Apr 2026 07:18:11 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1776003493;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=5m8XRONqEE/kTuIqOcbqKP57IAZAVA9uwuhGgzaxXq8=;\n b=eWUs7mOXIfVIYnXdizsHx/pGwGrGdWNsPbyf8ROq17HzVG51oP99E1bZ2Gp3mwshnhHGhL\n nTBdSdCVurE0LA70Vn1mXOC9n5Mo+qWS1s2ENMZZwPbWIJFIBBhq/qA7as7u8BElOQcuAa\n X2/wWVl9J5nPNMO5GR3TJOuvs6RGXhc=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1776003491; x=1776608291; darn=nongnu.org;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=5m8XRONqEE/kTuIqOcbqKP57IAZAVA9uwuhGgzaxXq8=;\n b=XSHqgAEu27IIZ3W9u4b6MGAK+UJerdap9g9r23fOahEDeAoGBAse2+GSYrgQ745ai4\n bzIJBzhjMFyT+5qIH/4tkH53EpoX5pX/vKYs8bM7iR3noSA8Uw/bdbAIEmd8m0aBMp8Q\n yw76V01aR+vnh1gNX8dcSWnBtagLqAlMu9qeCWfIy8GBEXwrr0aQRBvCuzd8nJCnd53s\n 83Xchq69SdTRjW6fkupr/F7InGEMFz3acslZQTnMNTD+UMpGgBTPywbb9VhWQXNMtKFH\n tU+ghArNd2yv0nw3lq8UEeZ3Ux2Wcc7YCltw73idgfv35gSSfuaE7vzCXW7OGin918OQ\n ZNSQ=="],"X-MC-Unique":"bvBFJSWRMK-jzmRPjEPUPw-1","X-Mimecast-MFC-AGG-ID":"bvBFJSWRMK-jzmRPjEPUPw_1776003491","ARC-Seal":"i=1; a=rsa-sha256; t=1776003491; cv=none;\n d=google.com; s=arc-20240605;\n b=iW2zNTLqjy48KGDHF9ulve6Dwboy5MbCiQIA7OpiSwz1cU5HD4AZBwdgBTaNogUXUe\n jRpPTQ05DdsEr9yhBFxiR2qix0YC9/afH+Fqed9X0mrxu3y0EhgvCjF3CitzVXsdQxbW\n ybdwu8wcTfRZ9x3PvUmpxXjAxel8uskaMaD9A6B8k9b/HUqPYvL5olAcyGdgHKp/EsA6\n gM4YTINVaQEkm8pOEhC6kot6PO9x7/6TssTxUJzRKxdCSKIwmuO818kgTKjB5ecyFLfG\n F+KophzwpQBLjoUvqPiEOH9zoMNU1u5CgCLRv+5cmrC+A4oXf5M8MuTGhuKHqbweZ4K1\n EOBg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:dkim-signature;\n bh=5m8XRONqEE/kTuIqOcbqKP57IAZAVA9uwuhGgzaxXq8=;\n fh=zpiKzW8LH3ELwKzluQ3AheUCgrr23INy4hQ6ZjBUBr4=;\n b=CGJxBwYINFL2MFsUa8AmkrKXSwvb1hfZXHLkKzlADLkUYtjuq1Eji6kVjbKpWysXuu\n MyS2+ViNmOhEqtTCfQb1EUFBafEeZdEJ0MxXpRJrbVeKAjIfgknv3zTTnU/XP8T91lml\n 4YHxNOMPRPyOYl1aI70QltPDAqKn1YiPNpJx9wABBvC7wl1mSpu2vLGqF3NH1sDYT455\n bWJUREcrv2EfS0PZbDMUsL/hzUtgsFkPx9QrGpoQ2sC7vxE+sM1JnklA3UXS92zFSrmd\n u3hC/bhT6RBJMMF7oKDxv924SqpHD/zAeQvUI9tdAnrSGA8L7W8B0Foulr8EZkNCYkjI\n Vsfw==; darn=nongnu.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776003491; x=1776608291;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=5m8XRONqEE/kTuIqOcbqKP57IAZAVA9uwuhGgzaxXq8=;\n b=fKrl1ZUozEtOgfWZMZh3vmHYK3PdmDlgkAQ5zNt0Yz4dpSEoTMgW4y0uDmC/0l84eK\n jcibRrEG6DfeWCtmeAC6AC26xzgpcsy8iL05G56nBGvkzU2+7QRTlPY9CIMjFGGpNAxN\n ZjpXJOVXgHLFaL+h1egm0S+IVivMKCr8vHqjDZo5hINYH3/8AypZSiIntDmsqEg+XkVQ\n JBBYYdxtW3eAdFTJ2FzsZH9QZ4mRzjhJxOtDLSa0aAzYyOuLJmojEehiriq9yLt7cQ5f\n R55OW91XpULJZXOncVHeS7cvOyVnCBVLBkUS4kNsL5cUhyKDY6hdE3+4tojwFdV0OyLV\n aAnw==","X-Gm-Message-State":"AOJu0Yz7VEk6X79hO/Jeq0TuR5TOhm1HndqqTaB0F8zIpIgLg+DmO/cP\n jQ3GkDBerzb3CxozGIVsWr4Qzu1MoqC5PlWXChJfoCU2GHbcyiqbCmGG2fTzWcJwRx3JoT1EsrS\n 6lYsy6rXOyzZM1OykO0/9HKGJeXR0QdMHM3LtJJpoW3TcHWwDO4yYb7N8EX1h3dpNO6S0vcH0ld\n /jJncY7IUSr60nYIMg8S2O+vnHecAyh+c=","X-Gm-Gg":"AeBDiesGZv7U5H6ZnR/FnHs0CaC5QSxvXx6NoKSPPQmkktlJ9N6XwrusoXl1onAO6oy\n 0ROaASp5vinjq2j7tq6CBBYWJtANb04I2EFgw4/i6yy88yHHeSWp/xZ2v3S3MCq89JTRFebVspB\n UjKfo/tzHdoON/CTt4hVPPJ4ArAa5RflEqdotOI3GYV682BeHcRcUk3LkmaspmjqaVIzGMZJ+EG\n kraFQE3mcg1mGmSDjd0vSmhPekvcGI6mIS2VRTgHTg80W5c60Lf9rXPB9p1yxoaw0CGhTel/V9i\n 54gqEb17Zeoq9bmOyCljnxNN","X-Received":["by 2002:a17:90b:380a:b0:35f:b647:d97e with SMTP id\n 98e67ed59e1d1-35fb647dcefmr565912a91.12.1776003490691;\n Sun, 12 Apr 2026 07:18:10 -0700 (PDT)","by 2002:a17:90b:380a:b0:35f:b647:d97e with SMTP id\n 98e67ed59e1d1-35fb647dcefmr565895a91.12.1776003490164; Sun, 12 Apr 2026\n 07:18:10 -0700 (PDT)"],"MIME-Version":"1.0","References":"<20260410-qemu-vnc-v2-0-231416f76dc3@redhat.com>\n <20260410-qemu-vnc-v2-48-231416f76dc3@redhat.com>\n <4dabec5f-1700-41a4-a36c-526b9f096460@linaro.org>","In-Reply-To":"<4dabec5f-1700-41a4-a36c-526b9f096460@linaro.org>","From":"=?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>","Date":"Sun, 12 Apr 2026 18:17:58 +0400","X-Gm-Features":"AQROBzBuPutrpX26WkWBmH3XGlqo4S1b4pEmpJ1F0DRYi6pz4tOR5Jf5jbwLrcI","Message-ID":"\n <CAMxuvaw9YOsJihsQDpLjhM3ohk+h_JoeHT-6S7KvPuwNCReHSg@mail.gmail.com>","Subject":"Re: [PATCH v2 48/67] ui/vnc: merge vnc_display_init() and\n vnc_display_open()","To":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>","Cc":"qemu-devel@nongnu.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","Received-SPF":"pass client-ip=170.10.129.124; envelope-from=mlureau@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com","X-Spam_score_int":"-25","X-Spam_score":"-2.6","X-Spam_bar":"--","X-Spam_report":"(-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.54,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3676384,"web_url":"http://patchwork.ozlabs.org/comment/3676384/","msgid":"<fae0a954-fd89-49f7-848d-74f352036176@linaro.org>","list_archive_url":null,"date":"2026-04-12T20:57:51","subject":"Re: [PATCH v2 48/67] ui/vnc: merge vnc_display_init() and\n vnc_display_open()","submitter":{"id":85046,"url":"http://patchwork.ozlabs.org/api/people/85046/","name":"Philippe Mathieu-Daudé","email":"philmd@linaro.org"},"content":"On 12/4/26 16:17, Marc-André Lureau wrote:\n> Hi\n> \n> On Sun, Apr 12, 2026 at 2:31 AM Philippe Mathieu-Daudé\n> <philmd@linaro.org> wrote:\n>>\n>> On 10/4/26 21:19, Marc-André Lureau wrote:\n>>> Combine the two-step vnc_display_init()/vnc_display_open() sequence\n>>> into a single vnc_display_new() function that returns VncDisplay*.\n>>> This simplifies the API by making vnc_display_open() an\n>>> internal detail and will allow further code simplification.\n>>>\n>>> vnc_display_new() is moved to vnc.h, since it returns VncDisplay* now.\n>>> Add vnc_display_free() for consistency, and it will be later used.\n>>>\n>>> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>\n>>> ---\n>>>    include/ui/console.h |  2 --\n>>>    ui/vnc.h             |  3 +++\n>>>    ui/vnc.c             | 75 ++++++++++++++++++++++------------------------------\n>>>    3 files changed, 35 insertions(+), 45 deletions(-)\n>>\n>>\n>>> -bool vnc_display_init(const char *id, Error **errp)\n>>> +VncDisplay *vnc_display_new(const char *id, Error **errp)\n>>>    {\n>>>        VncDisplay *vd;\n>>>\n>>>        if (vnc_display_find(id) != NULL) {\n>>> -        return true;\n>>> +        return NULL;\n>>\n>> Can you explain why we don't return the VncDisplay found here?\n> \n> `vnc_display_new()` is called from `vnc_init_func()`. If we have\n> duplicate IDs, the function returns NULL, which is treated as an\n> error.\n> \n> Duplicate IDs are handled earlier by qemu_opts_create() though. So we\n> could assert() instead ?\n\nThat would make this code path clearer for sure.\n\n> \n>>\n>>>        }\n>>>        vd = g_malloc0(sizeof(*vd));\n>>>\n>>> @@ -3451,7 +3451,7 @@ bool vnc_display_init(const char *id, Error **errp)\n>>>\n>>>        if (!vd->kbd_layout) {\n>>>            vnc_display_free(vd);\n>>> -        return false;\n>>> +        return NULL;\n>>>        }\n>>>\n>>>        vd->share_policy = VNC_SHARE_POLICY_ALLOW_EXCLUSIVE;\n>>> @@ -3464,8 +3464,13 @@ bool vnc_display_init(const char *id, Error **errp)\n>>>        vd->vmstate_handler_entry = qemu_add_vm_change_state_handler(\n>>>            &vmstate_change_handler, vd);\n>>>\n>>> +    if (!vnc_display_open(vd, errp)) {\n>>> +        vnc_display_free(vd);\n>>> +        return NULL;\n>>> +    }\n>>> +\n>>>        QTAILQ_INSERT_TAIL(&vnc_displays, vd, next);\n>>> -    return true;\n>>> +    return vd;\n>>>    }\n>>\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=hPw2MiE8;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fv2v43fMbz1yGC\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 06:58:22 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wC1sZ-0003L2-4O; Sun, 12 Apr 2026 16:58:03 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1wC1sT-0003Ko-JB\n for qemu-devel@nongnu.org; Sun, 12 Apr 2026 16:57:58 -0400","from mail-wr1-x432.google.com ([2a00:1450:4864:20::432])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1wC1sR-0007nA-Nd\n for qemu-devel@nongnu.org; Sun, 12 Apr 2026 16:57:57 -0400","by mail-wr1-x432.google.com with SMTP id\n ffacd0b85a97d-43d734223e4so392996f8f.0\n for <qemu-devel@nongnu.org>; Sun, 12 Apr 2026 13:57:53 -0700 (PDT)","from [192.168.69.228] (88-187-86-199.subs.proxad.net.\n [88.187.86.199]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43d63dec27fsm26525499f8f.11.2026.04.12.13.57.51\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Sun, 12 Apr 2026 13:57:51 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776027472; x=1776632272; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:from:references:cc:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :from:to:cc:subject:date:message-id:reply-to;\n bh=09PqwNmU1FaK0txdsT0YCjxAuFR71lGoXBL2cRJstVY=;\n b=hPw2MiE8bOyl+Ls5//ZqiAY8zG3SEUoYsn+UdNJerctbltX77TSR2JmE9c6t/cRjuY\n 1WyMpPGK/kBJ4sqO3Ka+kJb+Z8q3X6C4iiMnG160GODN19LkBOskws8DbjYt5sN++23k\n pIyQVm7d1qODamGgQTcSQtv+5P1p6yMHtkRcNLEI3RaX/QD8CTfqsAMpnYtpeRlekEDO\n J7KerP0rNon2tF4Bc+J5ZQhzDM4EdLjrc3WkWVhXfj+8DV5nxDoBuhpRQzZ+gOVwCIUB\n R9y5Po0FieYgGuUyBvjzhjMoL7fWFF35L4zHvARsjrzJt1puyRMQa4vyrk2ECNyWon7+\n fQCQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776027472; x=1776632272;\n h=content-transfer-encoding:in-reply-to:from:references:cc:to\n :content-language:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=09PqwNmU1FaK0txdsT0YCjxAuFR71lGoXBL2cRJstVY=;\n b=YRVE8sFnPXcl62G2Bv5o7PVnuMW37XlK9aMFe323rmLAutCv7sfRss/ArOyZrdZ5kL\n gqZfwW/kgez1fDGJWw3HJQulgV8IezezYNXZ2JOYPtmBby3vbAsJS9++21hL0Z/1Yj9u\n JqD5yrNkhD2OCoYmtsG8qgfHeBxnNsmIV0NbKVqZZqdZnm39KZinMFmijAhG/9L2FCYm\n bF0XjHFs75jeA+EzTwSXxgek6dx+dGgNTWbhJTuuym54/G4Yb4QNdgYKJfpdoyF9gqOi\n GVc11qGS2Loaf8Ui0R6UgWiWILqjw326F2m9q+kwk717cQeLK5TKaNYJRvPnP0Z70qr4\n RpgQ==","X-Gm-Message-State":"AOJu0Yyki2UoFhFsFjN2aOdcmO9THLaWY+FvwR0evrEtMLKABAiqyQgQ\n aVXGDWFS3ng7dsTd9ACK07XJyrT6wDzWVHn+O1tIA5UD/ldtThZA6OSaaVVuhkG8IGE=","X-Gm-Gg":"AeBDievsNsl2r/I+R74BO/e4xlXuFtPqpPL/eQ3WhkCORCYVi7bWN2uJmxe3q103zFB\n L9w/4HfLHAxIP1Hn5CqJxPU53jyfNRW3ER/psUGDLKn8UPaMzapV1MKf+jmTyjHP/EA8tceTCov\n CMu1cDOq/60svNSGEs6jzszVdLFe4bOchf/dA/oqx9IJ3wRjRGrc6GnJndigI1vJyl31f5nXHJj\n ha9tp8XFLVTEV8QC+G8z/n7uE6b9ta9xfMO7ngALTgvCLQyXn4f8TcRqdmTkgZkh9Ta+yhct/nK\n ft7ysvFQUFiSMgTCwaDEGlMiHl+aBwJk0rR8PFrZ8Pes4gY77cfmBUDJZvzrMJeXhAuO8DxZTsU\n pD5PSKnvQI9qTbqSMyRj4OsZ7A681aGUwvYvxx5lfyLyDN+XZ4iui5wFzRXScCTN2/owU/jXOxq\n HWtlzlHhtv86ydxhj1YYa6d8SNQEMblp9BlU227UEcONxhLbsunhVj1Y8pmPg+nvh8HA==","X-Received":"by 2002:a05:6000:3104:b0:43d:258d:8fa7 with SMTP id\n ffacd0b85a97d-43d6492e85emr16797281f8f.7.1776027472310;\n Sun, 12 Apr 2026 13:57:52 -0700 (PDT)","Message-ID":"<fae0a954-fd89-49f7-848d-74f352036176@linaro.org>","Date":"Sun, 12 Apr 2026 22:57:51 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 48/67] ui/vnc: merge vnc_display_init() and\n vnc_display_open()","Content-Language":"en-US","To":"=?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>","Cc":"qemu-devel@nongnu.org","References":"<20260410-qemu-vnc-v2-0-231416f76dc3@redhat.com>\n <20260410-qemu-vnc-v2-48-231416f76dc3@redhat.com>\n <4dabec5f-1700-41a4-a36c-526b9f096460@linaro.org>\n <CAMxuvaw9YOsJihsQDpLjhM3ohk+h_JoeHT-6S7KvPuwNCReHSg@mail.gmail.com>","From":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>","In-Reply-To":"\n <CAMxuvaw9YOsJihsQDpLjhM3ohk+h_JoeHT-6S7KvPuwNCReHSg@mail.gmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::432;\n envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]