On Sun, 9 May 2004 01:37:22 +0200 Tilman Sauerbeck <[EMAIL PROTECTED]> babbled: > Ibukun Olumuyiwa <[EMAIL PROTECTED]> [2004-05-08 12:01]: > > On Sun 02 May 2004, Gen Zhang wrote: > > > > > > I quote from source: > > > /** > > > * Add an event to the event queue. > > > * @param type The event type to add to the end of the event queue > > > * @param ev The private data structure for this event type > > > * @param func_free The function to be called to free this private > > > structure* @param data The data pointer to be passed to the free function > > > * @return A Handle for that event > > > * > > > * On success this function returns a handle to an event on the event > > > queue, > > > or > > > * NULL if it fails. If it succeeds, an event of type @p type will be > > > added* to the queue for processing by event handlers added by > > > * ecore_event_handler_add(). The @p ev parameter will be a pointer to the > > > > > > event > > > * private data that is specific to that event type. When the event is no > > > * longer needed, @p func_free will be called and passed the private > > > sructure* pointer for cleaning up. If @p func_free is NULL, nothnig will > > > be called.* This function is passed @p data as its data parameter. > > > */ > > > I am confused as to what happens if func_free is NULL. "nothing will be > > > called". Is that supposed to be a failure condition (as the following code > > > > > > seems to indicate) or is the doc wrong? > > > > If func_free is NULL, then ecore's generic event free function is used. > > This is OK as long as your event struct does not contain any dynamically > > allocated data such as strings etc., which would cause memory leaks. So > > the rule is if you have a pointer to malloc'ed data like a string or a > > struct, you write your own free function that will make sure those > > pointers are freed before freeing the event itself. > > That's not true. > > Ecore_Event * > ecore_event_add(int type, void *ev, void (*func_free) (void *data, void *ev), > void *data){ > if (!func_free) return NULL; > /* snip */ > } > > IMHO, the code should be changed so it behaves the way you described. > > Any objections? nup. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [EMAIL PROTECTED] 熊耳 - 車君 (数田) [EMAIL PROTECTED] Tokyo, Japan (東京 日本) ------------------------------------------------------- This SF.Net email is sponsored by Sleepycat Software Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver higher performing products faster, at low TCO. http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3 _______________________________________________ enlightenment-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel