aboutsummaryrefslogtreecommitdiffstats
path: root/src/nsimage.m
diff options
context:
space:
mode:
authorPaul Eggert2015-08-18 16:17:30 -0700
committerPaul Eggert2015-08-18 16:24:56 -0700
commit636736861688abe73cc5dd4181fdb66de3fd8cfd (patch)
tree94e6780e22be312f57d32ef1b8768b4708c8cc45 /src/nsimage.m
parent345284f5e9eebb07536d12c08c72f1bab02ea55e (diff)
downloademacs-636736861688abe73cc5dd4181fdb66de3fd8cfd.tar.gz
emacs-636736861688abe73cc5dd4181fdb66de3fd8cfd.zip
Fix file name encodings in diagnostics
Also, close some minor races when opening image files, by opening them once instead of multiple times. * src/gtkutil.c (xg_get_image_for_pixmap): * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load) (svg_load): * src/nsimage.m (allocInitFromFile:): * src/xfns.c (xg_set_icon): Encode file name, since x_find_image_file no longer does that. * src/image.c (x_find_image_fd): New function. (x_find_image_file): Use it. Do not encode resulting file name, since callers sometimes need it decoded. (slurp_file): File arg is now a fd, not a file name. All callers changed. This saves us having to open the file twice. (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body) (svg_load): Use x_find_image_fd and fdopen to save a file-open. Report file name that failed. * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
Diffstat (limited to 'src/nsimage.m')
-rw-r--r--src/nsimage.m1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nsimage.m b/src/nsimage.m
index 13e8504f460..5d0871bc1a9 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -169,6 +169,7 @@ ns_set_alpha (void *img, int x, int y, unsigned char a)
169 found = x_find_image_file (file); 169 found = x_find_image_file (file);
170 if (!STRINGP (found)) 170 if (!STRINGP (found))
171 return nil; 171 return nil;
172 found = ENCODE_FILE (found);
172 173
173 image = [[EmacsImage alloc] initByReferencingFile: 174 image = [[EmacsImage alloc] initByReferencingFile:
174 [NSString stringWithUTF8String: SSDATA (found)]]; 175 [NSString stringWithUTF8String: SSDATA (found)]];