HText_delete callback not called

Hi,

when I register HText creation and deletion callbacks with
HText_registerCDCallback, HText_new is called, but HText_delete
isn't. I looked into libwww sources and found that libwww never
calls through the pointer supplied to HText_registerCDCallback.
There's even a comment in HTextImp_delete:

	/*
	** Note that we do not call the delete method on the app
	** HText object as this normally stays around after the
	** request has been deleted and certainly it should be
	** deleted by the app and not libwww
	*/

This is wrong - if the application doesn't want to delete
HText, it can just supply NULL to HText_registerCDCallback
(and even if it does supply HText_delete, nobody forces
HText_delete to delete anything - it can decrease reference
count or whatever it wants). My app needs to delete HText as
soon as possible, and I don't know when to do it. HText
callbacks are confusing; IMHO they should be modeled after C++
(I'm a big fan of C++ :-) ):

1) HText_registerCreateCallback to register HText_new,
which should create the object (i. e. calling new);
HText_new is called first
2) HText_registerTextCallback, HText_registerLinkCallback
etc. as they are now; registered callbacks are called repeatedly
3) HText_registerBuildCallback to register HText_build,
which should finish text processing; HText_build is called before
HText_delete
4) HText_registerDeleteCallback to register HText_delete,
which should delete the object (i. e. calling delete);
HText_delete is called last

So, what do you think?

	Bye
		Vasek
--
I have a search engine, too!
http://www.locus.cz/locus/

Received on Monday, 9 August 1999 01:19:39 UTC