unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: 46827@debbugs.gnu.org
Subject: bug#46827: Broken initial size of GTK3 frame
Date: Mon, 1 Mar 2021 09:31:20 +0100	[thread overview]
Message-ID: <ad820dff-8f7c-245a-2eb5-0c461576c6f3@gmx.at> (raw)
In-Reply-To: <6caa020a-084c-e3f2-7a34-262f7127b21b@gmx.at>

[-- Attachment #1: Type: text/plain, Size: 627 bytes --]

Re-sending this since it apparently got lost by the bug tracker:

 > Reverting 58430f29968a5661caff630d20dbbe7c864fe08d with current master
 > does _not_ fix the bug, so something else must be at play here too.

It turns out that the "something else" is just that

              /* Querying further backends can be very slow, so we only do
                 it if the user has explicitly requested it (Bug#43177).  */
              if (query_all_font_backends == false)
                break;

The attached patch reverting 58430f29968a5661caff630d20dbbe7c864fe08d
and removing the entity above fixes the bug on master.

martin


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: font.c.diff --]
[-- Type: text/x-patch; name="font.c.diff", Size: 1793 bytes --]

diff --git a/src/font.c b/src/font.c
index a59ebe216b..1bb1eb29a5 100644
--- a/src/font.c
+++ b/src/font.c
@@ -2797,34 +2797,24 @@ font_list_entities (struct frame *f, Lisp_Object spec)
 	  val = XCDR (val);
 	else
 	  {
-	    Lisp_Object copy;
-
 	    val = (driver_list->driver->list) (f, scratch_font_spec);
-	    /* We put zero_vector in the font-cache to indicate that
-	       no fonts matching SPEC were found on the system.
-	       Failure to have this indication in the font cache can
-	       cause severe performance degradation in some rare
-	       cases, see bug#21028.  */
-	    if (NILP (val))
-	      val = zero_vector;
-	    else
-	      val = Fvconcat (1, &val);
-	    copy = copy_font_spec (scratch_font_spec);
-	    ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
-	    XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
+	    if (!NILP (val))
+	      {
+		Lisp_Object copy = copy_font_spec (scratch_font_spec);
+
+		val = Fvconcat (1, &val);
+		ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
+		XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
+	      }
 	  }
-	if (ASIZE (val) > 0
+
+	if (VECTORP (val) && ASIZE (val) > 0
 	    && (need_filtering
 		|| ! NILP (Vface_ignored_fonts)))
 	  val = font_delete_unmatched (val, need_filtering ? spec : Qnil, size);
-	if (ASIZE (val) > 0)
-          {
-            list = Fcons (val, list);
-            /* Querying further backends can be very slow, so we only do
-               it if the user has explicitly requested it (Bug#43177).  */
-            if (query_all_font_backends == false)
-              break;
-          }
+
+	if (VECTORP (val) && ASIZE (val) > 0)
+	  list = Fcons (val, list);
       }

   list = Fnreverse (list);


  parent reply	other threads:[~2021-03-01  8:31 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-28  9:31 bug#46827: Broken initial size of GTK3 frame martin rudalics
2021-02-28 18:09 ` Eli Zaretskii
2021-03-01  8:32   ` martin rudalics
2021-03-01  9:46     ` martin rudalics
2021-03-01  8:31 ` martin rudalics [this message]
2021-03-01 10:15   ` Robert Pluim
2021-03-01 12:38     ` martin rudalics
2021-03-01 13:30       ` Robert Pluim
2021-03-01 13:53         ` Robert Pluim
2021-03-01 18:03           ` martin rudalics
2021-03-01 18:23             ` Robert Pluim
2021-03-01 18:32               ` Robert Pluim
2021-03-01 19:05                 ` martin rudalics
2021-03-01 19:04               ` martin rudalics
2021-03-01 20:00                 ` Robert Pluim
2021-03-02  8:24                   ` martin rudalics
2021-03-01 19:49               ` Stephen Berman
2021-03-02  8:24                 ` martin rudalics
2021-03-02  9:07                   ` martin rudalics
2021-03-02 10:11                     ` Robert Pluim
2021-03-02 14:11                     ` Eli Zaretskii
2021-03-02 16:07                       ` martin rudalics
2021-03-02 16:35                         ` Eli Zaretskii
2021-03-03  8:48                           ` martin rudalics
2021-03-03  9:05                             ` Eli Zaretskii
2021-03-03  9:40                               ` martin rudalics
2021-03-06 11:15                                 ` Eli Zaretskii
2021-03-06 19:28                                   ` martin rudalics
2021-03-02  9:17                   ` Stephen Berman
2021-03-02 10:02                     ` martin rudalics
2021-03-01 18:03         ` martin rudalics
2021-03-01 14:07   ` Eli Zaretskii
2021-03-01 18:04     ` martin rudalics
2021-04-27  8:23 ` martin rudalics
2021-04-29 16:13   ` Juri Linkov
2021-04-29 17:06     ` martin rudalics
2021-04-29 23:06       ` Juri Linkov
2021-04-30  6:26         ` martin rudalics
2021-04-30 17:12           ` Juri Linkov
2021-04-30 17:37             ` martin rudalics
2021-05-01 20:06               ` Juri Linkov
2021-05-02  7:38                 ` martin rudalics
2021-05-02 20:46                   ` Juri Linkov
2021-05-03  7:49                     ` martin rudalics
2021-05-03 16:40                       ` Juri Linkov
2021-05-03 16:51                       ` martin rudalics
2021-05-03 17:01                         ` Juri Linkov
2021-05-03 17:32                           ` martin rudalics
2021-05-04  8:07                             ` martin rudalics
2021-05-04 21:33                               ` Juri Linkov
2021-05-05  7:25                                 ` martin rudalics
2021-05-05 20:34                                   ` Juri Linkov
2021-05-06  7:45                                     ` martin rudalics
2021-05-07 16:52                                       ` Juri Linkov
2021-05-10  8:23                                         ` martin rudalics
2021-05-10 20:39                                           ` Juri Linkov
2021-05-11  8:44                                             ` martin rudalics
2021-05-11 17:49                                               ` Juri Linkov
2021-05-12  8:47                                                 ` martin rudalics
2021-05-12 17:28                                                   ` Juri Linkov
2021-05-13  7:54                                                     ` martin rudalics
2021-05-13 16:24                                                       ` Juri Linkov
2021-05-14  7:08                                                         ` martin rudalics
2021-05-14 18:10                                                           ` Juri Linkov
2021-05-15  7:56                                                             ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad820dff-8f7c-245a-2eb5-0c461576c6f3@gmx.at \
    --to=rudalics@gmx.at \
    --cc=46827@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).