Watch out when using libsigc++ with Qt4...Qt creates a macro called
"emit()." This creates all kinds of bizarre errors when you try to call
"emit()" on your signal object. I just #undef the Qt "emit()" macro at the
top of the class file and have no issues after that. But man did it take me
a long time to figure that out. :-)

(Sorry Stephen, but I meant to reply to all)

An addendum: I dislike undeffing the emit() macro because I didn't know what
they created it in the first place, so this could cause something somewhere
else to break in Qt.

On Thu, May 6, 2010 at 2:12 AM, Stephan Beal <step...@s11n.net> wrote:

> On Thu, May 6, 2010 at 8:45 AM, Murray Cumming <murr...@murrayc.com>wrote:
>
>> I'm not sure that Qt's signals can't be emitted by other classes, though
>> I'd like to know for sure.
>>
>
> It's true - Qt signals are either private or protected, i don't remember
> which. i do remember, however, adding proxy functions to allow other classes
> to fire the signal, e.g.
>
> public:
> void emitMySignal()
> {
>   emit ....;
> }
>
> --
> ----- stephan beal
> http://wanderinghorse.net/home/stephan/
>
> _______________________________________________
> libsigc-list mailing list
> libsigc-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/libsigc-list
>
>


-- 
Doug Barbieri
http://www.slitechat.org/
http://www.m2osw.com/
_______________________________________________
libsigc-list mailing list
libsigc-list@gnome.org
http://mail.gnome.org/mailman/listinfo/libsigc-list

Reply via email to