all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Thomas Kappler <tkappler@gmail.com>
To: 11541@debbugs.gnu.org
Subject: bug#11541: Possible fix
Date: Tue, 6 Nov 2012 12:01:00 +0100	[thread overview]
Message-ID: <CAOij6AzHwFVB+cAM-CGmk7JFv2YwmMdX8NfL3ewwvEPDRrXj3Q@mail.gmail.com> (raw)
In-Reply-To: <4fbb6a82.d491cc0a.42d6.3965@mx.google.com>

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

I investigated this a bit further and have a patch that fixes the
right-arrow test file for me, I can open it and the arrow displays without
problems.

Note that this is my very first foray into the Emacs source as well as into
Objective-C.

The problem is that ns_findfonts is being passed an empty font_spec. (Why,
I have no idea.) This crashes "[fdesc
matchingFontDescriptorsWithMandatoryKeys: fkeys]". The fix is to check for
this case and, if there are no keys in the font_spec, simply initialize
matchingDescs to an empty array.

Cheers,
Thomas


$ bzr diff

=== modified file 'src/nsfont.m'
--- src/nsfont.m    2012-10-21 18:48:11 +0000
+++ src/nsfont.m    2012-11-06 10:55:25 +0000
@@ -43,7 +43,7 @@
 #import <AppKit/NSFontDescriptor.h>
 #endif

-#define NSFONT_TRACE 0
+#define NSFONT_TRACE 1

 extern Lisp_Object Qns;
 extern Lisp_Object Qnormal, Qbold, Qitalic, Qcondensed, Qexpanded;
@@ -556,10 +556,17 @@

     fdesc = ns_spec_to_descriptor (font_spec);
     fkeys = [NSMutableSet setWithArray: [[fdesc fontAttributes] allKeys]];
+    if (NSFONT_TRACE)
+        NSLog(@"Got %d fkeys: %@ ", [fkeys count], fkeys);
+
     if (isMatch)
     [fkeys removeObject: NSFontFamilyAttribute];

-    matchingDescs = [fdesc matchingFontDescriptorsWithMandatoryKeys:
fkeys];
+    if ([fkeys count] > 0) {
+    matchingDescs = [fdesc matchingFontDescriptorsWithMandatoryKeys:
fkeys];
+    } else {
+    matchingDescs = [NSMutableArray array];
+    }
     if (NSFONT_TRACE)
     NSLog(@"Got desc %@ and found %d matching fonts from it: ", fdesc,
           [matchingDescs count]);

[-- Attachment #2: Type: text/html, Size: 1858 bytes --]

  parent reply	other threads:[~2012-11-06 11:01 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-22 10:29 bug#11541: 24.0.97; Crash when visiting file on OS X 10.7.3 Florian Ebeling
2012-05-24 22:08 ` bug#11541: Florian Ebeling
2012-05-26  8:33 ` bug#11541: 24.0.97; Crash when visiting file on OS X 10.7.3 Jan Djärv
2012-05-26 20:12   ` Florian Ebeling
2012-05-29 14:06 ` Chong Yidong
2012-05-29 19:48   ` Florian Ebeling
2012-05-30  3:22     ` Chong Yidong
2012-05-30  7:55       ` Florian Ebeling
2012-05-30 10:31         ` Chong Yidong
2012-05-30 10:53           ` C. Florian Ebeling
2012-05-30 13:36             ` Chong Yidong
2012-05-30 14:39               ` Florian Ebeling
2012-05-31  6:52                 ` Chong Yidong
2012-05-31  7:12                   ` Florian Ebeling
2012-05-31  9:31                     ` Chong Yidong
2012-05-31 10:19                       ` Florian Ebeling
2012-05-31 15:48                       ` Eli Zaretskii
2012-05-31 17:27                         ` C. Florian Ebeling
2012-05-31 17:54                           ` Eli Zaretskii
2012-05-31 19:15                             ` Alp Aker
2012-05-31 19:48                               ` Eli Zaretskii
2012-05-31 19:50                             ` C. Florian Ebeling
2012-05-31 20:11                               ` Eli Zaretskii
2012-05-31 21:55                                 ` Florian Ebeling
2012-06-01  3:50                                   ` YAMAMOTO Mitsuharu
2012-06-01  5:43                                     ` Florian Ebeling
2012-06-01  6:14                                       ` Eli Zaretskii
2012-06-01  6:36                                         ` Florian Ebeling
2012-06-01  6:41                                           ` Chong Yidong
2012-06-01  6:44                                             ` Florian Ebeling
2012-06-01  8:53                                               ` Eli Zaretskii
2012-06-01 11:57                                               ` Jan D.
2012-06-01 13:42                                                 ` Chong Yidong
2012-06-01  6:17                                       ` Eli Zaretskii
2012-06-01  6:46                                         ` Florian Ebeling
2012-06-01  8:47                                           ` Eli Zaretskii
2012-06-01  8:55                                             ` Florian Ebeling
2012-06-01  9:21                                               ` Eli Zaretskii
2012-06-01 14:51                                                 ` Florian Ebeling
2012-06-01 16:12                                                   ` Jan Djärv
     [not found]                                                 ` <mailman.2085.1338562350.855.bug-gnu-emacs@gnu.org>
2012-06-18 23:06                                                   ` jamezilla
2012-06-20 19:56                                                     ` Florian Ebeling
     [not found]                                                     ` <mailman.3138.1340222261.855.bug-gnu-emacs@gnu.org>
2012-06-22  5:29                                                       ` jamezilla
2012-06-01  8:52                                           ` Florian Ebeling
2012-06-01  8:56                                             ` Eli Zaretskii
2012-09-26 20:30 ` bug#11541: - Another reproduction - Emacs 24.2; Null pointer on OSX with cocoa UI mrevilgnome
2012-09-26 20:41   ` mrevilgnome
2012-10-14 18:58 ` bug#11541: 24.0.97; Crash when visiting file on OS X 10.7.3 Jan Djärv
2012-10-15 21:15   ` C. Florian Ebeling
2012-10-16  5:05     ` Jan Djärv
2012-11-01  9:49 ` Thomas Kappler
2012-11-06 11:01 ` Thomas Kappler [this message]
2012-11-08 19:53   ` bug#11541: Possible fix Jan Djärv
2012-11-09 10:27 ` bug#11541: THanks! Thomas Kappler

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

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

  git send-email \
    --in-reply-to=CAOij6AzHwFVB+cAM-CGmk7JFv2YwmMdX8NfL3ewwvEPDRrXj3Q@mail.gmail.com \
    --to=tkappler@gmail.com \
    --cc=11541@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.