summaryrefslogtreecommitdiff
path: root/glib
Commit message (Collapse)AuthorAgeFilesLines
...
* propertyproxy_base: Fix using notify w/o prop nameDaniel Boles2020-06-031-1/+10
| | | | | | | | | | GLib has now specified that if you want to connect to a signal without a detail argument, you omit the `::`. So, glibmm users previously connecting to `notify::` to listen for changes to all properties broke. Fix that by only passing `notify` i.e. no superfluous `::` in that case. Close https://gitlab.gnome.org/GNOME/glibmm/-/issues/74 Close https://gitlab.gnome.org/GNOME/glibmm/-/merge_requests/35
* ustring: Silence warning if MSC_VER is undefined/0Daniel Boles2020-06-021-1/+1
|
* glib/src/*.hg: Mark all _WRAP_ENUM() with decl_prefixChun-wei Fan2020-04-0415-25/+26
| | | | | As per Kjell's suggestions, make things more future-proof by marking all _WRAP_ENUM()'s with 'decl_prefix GLIBMM_API'.
* glib/src/*.hg: Mark _WRAP_ENUM with decl_prefix GLIBMM_APIChun-wei Fan2020-04-041-1/+1
| | | | | | | | | This way we can mark the template<> classes that is generated via _WRAP_ENUM with GLIBMM_API, so that we can export those as well. Note that for this, the _WRAP_ENUM calls with NO_GTYPE specified do not need to be marked with decl_prefix GLIBMM_API as no template<> classes will be generated in this manner.
* Glib, Gio: Add missing #includesKjell Ahlstedt2020-03-186-0/+8
| | | | Fixes #69
* Change the ABI to glibmm-2.66Kjell Ahlstedt2020-03-171-2/+2
| | | | | | | | | So we can use the 2.64 version numbers for stable releases in the glibmm-2.4 ABI series. We don't need to release a stable ABI-parallel glibmm until we need to release gtkmm 4.0, and that won't happen until GTK 4.0.0 happens. We've done similar ABI name changes several times before.
* glib/glibmm-uninstalled.pc.in: Require sigc++-3.0Kjell Ahlstedt2020-03-171-1/+1
|
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2020-03-174-81/+844
|
* glibmm/objectbase.h: Mark _gobject_cppinstance_already_deleted()Chun-wei Fan2020-03-121-0/+1
| | | | | ...with GLIBMM_API. This is needed for building gtkmm, with Visual Studio.
* glib/glibmmconfig.h.[in|meson]: Clean up MSVC bitsChun-wei Fan2020-03-102-46/+0
| | | | | | | | | | | From https://gitlab.gnome.org/GNOME/glibmm/-/merge_requests/29#note_734668, it was noted by Kjell that we will always have thread_local, so there is really no GLIBMM_CAN_USE_THREAD_LOCAL in the code, so we can drop that. Also drop the Visual Studio 2013 compatibility bits, since we need Visual Studio 2017 to build glibmm master (C++17 branch), so they won't be relevant.
* meson: Do not allow static MSVC-style buildsChun-wei Fan2020-03-091-1/+10
| | | | | The Visual Studio build files never really supported static builds, so disallow that for now, until we can make sure that is tested better.
* glibmm: Update glibmmconfig.h.[in|meson] for MSVCChun-wei Fan2020-03-093-0/+27
| | | | | | | | | | | Visual Studio 2015 or later has thread_local, so make sure that it is enabled. Also update for Visual Studio 2017+ as the compiler does allow static members to be initialized inline to std::string::npos (GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS), but use a work around for pre-Visual Studio 2015 so that we do not get a linker error as GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS is not supported.
* build: Do not use gendef.exe for glibmmChun-wei Fan2020-03-073-58/+29
| | | | | | | | | | | Clean up the build files a bit and update the glibmmconfig.h.[in|meson] so that we use __declspec(dllexport) when GLIBMM_BUILD is defined (i.e. during the build of glibmm) on Visual Studio. Also, for the meson builds, disable warnings 4251 and 4275 as they all relate to building DLLs regarding symbol export, which is harmless as we know clearly that we are indeed building DLLs in our case, and we have already set GLIBMM_API appropriately
* glib/src: Decorate classes and methods with GLIBMM_APIChun-wei Fan2020-03-0727-91/+162
| | | | | | This prepares for us to export symbols using compiler directives, so that we can eventually retire gendef.exe. This also makes the scripts place GLIBMM_API as appropriate for the generated Glib:Error classes and the wrap() method.
* glib/glibmm/*.h: Mark classes and methods with GLIBMM_APIChun-wei Fan2020-03-0528-68/+118
| | | | | This prepares the code to use __declspec(dllexport) to export all symbols, so that we can eventually bid farewell to gendf.exe
* Meson build: Add some dependencies when generating source filesKjell Ahlstedt2020-03-021-2/+3
| | | | | wrap_init.cc shall be rebuilt when generate_wrap_init.pl has been rebuilt. Generated .h and .cc files shall be rebuilt when gmmproc has been rebuilt.
* glib/glibmm/meson.build: Use glibmm-int rule for all buildsChun-wei Fan2020-03-021-36/+35
| | | | | | | | Let builds from release tarballs and GIT checkouts build the glibmm-int static library, and link the final .so/.dll from the objects that form glibmm-int static .lib. By doing so we can build glibmm with the import libraries for Visual Studio builds with gendef, as well as linking in the version resource for all Windows builds.
* Add support for building glibmm with MesonKjell Ahlstedt2020-03-013-0/+601
| | | | | | glibmm can be built with either Autotools or Meson. See MR !27
* Prepare existing files for building with MesonKjell Ahlstedt2020-03-011-0/+8
| | | | | | | | * examples/network/resolver.cc: Don't include config.h. It's not used. * glib/glibmm/ustring.cc: Check if GLIBMM_SIZEOF_WCHAR_T is defined. * tools/generate_wrap_init.pl.in: * tools/gmmproc.in: Change '\@' to '\ @'. Meson's configure_file() removes a backslash immediately before an at-sign.
* Variant: Avoid . to not split an intro doc commentDaniel Boles2020-01-051-1/+1
| | | | | | Doxygen interprets the first . to mean the end of the introductory blurb, so that resulted in this sentence suddenly ending after the "i." in "i.e." in the short version and having a line break there in the long
* Glib::Binding: Keep a binding alive even without a RefPtrKjell Ahlstedt2019-12-152-32/+6
| | | | | | | | A binding between properties can remain even after all RefPtr<Binding>s are gone. This is similar to how Gtk::Widget::set_controller() works in gtkmm4. Fixes #62, see !21
* Derive Glib::Error from std::exception, remove Glib::ExceptionKjell Ahlstedt2019-12-146-84/+6
| | | | | | Glib::Error::what() returns const char* (was Glib::ustring). It overrides std::exception::what() that returns const char* and is noexcept. Fixes #23
* Use Glib::UStringView with Glib::ustring::compare()Thomas Holder2019-11-302-155/+115
| | | | | | | | and with the comparison operators, operator==(), etc. Add the glibmm_ustring_compare test case. https://gitlab.gnome.org/GNOME/glibmm/issues/64 https://gitlab.gnome.org/GNOME/glibmm/issues/65
* Glib::Regex: Use UStringViewThomas Holder2019-11-212-44/+44
| | | | Fixes #66
* Glib: Replace StringView with StdStringView and UStringViewKjell Ahlstedt2019-11-201-26/+59
| | | | | | StdStringView and UStringView force users to be explicit (by using c_str()) when using a std::string where a Glib::ustring is recommended or vice versa. See issue #64
* Merge branch 'wip/gvalue_assert' into 'master'Kjell Ahlstedt2019-11-201-0/+10
|\ | | | | | | | | Glib: Adding static check for template parameter See merge request GNOME/glibmm!23
| * Update value_custom.hPavlo Solntsev2019-11-181-4/+4
| |
| * Glib: Adding static check for template parameterPavlo Solntsev2019-11-171-0/+10
| | | | | | | | | | To meet requirements for the passed type, compile type check for the passed type was added.
* | Avoid unnecessary conversions between std::string and Glib::ustringKjell Ahlstedt2019-11-181-1/+1
|/ | | | | A few implicit conversions in tests/ have been kept. They are probably deliberate, to test implicit conversion. Inspired by issue #65
* Merge branch 'fix-ustring-insert' into 'master'Kjell Ahlstedt2019-11-161-1/+2
|\ | | | | | | | | fix ustring::insert(iterator, In, In) See merge request GNOME/glibmm!19
| * fix ustring::insert(iterator, In, In)Thomas Holder2019-11-141-1/+2
| |
* | Glib::Binding: get_source() and get_target() return ObjectBase*Kjell Ahlstedt2019-11-151-4/+5
| | | | | | | | Fixes #63
* | Glib::Binding: Explain why SlotTransform takes GValue*Kjell Ahlstedt2019-11-151-0/+10
| | | | | | | | Fixes #61
* | Binding: Use std::optional instead of out-ref+boolDaniel Boles2019-11-091-6/+9
| | | | | | | | | | | | The pattern of returning a boolean to indicate whether an output reference was set is messy and error-prone. C++17 adds std::optional, which exists precisely to indicate that a result is available or not.
* | Binding: no point to set target value if got falseDaniel Boles2019-11-091-4/+6
| | | | | | | | | | | | | | | | | | If we return false, GBinding ignores target GValue, so there’s no point setting it. Besides, if the transform function returned false, that says they couldn't calculate a target value, so they shouldn’t assign to `to` I default-construct primitive `T_to`s in case anyone *was* reading those for some daft reason, so they get a zero-initialised value instead of UB
* | Binding: Move SlotTypeTransform up and document itDaniel Boles2019-11-091-22/+27
| | | | | | | | | | | | | | | | | | | | | | This is more maintainable than all the arguments to all the overloads of bind_property() manually repeating the signature in their documentation, plus more user-friendly as we document it, users can use the typedef, &c Note: My next thought was we can just take SlotTypeTransforms in the argument list, instead of totally arbitrary functors, so the conversion would be done at call site instead of via extra code in the body. But I didn't get that working yet, and it should be a separate commit anyway.
* | Binding: Better explain purpose of SlotTransform,Daniel Boles2019-11-091-1/+6
|/ | | | and use better formatting for it too.
* Binding: Fix using outdated enums in documentationDaniel Boles2019-11-091-3/+3
| | | | They are not Glib::BINDING_* anymore, but rather Glib::Binding::Flags::*
* Glib::ustring_Iterator: Explicitly declare copy assignmentKjell Ahlstedt2019-11-031-0/+1
| | | | | | | | | | | This disables a warning from g++ 9.2 (abbreviated here): In member function ‘bool Glib::ustring::validate(Glib::ustring::iterator&)’: error: implicitly-declared ..... is deprecated [-Werror=deprecated-copy] 1206 | first_invalid = iterator(string_.begin() + (valid_end - pdata)); note: because ..... has user-provided ..... 972 | inline ustring_Iterator<T>::ustring_Iterator( const ustring_Iterator<std::string::iterator>& other)
* Merge branch 'spell' into 'master'Kjell Ahlstedt2019-10-241-1/+1
|\ | | | | | | | | Correct spelling of spawn_async_with_pipes() in doc comment See merge request GNOME/glibmm!16
| * Correct spelling of spawn_async_with_pipes() in doc commentMike Fleetwood2019-10-231-1/+1
| |
* | Add Glib::canonicalize_filename()Kjell Ahlstedt2019-10-232-0/+32
| | | | | | | | Fixes #59
* | Glib: Replace BasicStringView with non-template StringViewKjell Ahlstedt2019-10-231-16/+20
|/ | | | | | | | A call to path_get_dirname(StdStringView filename) with a Glib::ustring fails if StdStringView does not have a constructor that takes a const Glib::ustring&. StdStringView and UStringView are now aliases of StringView, whose names show which data type is preferred. See issue #34
* Glib: Add BasicStringView, StdStringView, UStringViewKjell Ahlstedt2019-10-233-214/+79
| | | | | | and use them in build_filename() and other functions in miscutils.hg. Fixes #34
* glib/src/miscutil.hg: Remove obsolete descriptionsKjell Ahlstedt2019-10-191-6/+3
| | | | | These should have been removed when Glib::ArrayHandle was replaced by std::vector.
* Glib::MainContext: Add push/pop/get_thread_default()Kjell Ahlstedt2019-10-072-4/+92
| | | | See issue #56
* Glib::get_host_name(): Return a Glib::ustringKjell Ahlstedt2019-10-072-8/+7
| | | | g_get_host_name() returns a UTF-8 string.
* Merge branch 'get_host_name' into 'master'Kjell Ahlstedt2019-10-072-0/+25
|\ | | | | | | | | | | | | Add Glib::get_host_name() Closes #58 See merge request GNOME/glibmm!15
| * Add Glib::get_host_name()scx2019-09-232-0/+25
| | | | | | | | | | | | | | Wraps g_get_host_name() from glib. Return a name for the machine. Closes GNOME/glibmm#58
* | Add Glib::get_user_runtime_dir()scx2019-09-222-0/+15
|/ | | | | | | Wraps g_get_user_runtime_dir() from glib. Returns a directory that is unique to the current user on the local system. Closes GNOME/glibmm#57