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 365038 - Add support for glibmm compiled with --enable-api-exceptions=no
Add support for glibmm compiled with --enable-api-exceptions=no
Status: RESOLVED FIXED
Product: gnome-vfsmm
Classification: Deprecated
Component: general
git master
Other All
: Normal enhancement
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2006-10-25 16:35 UTC by Matt Hoosier
Modified: 2011-01-16 23:36 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Add support for GlibMM configure-option "--enable-api-exceptions=no" (120.71 KB, patch)
2006-10-25 16:37 UTC, Matt Hoosier
none Details | Review

Description Matt Hoosier 2006-10-25 16:35:53 UTC
The normal signature for operations which can fail in gnome-vfsmm is something like this:

  void foo(...) throw(Gnome::Vfs::exception);

When GlibMM is compiled with the options to omit C++ exception handling, the technique used in gnome-vfsmm would be similar to the C-language use of GError's, with the error being handled by a trailing auto_ptr:

  void foo(..., std::auto_ptr<Gnome::Vfs::exception>& error);

I'm attaching a patch to add this support.
Comment 1 Matt Hoosier 2006-10-25 16:37:08 UTC
Created attachment 75388 [details] [review]
Add support for GlibMM configure-option "--enable-api-exceptions=no"

Patch is against gnome-2-14 CVS tag.
Comment 2 Murray Cumming 2006-10-25 16:42:22 UTC
Did you solve the crash that you mentioned on the mailing list?
Comment 3 Matt Hoosier 2006-10-25 16:54:42 UTC
Yes, it stopped appearing once I switched to using Gnome::Vfs::exception as the error object.
Comment 4 Murray Cumming 2006-10-31 09:20:37 UTC
Committed to CVS HEAD. Thanks. Tell me if you need a tarball release soon.

Please remember to patch the ChangeLog in future.