On Thu, 29 Dec 2005 00:30:20 +0100 Jorge Luis Zapata Muga <[EMAIL PROTECTED]> babbled:
> ---------- Forwarded message ---------- > From: Jorge Luis Zapata Muga <[EMAIL PROTECTED]> > Date: Dec 29, 2005 12:23 AM > Subject: Re: [E-devel] evas_object_image_data_set() crash with directfb engine > To: Jason Tackaberry <[EMAIL PROTECTED]> > > > On 12/28/05, Jason Tackaberry <[EMAIL PROTECTED]> wrote: > > I am getting a segfault when calling evas_object_image_data_set() using > > the directfb engine. Looking at the source for the engine, I can see > > what the problem is, but I'm not entirely sure how to fix it. > > > > The problem is that evas_engine_directfb_image_new_from_copied_data() > > frees the image_data buffer passed to it. The expectation, it seems, is > > that the buffer is to be gotten from > > evas_engine_directfb_image_data_get(). But, as in my case, if the > > buffer is created by the application (outside of evas), it's not correct > > for evas to free it. Judging by the FIXME comment just above the call > > to free, I'm willing to bet whoever wrote this code knew that too. > > > > The best solution would be for dfb to be able to support external > > buffers. Judging by the fact that > > evas_engine_directfb_image_new_from_data() simply calls > > evas_engine_directfb_image_new_from_copied_data(), I'm guessing that > > this isn't supported by dfb. > > dfb does support an image provider from an external buffer. > IDirectFBDataBuffer is the interface, there you have the method > CreateImageProvider from it (if i understand correctly what you are > saying) > > > > > > A sensible workaround to this problem would be for the engine to > > remember the pointer created in data_get() for that image. Subsequent > > calls to data_get() will reuse that pointer if the image size is the > > same as the last call. If the image size is different, data_get will > > free the old buffer and allocate a new one. Then, when the engine shuts > > down, evas_engine_directfb_output_free will free any memory that's been > > allocated from data_get(). > > > > Perhaps someone could suggest a better solution? > > > > the current dfb engine is kind of old compared to the other engines > (mainly xrender,software_x11, fb) and it lacks for several features > others have (i.e load eet-edb files to work with edje) ive made a > new one that you can find on > http://arraydev.net/~jl/directfb_engine.tar.gz copy the files on the > directfb engine directory and tell me if it works correctly. > > > > Also, in general, how well maintained are the non-software_x11 engines? > > It seems to me that all the other engines (except for the buffer engine, > > perhaps) are really second class citizens. The GL engine has now > > reached the point where it's being disabled by default. Will it > > eventually be removed? Will the other engines also accumulate bitrot > > and gradually become disabled and eventually removed? I'd appreciate > > knowing, because I don't want to waste my own time building a solution > > on unmaintained code. > > > > as far as i see, these engines arent maintained. i sent the new > implementation to the list but the only who can check for it is > raster, and i think is quite busy to check for it. i think one > solution for this is to be able to build engines outside evas, and > modularize evas so it can load .so engines. i am currently working on > that and is working, just need to talk with raster about the exported > API. > > hope this helps you. speaking of all that... i looked over your dfb engine while on holidays - how about putting that is as part of the enigne modularisation? :) -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [EMAIL PROTECTED] 裸好多 Tokyo, Japan (東京 日本) ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
