From patchwork Tue Mar 5 11:05:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 777968 Delivered-To: patch@linaro.org Received: by 2002:a5d:48c8:0:b0:33e:474f:8c56 with SMTP id p8csp371889wrs; Tue, 5 Mar 2024 03:07:22 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX1VWuiTwjoiTA5hiJyVGNaGF1T0MEFxyaQ3I2/jEXobSSXSqCyWOI1hoTTV++3KeEE2iZGzQGc7Hd6S0jYUPac X-Google-Smtp-Source: AGHT+IFKYfyzLZ5jTov1Cf4Vt5me9RztdT/sIsUHHjCi/lnktbJIh+Nt7NDzncfJCGxogpixqomw X-Received: by 2002:a05:6870:2151:b0:21e:fc35:73ef with SMTP id g17-20020a056870215100b0021efc3573efmr1441596oae.38.1709636842268; Tue, 05 Mar 2024 03:07:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709636842; cv=none; d=google.com; s=arc-20160816; b=u9b0226p77aP9glK1YV7pDIA94I2eIfZsFo2WbpcX0ZT96clTL15Fd4J3bxJ7PCsri 0EnMFg7ENEK9441dDlpUUm3o5ogHCKDF/p1HgyvtgIjonf4CJTGdJYp53G2+vZtu+U/b VQ1oGsKlhmB9lM4+WO65wg8DQmKD+Dwql27c38drVQE5NVS8qqGimSuf1EeYb2by+lNR KJJdLWFRnAaqdr+niPYGLRInqRHzy8YZXcHj1BOu0woC+c6uqfnCANfaxMACNE4tWqmg MUlGmGVt/A8Xf6x49gLO/ZmA7kVc1mxIh+VnlrANdnmebXm1JNtBYKdlW/v0mvog8McM /ayg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Sv16H9PKGwJGLVBAig4t3MlBJQ0Q5jant0j1NpS60/0=; fh=cmtn7s+bxtvEQr7W4Z6Ur3MtqGzzC5CmRSKORhwKJKo=; b=Aj7UTb1g0+Mj5YzsWp4YlH7teh+HGRnqY3BTTbQ6fgbyLS3XNUn0yfYL4mA80CYumU kJhwJa0nuY7LsAiE0v70U6AJrh37QXfBoC4UqHwnA+2w25AatyQdpv1j9o0VtraKve0w WDJmN/8Wi4QKkc+vjNsPWJD/O5JYN20nsyainaLNogh+byO6ephTvLptc9UzpCioINpR NeA3IQJxCBSCm0GfrcnkMhsXnmKkfp6S2o7ZhRFKRn0+8nI2DO04qUw9vyhRrn0Klj1J UwXwGJ0j2kDHIss9XlAVI4R3YptywPFcIKsu+l78hhPL1jhVgcCxZf3NUeRu7ByKcWnI 70aA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="K/PSD++d"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id m4-20020a05620a214400b0078822aa9fb9si5420929qkm.467.2024.03.05.03.07.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 05 Mar 2024 03:07:22 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="K/PSD++d"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rhScx-0007Zw-86; Tue, 05 Mar 2024 06:06:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhScv-0007Zk-60 for qemu-devel@nongnu.org; Tue, 05 Mar 2024 06:06:29 -0500 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rhScr-0002kH-3b for qemu-devel@nongnu.org; Tue, 05 Mar 2024 06:06:28 -0500 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5645960cd56so638356a12.1 for ; Tue, 05 Mar 2024 03:06:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709636783; x=1710241583; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Sv16H9PKGwJGLVBAig4t3MlBJQ0Q5jant0j1NpS60/0=; b=K/PSD++dLYSuEFr/KzAucWEs1sSh8Uci0nBn4lnZwUc8Cj5pCbjoTc5XPZYOeXlW83 PbKalhDt1ySaZvj11BDpeE5eHM5VT3blv57SwJCknNXimRJJH7UXJfbk6NGMAqcbWaox XwFRo7hXQ7gGheEF17gWr8VVQCjSPUnEGC+jlRcv7EUN9D22g10Sn+s8DGqRSc/osnLc jEO3D2QwsZj/1wDyGLcSf09BpuONL+yegUbZjtFXVvPrktqYA2g4SqKi96e9c/Rjr1ZJ Sdv/fGRPbB/4hmZ2mC/YQi5zDKqMxTOMCZinRb2+pwBvHf8Dvz1xJqywmN4ehtr8KQxh gDXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709636783; x=1710241583; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Sv16H9PKGwJGLVBAig4t3MlBJQ0Q5jant0j1NpS60/0=; b=Qzw40Y8qyE4JtEm0veozT83WIwYSqPL8TlNPP5HArI1IPEnopDUZQl7sbi+Nse7zdV v9E6F/lc9SOG0GHi5nOAAq+yq04g6DGuJhMTIKzieJcReqm0J7S1MKLNFfF4j+TeqEfZ YyMYwq+Jh/n76KLOZicFJYLKLn72QC0seODzLmy1+QVzzznb51vusXA4vFZxNmifLMpN e89kAzkvdMqJVsB0WOxG/2T9IVN/AywuymiXHlIjmVxh3392d5nXnqUjckA45NyivXmK gI/Ner/YDRCSZCmjzJeQ8ZYp3EWWc3R1qoY1PKZOTVbFtsqnDx+CpBw8WdGLHjnz3WvJ o70w== X-Gm-Message-State: AOJu0YzgSNFF2MzpIuYcwvM10J0KT7wmqByvh1lKuG/YNaukp9XQZyTS fcWgaVIn0zN4yeP51ov71SqvhFwGOjLKR/wL91LQJOKRdnb91iLE5DerTdH0YtOzPzqz94nbtID o X-Received: by 2002:a05:6402:7d7:b0:567:4900:3103 with SMTP id u23-20020a05640207d700b0056749003103mr3218708edy.41.1709636782932; Tue, 05 Mar 2024 03:06:22 -0800 (PST) Received: from m1x-phil.lan ([176.176.177.70]) by smtp.gmail.com with ESMTPSA id v29-20020a50a45d000000b005649f17558bsm5956254edb.42.2024.03.05.03.06.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 05 Mar 2024 03:06:22 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: David Parsons , Akihiko Odaki , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , Peter Maydell , Gerd Hoffmann , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Subject: [PULL 02/12] ui/cocoa: Fix window clipping on macOS 14 Date: Tue, 5 Mar 2024 12:05:57 +0100 Message-ID: <20240305110608.21618-3-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240305110608.21618-1-philmd@linaro.org> References: <20240305110608.21618-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=philmd@linaro.org; helo=mail-ed1-x52f.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, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: David Parsons macOS Sonoma changes the NSView.clipsToBounds to false by default where it was true in earlier version of macOS. This causes the window contents to be occluded by the frame at the top of the window. This fixes the issue by conditionally compiling the clipping on Sonoma to true. NSView only exposes the clipToBounds in macOS 14 and so has to be fixed via conditional compilation. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1994 Signed-off-by: David Parsons Reviewed-by: Akihiko Odaki Message-ID: <20240224140620.39200-1-dave@daveparsons.net> Signed-off-by: Philippe Mathieu-Daudé --- ui/cocoa.m | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ui/cocoa.m b/ui/cocoa.m index b7ca0ed94b..5618d294c4 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -54,6 +54,10 @@ #define MAC_OS_X_VERSION_10_13 101300 #endif +#ifndef MAC_OS_VERSION_14_0 +#define MAC_OS_VERSION_14_0 140000 +#endif + /* 10.14 deprecates NSOnState and NSOffState in favor of * NSControlStateValueOn/Off, which were introduced in 10.13. * Define for older versions @@ -366,6 +370,9 @@ - (id)initWithFrame:(NSRect)frameRect screen.width = frameRect.size.width; screen.height = frameRect.size.height; kbd = qkbd_state_init(dcl.con); +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_14_0 + [self setClipsToBounds:YES]; +#endif } return self;