summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tools/defs_gen/h2def.py: Recognize Graphene type namesHEADmasterKjell Ahlstedt2023-04-261-3/+16
| | | | A typical type name is not GraphenePoint, but graphene_point_t.
* giomm.pc.in, glibmm.pc.in: Update htmlrefpubKjell Ahlstedt2023-04-262-4/+4
|
* Add Gio::Subprocess, SubprocessLauncher and examples/subprocessKjell Ahlstedt2023-04-1713-0/+667
| | | | Fixes #106
* gmmproc: Generate callback functions with C linkageKjell Ahlstedt2023-04-093-12/+79
| | | | | | | | | | | * tools/m4/signal.m4: Add an optional parameter to _SIGNAL_PH. * tools/m4/vfunc.m4: Add an optional parameter to _VFUNC_PH. * tools/pm/Output.pm: output_wrap_vfunc_h(): Add $objCDefsFunc->args_names_only() in call to _VFUNC_PH. output_wrap_default_signal_handler_h(): Add $objCDefsFunc->args_names_only() in call to _SIGNAL_PH. Part of issue #1
* Glib:NodeTree: Add GLIBMM_API on new callback functionsKjell Ahlstedt2023-04-031-0/+2
|
* Glib: NodeTree etc.: Use callback functions with C linkageKjell Ahlstedt2023-04-027-17/+144
| | | | | | | | | | | | | * glib/glibmm/class.cc: Use glibmm_custom_[get|set]_property_callback(). * glib/glibmm/object.[cc|h]: Add set_data_with_c_callback(). Don't call g_object_set_qdata_full() with a function with C++ linkage, if GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS is defined. * glib/glibmm/property.[cc|h]: Declare some local functions extern "C". Add glibmm_custom_[get|set]_property_callback(). * glib/src/nodetree.[ccg|hg]: Add glibmm_NodeTree_c_callback_[traverse|foreach]() and struct NodeTreeCallback[Traverse|Foreach]Data. Part of issue #1
* Glib: value_custom: Use callback functions with C linkageKjell Ahlstedt2023-03-313-4/+73
| | | | | | * glib/glibmm/value_custom.[cc|h]: Add custom_boxed_type_cpp_register(). * tests/glibmm_value/main.cc: Add test of copying custom Value. Part of issue #1
* Add Gio::giomm_SignalProxy_async_callback() with C linkageKjell Ahlstedt2023-03-3137-217/+276
| | | | | and use it instead of SignalProxy_async_callback(). Part of issue #1
* Glib: Use callback functions with C linkageglibmm-2-76Kjell Ahlstedt2023-03-3113-52/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | * gio/src/cancellable.ccg: Add TODO comment. * glib/glibmm/class.cc: Call custom_class_base_finalize_function() and custom_class_init_function() via local functions with C linkage. * glib/glibmm/extraclassinit.h: Point out in the class documentation that the class init and instance init functions shall have C linkage. * glib/glibmm/main.[cc|h]: Call prepare_vfunc(), check_vfunc() and dispatch_vfunc() via local functions with C linkage. * glib/glibmm/objectbase.cc: Call destroy_notify_callback() via a local function with C linkage. * glib/glibmm/propertyproxy_base.cc: Call PropertyProxyConnectionNode:: callback() and destroy_notify_handler() via local functions with C linkage. * glib/glibmm/signalproxy.cc: Call SignalProxyNormal::slot0_void_callback() and SignalProxyConnectionNode::destroy_notify_handler() via local functions with C linkage. * glib/src/binding.ccg: Add extern "C". * glib/src/bytearray.ccg: Add a TODO comment. * glib/src/markup.ccg: Call functions in the vfunc table via local functions with C linkage. * glib/src/optioncontext.ccg: Add extern "C". * glib/src/optiongroup.ccg: Call post_parse_callback() and option_arg_callback() via local functions with C linkage. Part of issue #1
* Gio: Use callback functions with C linkageKjell Ahlstedt2023-03-2712-25/+116
| | | | | | | | | | | | | | | | | | | | | | * 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
* 2.76.02.76.0Kjell Ahlstedt2023-03-123-2/+17
|
* Gio::Settings: Add an #includeKjell Ahlstedt2023-03-121-0/+1
|
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2023-03-123-140/+889
| | | | using glib files from glib 2.76.0.
* Gio::ListModel: Add get_typed_object()Kjell Ahlstedt2023-03-071-0/+96
| | | | | | | | | Inspired by gtkmm#132. A test case has been added at gtkmm/tests/filedialog. It's difficult to make a meaningful test case without involving gtkmm. A good test case shall contain a GListModel with objects of a class which has no corresponding C++ class, and implements an interface which is wrapped in a C++ class.
* Glib::Dispatcher: Add const versions of emit() and operator()()Kjell Ahlstedt2023-02-223-1/+30
| | | | | and deprecate the non-const versions. Fixes #103
* Glib::Dispatcher: Remove a g_warning()Kjell Ahlstedt2023-02-221-7/+0
| | | | | Don't warn when a Dispatcher is deleted while messages are pending. Fixes #108
* Doxyfile.in: Don't hide undocumented classesKjell Ahlstedt2023-02-221-2/+2
| | | | | Might make the inheritance diagrams less incomplete when Doxygen's tag files are not perfect.
* README.md, CI: meson -> meson setupKjell Ahlstedt2023-02-222-8/+8
|
* 2.75.02.75.0Kjell Ahlstedt2023-01-173-2/+42
|
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2023-01-1711-157/+1326
| | | | using glib files from glib 2.75.2. Update gio_docs_override.xml.
* Gio::Settings: Add bind() overloads and unbind()Kjell Ahlstedt2023-01-162-4/+353
| | | | Add the bind() overloads with mapping functions.
* Add the GLIBMM_CHECK_VERSION() preprocessor macroKjell Ahlstedt2023-01-164-0/+81
|
* Glib::Binding: Fix a bind_property() overloadKjell Ahlstedt2023-01-131-2/+2
| | | | | The bind_property() overload with two transformation functions has been wrong since commit 4ed3ff9cad836dc7b24282a112d66847292a9baa.
* CI: Install all dependencies with aptKjell Ahlstedt2023-01-131-51/+2
| | | | Ubuntu 22.10 contains libsigc++-3.0-dev.
* meson.build: Simplify if-file-exists testKjell Ahlstedt2023-01-131-10/+2
|
* Merge branch 'fix-msvc-warnings-max' into 'master'Kjell Ahlstedt2023-01-091-2/+2
|\ | | | | | | | | liststore.hg: Rename a local variable (fix `-Dwarnings=max` on Visual Studio) See merge request GNOME/glibmm!59
| * liststore.hg: Rename a local variableChun-wei Fan2023-01-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | In the templatized implementation of std::pair<bool, unsigned int> ListStore<T_item>::find, replace 'result' with 'find_result' for what g_list_store_find_with_equal_func_full() returns, to avoid a compiler warning when building the giomm_listmodel test program when '-Dwarnings=max' is specified, for Visual Studio builds, as we are using a variable 'result' in a rather global scrope there[1]. This will help fix 'meson dist' on Visual Studio builds. [1]: https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4459
* | Merge branch 'disable-c4273-wrap_init' into 'master'Chun-wei Fan2023-01-091-0/+7
|\ \ | |/ | | | | | | Fix builds against glib-2.75.x+ with -Dwarnings=fatal on Visual Studio See merge request GNOME/glibmm!57
| * generate_wrap_init.pl.in: Disable warning C4273Chun-wei Fan2023-01-091-0/+7
|/ | | | | | | | | | | | ... for Visual Studio builds, as GLib 2.75.x and later applied __declspec(dllimport) via macros to DLL builds of the GLib libraries, meaning that when we put the GQuark and GType function prototypes into wrap_init.cc warning C4273 will be raised as the prototypes in wrap_init.cc does not have any dllimport decorations (and would not have otherwise mattered). This allows builds with '-Dwarnings=fatal' to proceed with Visual Studio builds.
* Merge branch 'fix-giomm-simple-test-windows' into 'master'Kjell Ahlstedt2023-01-081-0/+1
|\ | | | | | | | | Fix giomm_simple test on Windows See merge request GNOME/glibmm!58
| * Fix giomm_simple test on WindowsChun-wei Fan2023-01-051-0/+1
|/ | | | | | | | | | One normally cannot attempt to remove (delete) a file on Windows if it is still open, so we must close the resources that are tied to the file before attempting to delete it. Without doing so, the test program will fail on Windows as an exception is caught as the file->remove() call failed since the associated iostream is still open.
* meson.build: Simplify lookup of python commandKjell Ahlstedt2023-01-041-6/+1
| | | | See libsigcplusplus PR#83
* meson.build: Fix the evaluation of is_git_build on WindowsKjell Ahlstedt2023-01-041-5/+10
| | | | See gtkmm#131
* Meson build: Don't copy files with configure_file()Kjell Ahlstedt2023-01-044-13/+16
| | | | | | It's deprecated from Meson 0.64. The replacement, fs.copyfile(), is not useful here. It only copies from the source directory to the build directory.
* Glib::Binding::unbind(): Fix documentationKjell Ahlstedt2022-12-271-3/+2
| | | | Should have been done in commit dc92d02f4d50851a1af59e5fbe2a753dcfd2e9df.
* Glib::Module: Deprecate build_path()Kjell Ahlstedt2022-12-212-14/+30
| | | | and update the constructor's documentation.
* Add Gio::BytesIconKjell Ahlstedt2022-12-029-0/+127
| | | | | | | | | | | | | * gio/giomm.h: * gio/giomm/meson.build: * gio/src/filelist.am: Add BytesIcon. * glib/src/bytes.[ccg|hg]: Add Glib::Value specialization. Required by _WRAP_PROPERTY in bytesicon.hg. * tools/extra_defs_gen/generate_defs_gio.cc: Add G_TYPE_BYTES_ICON. * gio/src/gio_signals.defs: Add BytesIcon property. * gio/src/bytesicon.[ccg|hg]: New files. Fixes #107
* Gio::AppInfo: Add get_[recommended|fallback]_for_type()Kjell Ahlstedt2022-12-021-1/+5
| | | | Fixes #105
* Gio::NetworkMonitor::get_default(): Add refreturnKjell Ahlstedt2022-11-051-1/+1
| | | | Fixes #104
* Glib::RefPtr: Put the documentation in a Doxygen groupKjell Ahlstedt2022-10-101-0/+11
| | | | | A group (but not a 'using' alias) gets its own html file, which can be referred to from outside glibmm.
* Doxyfile.in: Allow more graph nodesKjell Ahlstedt2022-10-102-2/+2
| | | | Required for Glib::Object's inheritance diagram.
* meson.build: Detect if we build from a git subtreeKjell Ahlstedt2022-09-261-6/+8
| | | | See gtkmm!72 (William Roy)
* 2.74.02.74.0Kjell Ahlstedt2022-09-193-2/+14
|
* glib/glibmm.h: Update the link to the gtkmm tutorialKjell Ahlstedt2022-09-191-1/+1
|
* Glib, Gio: Regenerate docs.xml filesKjell Ahlstedt2022-09-192-13/+51
| | | | using gtk files from glib 2.74.0.
* Convert README to README.mdKjell Ahlstedt2022-09-121-4/+36
|
* CI: Return to using ubuntu:rolling (22.04)Kjell Ahlstedt2022-09-021-2/+2
|
* Gio::File docs: Add @throwsKjell Ahlstedt2022-09-021-32/+116
| | | | and other minor documentation fixes.
* Gio::File: Add create_tmp()Kjell Ahlstedt2022-09-013-11/+106
| | | | | | * gio/src/file.[ccg|hg]: Add create_tmp(). Document create_for_parse_name(). * tests/giomm_simple/main.cc: Test File::create_tmp().
* Gio::ListStore::find() docs: Small changesKjell Ahlstedt2022-09-012-7/+7
|