GNOME Bugzilla – Bug 521418
API of 2.2 is not fully backwards-compatible
Last modified: 2008-03-10 12:12:33 UTC
Please describe the problem: Programs that use sigc::slot by #including <sigc++/slot.h> no longer compile with 2.2. In 2.0, this file #included <sigc++/functors/slot.h>, so all the definitions in that file were available from slot.h Steps to reproduce: The following code compiles with 2.0 but not 2.2: ---- snip ---- #include <sigc++/slot.h> int main(int argc, char **argv) { sigc::slot<void, bool> s; return 0; } ---- snip ---- Actual results: Expected results: Does this happen every time? Other information:
Created attachment 106956 [details] [review] Proposed fix for possible API breakage By diffing 2.0.18 and 2.2.1, it seems the `#include <sigc++/functors/slot.h>' line was accidentally removed when cleaning deprecated APIs. Should be ok to add it back as the attached obvious patch.
Thanks. That's committed and I am releasing a new libsigc++ 2.2.2 tarball now. Please patch the ChangeLog in future.