aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2014-11-02 19:43:22 +0100
committerJan Djärv2014-11-02 19:43:22 +0100
commit65bb8d055cefa5e4d921e6a24fc12071324f663d (patch)
tree719be48d684415735de39288cd151ec4353c58b8 /src
parentf26d02a625c6e40caba3899c53d2612c92f80f40 (diff)
downloademacs-65bb8d055cefa5e4d921e6a24fc12071324f663d.tar.gz
emacs-65bb8d055cefa5e4d921e6a24fc12071324f663d.zip
* nsimage.m (ImageList, imageListNext, imageListSetNext:)
(reference): Remove. (allocInitFromFile:): Remove searching ImageList and calling reference. (dealloc): Remove handling if ImageList. * nsterm.h (EmacsImage): Remove imageListNext, refCount, reference, imageListSetNext, imageListNext. Fixes: debbugs:18918
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog11
-rw-r--r--src/nsimage.m56
-rw-r--r--src/nsterm.h5
3 files changed, 12 insertions, 60 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 62656d06354..07bb1e3fc85 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
12014-11-02 Jan Djärv <jan.h.d@swipnet.se>
2
3 * nsterm.h (EmacsImage): Remove imageListNext, refCount, reference,
4 imageListSetNext, imageListNext.
5
6 * nsimage.m (ImageList, imageListNext, imageListSetNext:)
7 (reference): Remove.
8 (allocInitFromFile:): Remove searching ImageList and calling
9 reference (Bug#18918).
10 (dealloc): Remove handling if ImageList.
11
12014-11-02 Andreas Schwab <schwab@linux-m68k.org> 122014-11-02 Andreas Schwab <schwab@linux-m68k.org>
2 13
3 * process.c (catch_child_signal): Fix incorrect assertion. 14 * process.c (catch_child_signal): Fix incorrect assertion.
diff --git a/src/nsimage.m b/src/nsimage.m
index 71e5f8aa5c6..5bbf9fb49cd 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -160,25 +160,11 @@ ns_set_alpha (void *img, int x, int y, unsigned char a)
160 160
161@implementation EmacsImage 161@implementation EmacsImage
162 162
163static EmacsImage *ImageList = nil;
164
165+ allocInitFromFile: (Lisp_Object)file 163+ allocInitFromFile: (Lisp_Object)file
166{ 164{
167 EmacsImage *image = ImageList;
168 NSImageRep *imgRep; 165 NSImageRep *imgRep;
169 Lisp_Object found; 166 Lisp_Object found;
170 167 EmacsImage *image;
171 /* look for an existing image of the same name */
172 while (image != nil &&
173 [[image name] compare: [NSString stringWithUTF8String: SSDATA (file)]]
174 != NSOrderedSame)
175 image = [image imageListNext];
176
177 if (image != nil)
178 {
179 [image reference];
180 return image;
181 }
182 168
183 /* Search bitmap-file-path for the file, if appropriate. */ 169 /* Search bitmap-file-path for the file, if appropriate. */
184 found = x_find_image_file (file); 170 found = x_find_image_file (file);
@@ -205,54 +191,14 @@ static EmacsImage *ImageList = nil;
205 [image setSize: NSMakeSize([imgRep pixelsWide], [imgRep pixelsHigh])]; 191 [image setSize: NSMakeSize([imgRep pixelsWide], [imgRep pixelsHigh])];
206 192
207 [image setName: [NSString stringWithUTF8String: SSDATA (file)]]; 193 [image setName: [NSString stringWithUTF8String: SSDATA (file)]];
208 [image reference];
209 ImageList = [image imageListSetNext: ImageList];
210 194
211 return image; 195 return image;
212} 196}
213 197
214 198
215- reference
216{
217 refCount++;
218 return self;
219}
220
221
222- imageListSetNext: (id)arg
223{
224 imageListNext = arg;
225 return self;
226}
227
228
229- imageListNext
230{
231 return imageListNext;
232}
233
234
235- (void)dealloc 199- (void)dealloc
236{ 200{
237 id list = ImageList;
238
239 if (refCount > 1)
240 {
241 refCount--;
242 return;
243 }
244
245 [stippleMask release]; 201 [stippleMask release];
246
247 if (list == self)
248 ImageList = imageListNext;
249 else
250 {
251 while (list != nil && [list imageListNext] != self)
252 list = [list imageListNext];
253 [list imageListSetNext: imageListNext];
254 }
255
256 [super dealloc]; 202 [super dealloc];
257} 203}
258 204
diff --git a/src/nsterm.h b/src/nsterm.h
index b665ac1dd52..7997072dcac 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -338,16 +338,11 @@ typedef float EmacsCGFloat;
338 338
339@interface EmacsImage : NSImage 339@interface EmacsImage : NSImage
340{ 340{
341 id imageListNext;
342 int refCount;
343 NSBitmapImageRep *bmRep; /* used for accessing pixel data */ 341 NSBitmapImageRep *bmRep; /* used for accessing pixel data */
344 unsigned char *pixmapData[5]; /* shortcut to access pixel data */ 342 unsigned char *pixmapData[5]; /* shortcut to access pixel data */
345 NSColor *stippleMask; 343 NSColor *stippleMask;
346} 344}
347+ allocInitFromFile: (Lisp_Object)file; 345+ allocInitFromFile: (Lisp_Object)file;
348- reference;
349- imageListSetNext: (id)arg;
350- imageListNext;
351- (void)dealloc; 346- (void)dealloc;
352- initFromXBM: (unsigned char *)bits width: (int)w height: (int)h 347- initFromXBM: (unsigned char *)bits width: (int)w height: (int)h
353 flip: (BOOL)flip; 348 flip: (BOOL)flip;