Re: [sigc] is possible make the emission of a signal private for a particular class?



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 <stephan s11n net> wrote:
On Thu, May 6, 2010 at 8:45 AM, Murray Cumming <murrayc 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/



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