From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Third Newsgroups: gmane.emacs.bugs Subject: bug#32932: 27.0.50; render bugs on macOS Mojave Date: Sat, 3 Nov 2018 20:36:35 +0000 Message-ID: <20181103203635.GB41015@breton.holly.idiocy.org> References: <20181031171253.GA69712@breton.holly.idiocy.org> <83tvl0hdn6.fsf@gnu.org> <20181101225519.GA40584@breton.holly.idiocy.org> <837ehufqxw.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1541277312 11657 195.159.176.226 (3 Nov 2018 20:35:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 3 Nov 2018 20:35:12 +0000 (UTC) User-Agent: Mutt/1.10.1 (2018-07-13) Cc: boris@d12frosted.io, 32932@debbugs.gnu.org, aaronjensen@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Nov 03 21:35:08 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gJ2dO-0002rF-F2 for geb-bug-gnu-emacs@m.gmane.org; Sat, 03 Nov 2018 21:35:06 +0100 Original-Received: from localhost ([::1]:56722 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJ2fU-0006SC-VD for geb-bug-gnu-emacs@m.gmane.org; Sat, 03 Nov 2018 16:37:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42891) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJ2fM-0006Pu-OT for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2018 16:37:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJ2fJ-0005Ty-08 for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2018 16:37:08 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:57152) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gJ2fG-0005S1-TA for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2018 16:37:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gJ2fG-0007sr-JN for bug-gnu-emacs@gnu.org; Sat, 03 Nov 2018 16:37:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Third Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 03 Nov 2018 20:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32932 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 32932-submit@debbugs.gnu.org id=B32932.154127740730282 (code B ref 32932); Sat, 03 Nov 2018 20:37:02 +0000 Original-Received: (at 32932) by debbugs.gnu.org; 3 Nov 2018 20:36:47 +0000 Original-Received: from localhost ([127.0.0.1]:33177 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gJ2f1-0007sM-B4 for submit@debbugs.gnu.org; Sat, 03 Nov 2018 16:36:47 -0400 Original-Received: from mail-wm1-f50.google.com ([209.85.128.50]:36544) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gJ2ez-0007s8-OZ for 32932@debbugs.gnu.org; Sat, 03 Nov 2018 16:36:46 -0400 Original-Received: by mail-wm1-f50.google.com with SMTP id a8-v6so4575622wmf.1 for <32932@debbugs.gnu.org>; Sat, 03 Nov 2018 13:36:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=JVLwyKpZsvHiaI0Rx1d2nrBzs2yXZW488/K2+ur03eM=; b=Vbsp6umKEn3oiydELMKM8XPZDj/8dGMAu185hw7AmUkT7Ru4/F0r5ZCZ8/b1skv3nm lY0zY+eUbyLa60Nn0vPEZnh6fzc+R24SDV6IxNuW5Tj5HXMJ4KkadA1tye+eKHLHg+2n 37/xBnRDYp/zUwtsfLXZjd41K52jdz2xGrBxYC54xdAlkPb/CEeUB7WA9BSVENwxOInF ZuGCiRby8UJgs4BosUD9Y6sYfqENkLBxge1ZW96xm+ypr5PZrGusNgGy5aQCivnJkE9I sug8+n/81kaZ35Jdgam5pe3z5jlJzBDgejbl7e7GHFJKVYGJlztuy3jq+vv+Zhf9Jfv7 lU5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=JVLwyKpZsvHiaI0Rx1d2nrBzs2yXZW488/K2+ur03eM=; b=Di/rmWB8k1soQbJzFwe/VfXIp6RLMz15sp+7QXzx4kgWsP5DpNkXhe5qUF839XMwsA 8x9MFLnQnPXcGywAgtaTSvJ+7fVe+FMYw0AXLG46Q10mtGY01dFe+VbtPWspHaxaj8PY G1GjQxsrdt0GPn8l1I2+4x8BWpHDKCGaoe65X7w+bd+oSGk9Qw6gNYmrXgbEbfv7gy7k O3UucbEAEw7M3SpdIBneJa+bBfv8fFqTHgSTOnDZ3qRapf3mMB/1UzhtHhszu1jLiAwv 6+fvY0tdFue+aKqAuEl4NjZN6jkoEHrK0lbP51hjmUz4HqGff9U4MkIIqdVwVtk9Hkkm xWVQ== X-Gm-Message-State: AGRZ1gJDT1IGAo+/NrXjf6cXf7ohdtcioHLm6ch9gNg5z6fii+T/X5ps Iuy4SkskkrxVlPBheoHoEYE= X-Google-Smtp-Source: AJdET5flBdaa3aJq3177Fe8y24gCN0tC7PVUSjFgN3JM0ZNiRo9HetRGXVCJvclDobYij/ZB5sZM4A== X-Received: by 2002:a1c:3b06:: with SMTP id i6-v6mr1625460wma.18.1541277399891; Sat, 03 Nov 2018 13:36:39 -0700 (PDT) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-8cfe-35d9-62a3-d426.holly.idiocy.org. [2001:8b0:3f8:8129:8cfe:35d9:62a3:d426]) by smtp.gmail.com with ESMTPSA id t77-v6sm52836680wme.18.2018.11.03.13.36.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 03 Nov 2018 13:36:38 -0700 (PDT) Content-Disposition: inline In-Reply-To: <837ehufqxw.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:151988 Archived-At: On Sat, Nov 03, 2018 at 11:31:07AM +0200, Eli Zaretskii wrote: > > Date: Thu, 1 Nov 2018 22:55:19 +0000 > > From: Alan Third > > Cc: Aaron Jensen , boris@d12frosted.io, > > 32932@debbugs.gnu.org > > > > ns_get_glyph_string_clip_rect is a simple wrapper round > > get_glyph_string_clip_rects, so when asked for the clipping rectangle > > for a single glyph, it returns a rectangle covering the entire row. > > > > Because we just mark it as dirty and come back to draw it later we do > > end up redrawing the entire row. > > I think if you are basing the redisplay on marking portions dirty, you > need to include the same logic as in display_and_set_cursor and its > callers. What I don’t understand is how we’re getting a blanking of the line. When redisplay runs it’s incapable of drawing to the screen, and even if we mark too large an area as dirty it won’t draw anything at that point. Later drawRect runs which calls expose_frame on the area we’ve marked as dirty. NOW it can draw to the screen, but for it to leave a line blank it would have to actually call clear_frame or clear_frame_area, then not call anything to draw over the blanked area. Is it possible for expose_frame to stop drawing part‐way through? Or perhaps expose_frame actually thinks it should be blank at that moment, but for some reason we’ve not marked the whole window or whatever as dirty? So we’re to display an image but it’s not loaded yet, so redisplay blanks the window for the time being, but we fail to mark it dirty or garbaged. Expose_frame comes along and draws the bit we’ve previously asked it to draw. Finally the image loads and redisplay marks the whole window as dirty leading to everything catching up at the next expose_frame. -- Alan Third