Skip to content
  • Kjell Ahlstedt's avatar
    Gio: Use callback functions with C linkage · b7ad9b86
    Kjell Ahlstedt authored
    * gio/giomm/socketsource.cc: Add extern "C".
    * gio/src/application.[ccg|hg]: Call Application_Class::open_callback()
    via a local function with C linkage.
    * gio/src/asyncinitable.[ccg|hg]: Call
    AsyncInitable_Class::init_async_vfunc_callback() and
    init_finish_vfunc_callback() via local functions with C linkage.
    * gio/src/dbusobjectmanagerclient.ccg: Use a local function with C linkage
    instead of Glib::destroy_notify_delete<SlotProxyType>.
    * gio/src/file.ccg: Add extern "C".
    * gio/src/liststore.ccg: Add a TODO comment.
    * gio/src/memoryinputstream.ccg: Add extern "C".
    * gio/src/settings.ccg: Add extern "C".
    * gio/src/socketcontrolmessage.[ccg|hg]: Call
    SocketControlMessage_Class::deserialize_async_vfunc_callback()
    via a local function with C linkage.
    
    Code that mixes up C linkage and C++ linkage has undefined behavior.
    Most compilers make no difference between C and C++ linkage, so it
    has not been an issue so far. Part of issue #1
    b7ad9b86