1. 26 Apr, 2019 2 commits
  2. 18 Apr, 2019 4 commits
    • Jonitis's avatar
      Fix callback races in glibmm when source is destructed · c665e04c
      Jonitis authored
      It is normal situation when glib main loop iterates sources on one
      thread where it checks whether source is still active and its callback
      functions can be called and glibmm Source being destroyed on other
      thread. Glibmm should check once again that callback_data and
      callback_funcs fields are still valid and GSource was not marked
      as inactive while its callback handlers are called.
      Fixes #41
    • Kjell Ahlstedt's avatar
      Merge branch 'plug_ustring_make_valid_leak' into 'master' · d2a0284d
      Kjell Ahlstedt authored
      Fix memory leak in Glib::ustring::make_valid()
      See merge request !11
    • Martin's avatar
      Use convert_return_gchar_ptr_to_*() in a couple of ustring methods · 5d634e30
      Martin authored
      First attempt at fixing memory leak in make_valid() (see previous commit)
      used make_unique_ptr_gfree() directly because of looking at these methods.
      Better to use the helper function.
      This actually fixes undefined behavior for normalize() since
      g_utf8_normalize() is documented to return NULL if string is not a valid
      UTF-8 string. The constructor for std::string, which ustring uses for
      storage, that takes a pointer is documented to have undefined behavior if
      pointer is NULL. The utility function checks for NULL and uses the default
      constructor in that case. (Have not looked at implementation of Glib
      functions, and it may be that all std::string implementations Glibmm is
      used with handles this case, but good to avoid undefined behavior
      regardless, I think.)
    • Martin's avatar
      Fix memory leak in Glib::ustring::make_valid() · 490de74a
      Martin authored
  3. 21 Mar, 2019 1 commit
  4. 19 Mar, 2019 2 commits
  5. 17 Mar, 2019 2 commits
    • Kjell Ahlstedt's avatar
      2.61.1 · 56927279
      Kjell Ahlstedt authored
    • Kjell Ahlstedt's avatar
      Change the ABI to glibmm-2.62 · 9eb59b44
      Kjell Ahlstedt authored
      So we can use the 2.60 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.
  6. 15 Mar, 2019 4 commits
  7. 03 Mar, 2019 1 commit
    • Kjell Ahlstedt's avatar
      generate_wrap_init.pl.in: Don't exclude any Gtk classes · 840318eb
      Kjell Ahlstedt authored
      Don't exclude GtkTree, GtkTreeItem or GtkText from generated
      wrap_init.cc files. No such classes have existed for a long time,
      but now there is a new GtkText in gtk4.
      If a class really shall be excluded, insert _NO_WRAP_INIT_REGISTRATION
      in its .hg file.
  8. 02 Feb, 2019 1 commit
    • Kjell Ahlstedt's avatar
      Glib::KeyFile: Make it a _CLASS_OPAQUE_REFCOUNTED · 0cd51739
      Kjell Ahlstedt authored
      * examples/keyfile/main.cc:
      * gio/src/desktopappinfo.hg: Store KeyFile in a RefPtr.
      * glib/src/keyfile.[ccg|hg]: Replace _CLASS_GENERIC by _CLASS_OPAQUE_REFCOUNTED.
      Remove handcoded methods that are now generated by gmmproc.
      * tools/m4/convert_glib.m4: Update conversion for KeyFile.
      GKeyFile is refcounted since 2009.
  9. 31 Jan, 2019 1 commit
    • Kjell Ahlstedt's avatar
      gmmproc: _WRAP_PROPERTY: Check the data type · 203063d1
      Kjell Ahlstedt authored
      * glib/glibmm/value_custom.h: Add template class
      Glib::Traits::ValueCompatibleWithWrapProperty<> that checks if the template
      parameter names a type that can be used with _WRAP_PROPERTY
      * tools/m4/property.m4:
      * tools/pm/Output.pm:
      * tools/pm/WrapParser.pm: _WRAP_PROPERTY and _WRAP_CHILD_PROPERTY generate
      a static_assert() that checks if the data type is acceptable. The generation
      of the static_assert() can be suppressed with the new no_type_check parameter.
  10. 30 Jan, 2019 2 commits
    • Kjell Ahlstedt's avatar
      Glib, Gio: Use _IS_REFCOUNTED_BOXEDTYPE where appropriate · bae8d173
      Kjell Ahlstedt authored
      * gio/src/dbusintrospection.hg: Add _IS_REFCOUNTED_BOXEDTYPE to
      Gio::DBus::InterfaceInfo which is used in _WRAP_PROPERTY in Gio::DBus::Proxy.
      * gio/src/settingsschema.hg: Add _IS_REFCOUNTED_BOXEDTYPE. SettingsSchema is
      used in _WRAP_PROPERTY in Gio::Settings.
      * glib/src/bytearray.[ccg|hg]: Replace the hand-coded Value specialization
    • Kjell Ahlstedt's avatar
      gmmproc: Add _IS_REFCOUNTED_BOXEDTYPE · be00e913
      Kjell Ahlstedt authored
      * glib/glibmm/value.h: Add Value_RefPtrBoxed<>.
      * tools/m4/class_opaque_refcounted.m4: Add _IS_REFCOUNTED_BOXEDTYPE, which can
      be used together with _CLASS_OPAQUE_REFCOUNTED. It generates a *_get_type()
      function and a Glib::Value specialization. A Glib::Value specialization is
      required, if the C++ class is used in _WRAP_PROPERTY.
  11. 28 Jan, 2019 2 commits
  12. 27 Jan, 2019 2 commits
  13. 25 Jan, 2019 1 commit
  14. 20 Jan, 2019 2 commits
  15. 19 Jan, 2019 1 commit
  16. 18 Jan, 2019 3 commits
    • Kjell Ahlstedt's avatar
      Glib::Value: Remove obsolete create_param_spec() overload · 1078af30
      Kjell Ahlstedt authored
      Glib::Property uses the create_param_spec() method with 4 parameters.
      Remove the one with only a 'name' parameter.
    • Kjell Ahlstedt's avatar
      Glib: Add some Glib::Value<> specializations · 73e7da4f
      Kjell Ahlstedt authored
      * glib/glibmm/error.[cc|h]: Add operator bool(). Add Glib::Value<Glib::Error>
      which is needed in _WRAP_PROPERTY() in Gtk::MediaStream.
      * glib/glibmm/objectbase.[cc|h]: Add get_base_type(), which is necessary for
      one of the existing Value<> specializations to apply. ObjectBase is used
      in _WRAP_PROPERTY() in Glib::Binding.
      * glib/src/variant.[ccg|hg]: Add Glib::Value<VariantBase> which is
      needed in _WRAP_PROPERTY() in Gio:Action.
      * glib/src/varianttype.[ccg|hg]: Add Glib::Value<VariantType> which is
      needed in _WRAP_PROPERTY() in Gio:Action.
      All data types that occur in _WRAP_PROPERTY() must have correct Glib::Value<>
      specializations. In most cases missing Value<> specializations are noticed
      only during execution of code that calls an affected property_*() method.
    • Kjell Ahlstedt's avatar
      Gio::SocketAddress: Fix property_family() · bc079914
      Kjell Ahlstedt authored
      Gio::SocketFamily is an enum. It shall not be stored in a Glib::RefPtr.
  17. 15 Jan, 2019 1 commit
  18. 14 Jan, 2019 1 commit
  19. 13 Jan, 2019 1 commit
  20. 07 Jan, 2019 2 commits
  21. 04 Jan, 2019 1 commit
    • Kjell Ahlstedt's avatar
      glibmmconfig.h.in: Remove unused configuration constants · 4bf358d2
      Kjell Ahlstedt authored
      These configuration variables have been removed:
      and this preprocessor macro:
      The corresponding M4 macros in build/ and their calls in configure.ac have
      also been removed.
      Fixes #22
  22. 03 Jan, 2019 1 commit
  23. 28 Dec, 2018 1 commit
    • Kjell Ahlstedt's avatar
      tools/gen_scripts: Update for non-source-dir builds · a3c7b569
      Kjell Ahlstedt authored
      Most modules (e.g. glib) can be built in a directory separated from the
      source directory. Update the scripts that generate .defs and doc.xml files
      to handle that. See gtkmm!11.
      The environment variable JHBUILD_SOURCES is not used any more.
      Instead the environment variables GMMPROC_GEN_SOURCE_DIR and
      GMMPROC_GEN_BUILD_DIR are read. See comments in init_generate.sh.
  24. 17 Dec, 2018 1 commit