[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

StdProp overhaul, take 2



Hi all,

   I think I've reached a stage where my new property code "sort of" works
(well, it looks like it really works, at least I've been able to fix the two
or three crashes that happened. And Electric Fence does not see anything
wrong, which I consider already a nice feat, given the amount of pressure I
put on libmalloc...). I'm going to commit it tomorrow, perhaps before Nemo
runs, together with the "libxml2-in-libxml1" patch. 

I wouldn't mind (no, I actually would appreciate a lot) if someone cared
enough to have a look at it... It sits there: 
	http://traminer.dyndns.org/dia/dia-newprops2.patch.gz

(the previous version didn't include the new files. D'oh !)

Oh, I've seen a lot of bizarre "foo.c is in the way" messages from CVS this
morning. Lars, is it you ?

The provisional changelog entry follows.

	-- Cyrille


	* lib/properties.[ch]: split in a lot of pieces: 

	* lib/prop_*.[ch] (NEW): all property types are now first-class
	objects, inheriting from the original abstract Property type.
	* lib/propdesc.c (NEW): property description handling routines
	* lib/propoffsets.c (NEW): property offset handling routines
	* lib/proplist.c (NEW): property list handling routines
	* lib/propobject.c (NEW): property list <-> object routines
	* lib/propregistry.c (NEW): holds the PropertyType-->PropertyOps
	relations.
	* lib/propinternals.h: prototypes for stuff not usually needed by 
	the outside of StdProps.
	* lib/Makefile.am: a lot of new files have been added...

	THE ABOVE CHANGES ARE MAJOR CHANGES AND AFFECT THE WHOLE TREE, IN
	BOTH INTERFACES AND RUN-TIME STABILITY.
	
	* objects/Makefile.am: disabled the construction of EML. I'm not
	touching these until a certain issue is solved (or this module
	removed).
	* app/app_procs.c/app_init(): removed a disabled call to a
	non-existent routine. Added a call to stdprops_init().
	
	* app/group.c:	
	* objects/**/*.c: adapted all stdprop-using objects to the
	interface changes.
	
	* app/commands.c: 
	The macros PROP_VALUE_* have disappeared. Adapter to using the new 
	interface.

	* app/disp_callbacks.c: killed a warning.
	* lib/dia_xml.[ch]: sprinkled "const" modifiers. 

	* lib/object.h: removed the incestuous relationship with
	properties.h' contents. Now a Property list is a GPtrArray -->
	object interface change !
	* lib/plug-ins.h: bumped up DIA_PLUGIN_API_VERSION

	* configure.in: added the UNICODE-related progress defines.

	* plug-ins/dxf/dxf-import.c: 
	* plug-ins/xfig/xfig-import.c: 
	* plug-ins/Makefile.am: PROP_VALUE_* macros have been removed. A
	*partial* convertion to the new API has been made, but this is
	still unfinished. In the mean-time, the DXF, XFig, and Python
	plug-ins have been disabled (it's really only temporary). 
	
	* lib/font.c: conditionally disabled Lars' debugging messages.
	
	* configure.in:
	* lib/geometry.h: On Solaris and perhaps other systems, finite()
	is defined in ieeefp.h rather than in math.h. Patch from Andrew
	Halper <ashalper@acm.org> with further modifications, isinf() is
	provided by -lsunmath (sunmath.h).
	
	* lib/font.c: bracketed the definition of DiaFontFamily with
	#ifdef HAVE_FREETYPE.

	* plug-ins/python/**/*: I gave up converting these; I can't
	compile --with-python (problems with object.h defined both by us
	and by Python). I'll gladly help whomever cares to fix it !
	(or, fix it myself if someone tells me how to compile it).
	

-- 
Grumpf.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] Mail converted by Mofo Magic and the Flying D

 
All trademarks and copyrights are the property of their respective owners.

Other Directory Sites: SeekWonder | Directory Owners Forum

GuideSMACK