On Sun, 2 Mar 2008 14:48:03 +1100 Carsten Haitzler (The Rasterman)
<[EMAIL PROTECTED]> babbled:
ooh another. edje_decc is now broken. also eet -d cmd-line cant decode
datastructs into text anymore... :)
> On Fri, 15 Feb 2008 15:56:12 +0100 "Cedric BAIL" <[EMAIL PROTECTED]>
> babbled:
>
> i found a wonderful nasty "bug"...
>
> 1. edje keeps the eet handle open.
> 2. edje uses the string dictionary
> 3. what happens if you delete the edj file edje is depending on and it then
> tries to make use of any o the strings from the dictionary... :) (hint: some
> signal around #11 :)).
>
> :)
>
> try this. use some theme X in e. have the source and recompile it (be nice -
> delete the original. recompiling the theme in-place is even worse as u screw
> with the file that eet has mmaped() in with string dictionary data):
>
> rm X.edj; edje_cc X.edc
>
> now go move your mouse around. move a window. bam. segv. :)
>
> > So here we go with the big dangerous patch that could break every thing :-)
> >
> > I did change the file format to this version finally :
> >
> > /* Version 3 */
> > /* NB: all int's are stored in network byte order on disk */
> > /* file format: */
> > int magic; /* magic number ie 0x1ee70f42 */
> > int num_directory_entries; /* number of directory entries to follow */
> > int num_dictionary_entries; /* number of dictionary entries to follow */
> > struct
> > {
> > int data_offset; /* bytes offset into file for data chunk */
> > int size; /* size of the data chunk */
> > int data_size; /* size of the (uncompressed) data chunk */
> > int name_offset; /* bytes offset into file for name string */
> > int name_size; /* length in bytes of the name field */
> > int flags; /* flags - for now 0 = uncompressed, 1 = compressed */
> > } directory[num_directory_entries];
> > struct
> > {
> > int hash;
> > int offset;
> > int size;
> > int prev;
> > int next;
> > } dictionary[num_dictionary_entries];
> > /* now start the string stream. */
> > /* and right after them the data stream. */
> >
> > All directory and dictionary entry are now aligned, this simplify a
> > lot the reading code. With this patch data decoding and encoding use
> > the dictionary if provided for string, double and float. As float and
> > double are now uniq string, the dictionary act also like a cache for
> > float and double string conversion. Old eet_flush is still present in
> > eet_lib for archeologist, but as we want compatibility with previous
> > eet file format previous eet_internal_read is still in use and work.
> >
> > I also provide a patch for edje, that should be applied with the eet
> > patch. It use the new eet API to prevent unecessary
> > evas_stringshare_add and switch edc source file to the new
> > EET_T_INLINED_STRING type (This string are compressed inside the
> > encoded data and not put inside the dictionary). Previous edje file
> > should still work with this update, but only new one will benefit from
> > this upgrade.
> >
> > --
> > Cedric BAIL
> >
>
>
> --
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler) [EMAIL PROTECTED]
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) [EMAIL PROTECTED]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel