summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/nsterm.m20
2 files changed, 15 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f27aed26bef..941c394f107 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-31 Chong Yidong <cyd@stupidchicken.com>
+
+ * nsterm.m (ns_defined_color): Block input. Suggested by Mike
+ <deactivated@gmail.com> (Bug#3605).
+
2010-01-31 David De La Harpe Golden <david@harpegolden.net>
* fileio.c (Frename_file): Correctly rename symlinks to
diff --git a/src/nsterm.m b/src/nsterm.m
index 3951fdc2e58..8f3233f9fde 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1552,19 +1552,19 @@ ns_defined_color (struct frame *f, char *name, XColor *color_def, int alloc,
Return 0 if not found
-------------------------------------------------------------------------- */
{
- NSColor *temp;
- int notFound = ns_get_color (name, &temp);
-
+ NSColor *col;
NSTRACE (ns_defined_color);
- if (notFound)
- return 0;
-
+ BLOCK_INPUT;
+ if (ns_get_color (name, &col) != 0) /* Color not found */
+ {
+ UNBLOCK_INPUT;
+ return 0;
+ }
if (makeIndex && alloc)
- color_def->pixel = ns_index_color(temp, f); /* [temp retain]; */
-
- ns_query_color (temp, color_def, !makeIndex);
-
+ color_def->pixel = ns_index_color (col, f);
+ ns_query_color (col, color_def, !makeIndex);
+ UNBLOCK_INPUT;
return 1;
}