diff src/modules/image/devil/ImageData.cpp @ 1098:a74672ba1320 minor

Merge in channels from love-experiments Rewritten love.thread and changed communication method from weird system before, to channels.
author Bart van Strien <bart.bes+projects@gmail.com>
date Wed, 04 Jul 2012 17:15:16 +0200
parents 86a44f2bc38f
children 730ed5f01ab0
line wrap: on
line diff
--- a/src/modules/image/devil/ImageData.cpp	Wed Jul 04 14:41:03 2012 +0200
+++ b/src/modules/image/devil/ImageData.cpp	Wed Jul 04 17:15:16 2012 +0200
@@ -31,7 +31,7 @@
 
 using love::thread::Lock;
 
-static Mutex devilMutex;
+static Mutex *devilMutex = 0;
 
 namespace love
 {
@@ -96,6 +96,9 @@
 
 void ImageData::load(Data *data)
 {
+	if (!devilMutex)
+		devilMutex = thread::newMutex();
+
 	Lock lock(devilMutex);
 	ILuint image;
 	ilGenImages(1, &image);
@@ -132,6 +135,9 @@
 
 void ImageData::encode(love::filesystem::File *f, ImageData::Format format)
 {
+	if (!devilMutex)
+		devilMutex = thread::newMutex();
+
 	Lock lock1(devilMutex);
 	Lock lock2(mutex);