On Wed, 18 Jun 2008 14:44:05 -0300 "Gustavo Sverzut Barbieri" <[EMAIL PROTECTED]> wrote:
> On Wed, Jun 18, 2008 at 1:53 PM, Cedric BAIL <[EMAIL PROTECTED]> > wrote: > > Hi, > > > > Here is a patch that add support for background preloading of a > > data image. You can now, if you know what you do, ask evas to load > > the data of an image in memory before it is displayed (look at the > > sample code for expedite). > > > > The code is quite simple, we have now a work queue where we add all > > the Image_Entry we need to preload. They are processed one after the > > other in another thread. When it's done, it notify evas main thread > > with evas async API and work on the next Image_Entry. > > > > This means that we now require that engine surface creation and > > loader should be thread safe. It's currently the case for all the > > engine I know something about, so this should not break anything. > > Anyway this code is optionnal and could be completely unactivated > > in a per engine basis or globally. > > > > As always have fun reviewing this patch. > > so here it goes: > > configure.in: $build_async_preload should depend on async_events, no? > > > - EAPI Evas_Bool evas_async_events_put (void > *target, Evas_Callback_Type type, void *event_info, void (*func)(void > *target, Evas_Callback_Type type, void *event_info)); > + EAPI Evas_Bool evas_async_events_put (const > void *target, Evas_Callback_Type type, void *event_info, void > (*func)(void *target, Evas_Callback_Type type, void *event_info)); > > you made target const, but not in the callback... this is strange. > Not at all, in fact it is correct. Any other combination requires an undefined cast to or from a const char *. An example from the C standard library: char *strstr(const char *haystack, const char *needle); If target is not a const char *, when it is passed back in the function to claim it is incorrect. The const on the _put call indicates that function won't modify it, but it should not promote the return/callback type to a const. Regards, nash ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel