[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#3605: Crash in ns_index_color (nsterm.m:1305)
From: |
David Reitter |
Subject: |
bug#3605: Crash in ns_index_color (nsterm.m:1305) |
Date: |
Thu, 23 Jul 2009 16:16:26 +0100 |
On Jul 23, 2009, at 3:46 PM, Adrian Robert wrote:
If you could please retest this against the latest branch or trunk,
I've checked in some robustness improvement to the indexed color
stuff that may clear this up.
Further to that, I don't think your change is as safe as it could be.
Below is what I did in Aquamacs:master: I'm returning an actual color
in case the index is invalid, rather than nil.
Is ns_lookup_indexed_color() generally expected to return nil if
something goes wrong? It's cleaner than returning something random,
but it'll still lead to an error if unchecked.
- D
<<<<<<< HEAD:src/nsterm.m
/* for some reason, idx is 0 for undefined colors.
Also, this function is called with very high indices at times
(XXX: debug this.) */
if (idx > 0 && idx < color_table->size
&& ![color_table->empty_indices containsObject: [NSNumber
numberWithUnsignedInt: idx]])
{
/* fprintf(stderr, "lookup color %d\n", idx); */
return color_table->colors[idx];
}
/* fprintf(stderr, "DISCARDING lookup color %d\n", idx); */
return [NSColor orangeColor]; // mark undefined color
=======
if (idx < 1 || idx >= color_table->avail)
return nil;
return color_table->colors[idx];
>>>>>>> emacs23.1:src/nsterm.m
smime.p7s
Description: S/MIME cryptographic signature