Error with KPassivePopup and OS X compiles

Tanner Lovelace clubjuggler at gmail.com
Mon Jan 30 03:11:14 CET 2006


Greetings,

In trying to get kdelibs compiled under OS X, some of us have run into a problem
with KPassivePopup.  It appears that while under Qt/X11, the type
"WId" is defined as

typedef unsigned long WId

under Qt/Mac, it is instead defined as

typedef int WId.

This causes problems with the following two KPassivePopup constructors:

KPassivePopup( WId parent );
KPassivePopup( int popupStyle, QWidget *parent=0, Qt::WFlags f=0 );

as the compiler cannot resolve which constructor should be called.

I see at this url

http://websvn.kde.org/trunk/KDE/kdelibs/kdeui/kpassivepopup.h?rev=414779&r1=414775&r2=414779
(or use http://tinyurl.com/9vuab )

that the second constructor used to be an enum type called PopupStyle but
was changed to int "to allow for subclass extensions".

Can anyone suggest a course of action here?  How many times is the
KPassivePopup constructor called?  This could be resolved just by removing
the default argument for QWidget* in the second constructor, but that might
be a huge job to change all the instances that call it if there are
lots of them.

Thanks in advance.

Cheers,
Tanner Lovelace



--
Tanner Lovelace
clubjuggler at gmail dot com
http://wtl.wayfarer.org/
(fieldless) In fess two roundels in pale, a billet fesswise and an
increscent, all sable.


More information about the Kde-buildsystem mailing list