]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/nsfns.m (Fns_list_colors): Fix autoreleasing.
authorPo Lu <luangruo@yahoo.com>
Mon, 25 Apr 2022 04:13:22 +0000 (12:13 +0800)
committerPo Lu <luangruo@yahoo.com>
Mon, 25 Apr 2022 04:13:22 +0000 (12:13 +0800)
src/nsfns.m

index 720ed3f88e546b47a44787acb0b6fd6886498187..f3dc235b893587595f645660c88b71687aef816e 100644 (file)
@@ -2103,6 +2103,7 @@ The optional argument FRAME is currently ignored.  */)
   Lisp_Object list = Qnil;
   NSEnumerator *colorlists;
   NSColorList *clist;
+  NSAutoreleasePool *pool;
 
   if (!NILP (frame))
     {
@@ -2112,7 +2113,9 @@ The optional argument FRAME is currently ignored.  */)
     }
 
   block_input ();
-
+  /* This can be called during dumping, so we need to set up a
+     temporary autorelease pool.  */
+  pool = [[NSAutoreleasePool alloc] init];
   colorlists = [[NSColorList availableColorLists] objectEnumerator];
   while ((clist = [colorlists nextObject]))
     {
@@ -2123,12 +2126,9 @@ The optional argument FRAME is currently ignored.  */)
           NSString *cname;
           while ((cname = [cnames nextObject]))
             list = Fcons ([cname lispString], list);
-/*           for (i = [[clist allKeys] count] - 1; i >= 0; i--)
-               list = Fcons (build_string ([[[clist allKeys] objectAtIndex: i]
-                                             UTF8String]), list); */
         }
     }
-
+  [pool release];
   unblock_input ();
 
   return list;