+2013-06-04 Cedric Bail
+
+ * Evas: correctly detect if loader support asynchronous preloading.
+
2013-06-03 Ederson Desouza
* Add -1.0 value to text ellipsis -- for not ellipsizing it at all.
* Fix evas gl engine to work in 16bpp nicely.
* Fix native surface to be more anal about depth matching.
* Fix eeze sensors to not segv on shutdown
-
+ * Evas: correctly detect if a loader support asynchronous preloading.
current->channel++;
cache = current->cache;
- if ((!current->flags.loaded) &&
- ((Evas_Image_Load_Func*) current->info.module)->threadable)
+ if ((!current->flags.loaded) &&
+ current->info.loader->threadable)
{
error = cache->func.load(current);
if (cache->func.debug) cache->func.debug("load", current);
em->definition->name : "<UNKNOWN>",
file);
- ie->info.module = (void*) em;
+ ie->info.module = em;
ie->info.loader = (void*) em ? em->functions : NULL;
- evas_module_ref((Evas_Module*) ie->info.module);
+ evas_module_ref(ie->info.module);
return ret;
}
// printf("load data [%p] %s %s\n", ie, ie->file, ie->key);
evas_image_load_func = ie->info.loader;
- evas_module_use((Evas_Module*) ie->info.module);
+ evas_module_use(ie->info.module);
if (!ie->f) return EVAS_LOAD_ERROR_DOES_NOT_EXIST;
if (property.premul)
evas_common_image_premul(ie);
-// evas_module_unref((Evas_Module*) ie->info.module);
+// evas_module_unref(ie->info.module);
// ie->info.module = NULL;
return ret;
if (!ie->info.module) return -1;
evas_image_load_func = ie->info.loader;
- evas_module_use((Evas_Module*) ie->info.module);
+ evas_module_use(ie->info.module);
if (evas_image_load_func->frame_duration)
{
if (!ie->f) return -1;
#include <string.h>
-#include <evas_common.h>
-#include <evas_private.h>
-#include <evas_module.h>
+#include "evas_common.h"
+#include "evas_private.h"
static Eina_Hash *evas_modules[4] = {
/*****************************************************************************/
+#include "../file/evas_module.h"
+
typedef unsigned long long DATA64;
typedef unsigned int DATA32;
typedef unsigned short DATA16;
struct
{
- void *module;
- void *loader;
+ Evas_Module *module;
+ Evas_Image_Load_Func *loader;
} info;
LK(lock);