Re: Overloading of Qt::ToolTip::maybeTip doesn't work

Richard Dale <[email protected]>
Newsgroups gmane.comp.kde.devel.perl
Organization Lost HIghway
Message-ID <[email protected]>
On Saturday 30 October 2004 10:30, Ole Christensen wrote:
> Richard,
>
> I have investigated the thing a little bit more. The problem was that I
> used the latest CVS export. mapObject actually isn't called in this
> version any more. Tracking down the CVS logs I found that Germain Garand
> has removed two calls to mapObject in Qt.pm version 1.86. The log holds
> "don't map objects twice". Maybe one deletion happened unintentionally.
> I have no idea.
>
> http://cvs.sourceforge.net/viewcvs.py/perlqt/PerlQt-3/PerlQt/Qt.pm?r1=1.85&
>r2=1.86
That looks like a fix for a problem with Qt::Application.

> Your patch applied to 3.008 seems to work fine for me. Thanks a lot. An
> appropriate fix should also go into CVS if there is no serious drawback.
Good - I was about to get round to trying out your example. But I don't have 
PerlQt CVS access, so Germain will have to do that. 

There could be a problem if Qt::ToolTip instances don't get removed from the 
'mapObject' table. Normally the virtual destructor is subclassed, and there 
is a callback from there to remove the instance from the table - it gets done 
as soon as the C++ instance is deleted. 

As QToolTip doesn't have a virtual destructory, that can't be done. But there 
is code in PerlQt to remove it from the table on garbage collection though, 
and that should be sufficient.

> Even if Qt-4 is scheduled to have a virtual destructor for QToolTip,
> which should solve the problem anyway as far as I have understood.
I don't know why C++ allows you to declare non-virtual destructors anyway - it 
just seems to be a way of introducing obscure bugs/memory leaks.

-- Richard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.