From 062ff92a60ef9dd3fe7e31dc9260fd7db9369464 Mon Sep 17 00:00:00 2001 From: yann Date: Sat, 1 Feb 2014 18:30:54 +0100 Subject: [PATCH] Avoids the "Too many open files" error in case of a large number of input files. --- kivy/atlas.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kivy/atlas.py b/kivy/atlas.py index 5213621dd..8c5026e5e 100644 --- a/kivy/atlas.py +++ b/kivy/atlas.py @@ -254,7 +254,13 @@ class Atlas(EventDispatcher): size_w = size_h = int(size) # open all of the images - ims = [(f, Image.open(f)) for f in filenames] + ims = list() + for f in filenames: + fp = open(f) + im = Image.open(fp) + im.load() + fp.close() + ims.append((f, im)) # sort by image area ims = sorted(ims, key=lambda im: im[1].size[0] * im[1].size[1],