From: Adrian Robert Date: Wed, 21 Jan 2009 17:28:05 +0000 (+0000) Subject: * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore DPI. (Bug#1316) X-Git-Tag: emacs-pretest-23.0.90~346 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4c7077c3f0b190e5c9ddc4a3557f2b926f183e0a;p=emacs.git * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore DPI. (Bug#1316) --- diff --git a/src/ChangeLog b/src/ChangeLog index 75e6549e46c..79f24287812 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,12 +1,16 @@ 2009-01-21 Adrian Robert * nsmenu.m (NSMENUPROFILE): Change #if style. + * nsterm.m: (x_set_frame_alpha): Add prototype. (ns_fake_keydown, EmacsView-keyUp:): New variable and function to handle Ctrl-tab. (Bug#1841) (ns_get_color): Use unsigned long long for scanned hex string value. (ns_term_shutdown): Abort on non SIGTERM signals. + * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore DPI. + (Bug#1316) + 2009-01-19 Chong Yidong * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts): diff --git a/src/nsimage.m b/src/nsimage.m index 05e6737c95c..f99a9d2a03e 100644 --- a/src/nsimage.m +++ b/src/nsimage.m @@ -163,6 +163,7 @@ static EmacsImage *ImageList = nil; + allocInitFromFile: (Lisp_Object)file { EmacsImage *image = ImageList; + NSImageRep *imgRep; Lisp_Object found; /* look for an existing image of the same name */ @@ -185,12 +186,18 @@ static EmacsImage *ImageList = nil; image = [[EmacsImage alloc] initByReferencingFile: [NSString stringWithUTF8String: SDATA (found)]]; - if ([image bestRepresentationForDevice: nil] == nil) + imgRep = [image bestRepresentationForDevice: nil]; + if (imgRep == nil) { [image release]; return nil; } + /* The next two lines cause the DPI of the image to be ignored. + This seems to be the behavior users expect. */ + [image setScalesWhenResized: YES]; + [image setSize: NSMakeSize([imgRep pixelsWide], [imgRep pixelsHigh])]; + [image setName: [NSString stringWithUTF8String: SDATA (file)]]; [image reference]; ImageList = [image imageListSetNext: ImageList];