After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 521418 - API of 2.2 is not fully backwards-compatible
API of 2.2 is not fully backwards-compatible
Status: RESOLVED FIXED
Product: libsigc++
Classification: Bindings
Component: general
2.2.x
Other All
: Normal normal
: ---
Assigned To: Martin Schulze
Martin Schulze
Depends on:
Blocks:
 
 
Reported: 2008-03-09 17:18 UTC by Daniel Burrows
Modified: 2008-03-10 12:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed fix for possible API breakage (240 bytes, patch)
2008-03-10 07:33 UTC, Deng Xiyue
none Details | Review

Description Daniel Burrows 2008-03-09 17:18:48 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:
Comment 1 Deng Xiyue 2008-03-10 07:33:03 UTC
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.
Comment 2 Murray Cumming 2008-03-10 12:12:33 UTC
Thanks. That's committed and I am releasing a new libsigc++ 2.2.2 tarball now.

Please patch the ChangeLog in future.