2022-03-21 Kjell Ahlstedt 4.6.1 2022-03-18 Kjell Ahlstedt CI: Use artifacts to transfer data between stages Build documentation of libsigc++, glibmm, cairomm and pangomm, or else gtkmm's inheritance diagrams will be incomplete due to missing tag files. 2022-03-13 Kjell Ahlstedt Gtk::Application::make_window_and_run(): Delay the deletion Let Gtk::Object::destroy_notify_() delete the created C++ wrapper (a Gtk::Window or a descendant of Gtk::Window) when the underlying C instance is destroyed. Signal handlers such as on_unrealize() are then called before the C++ wrapper is deleted. Fixes #114 2022-03-11 Kjell Ahlstedt enum Gdk::GLAPI: Name clash with epoxy/gl.h * gdk/src/glcontext.hg: GLAPI is defined as a preprocessor macro in epoxy/gl.h. Add some #ifndef and comments for now. When we can add API, deprecate all API with GLAPI and add an equivalent enum Gdk::GLApi. See #113 2022-02-27 Kjell Ahlstedt CI: Select latest released version of libsigc++3 2022-02-27 Kjell Ahlstedt meson.build: Check if Perl is required for building documentation New versions of mm-common use the Python scripts doc_postprocess.py and doc_install.py instead of the Perl scripts doc-postprocess.pl and doc-install.pl when documentation is built. 2022-02-18 Kjell Ahlstedt meson.build: Don't use deprecated execute(..., gui_app: ...) Don't use deprecated python3.path() and execute(..., gui_app: ...). Let import('python').find_installation() always find the python installation used to run Meson. Fixes #111 2022-02-16 Baldvin Kovacs Fix object ownership in the wrapper of the render signal. This change ensures that the wrapper implementation of the render signal emission does not take ownership of the underlying cairo_region_t C instance. It is necessary, because the C implementation expects to keep ownership, and destroys the underlying C instance after the signal was emitted. The wrapped signal is emitted from gdk_surface_process_update_internal. The relevant lines: expose_region = cairo_region_copy (surface->active_update_area); // here expose_region has a reference count of 1 g_signal_emit (surface, signals[RENDER], 0, expose_region, &handled); // ...and here it needs to remain one, but with the current implementation // we get a double destroy below: cairo_region_destroy (expose_region); 2022-02-09 Kjell Ahlstedt CI: Install modules required for building gtk4 If the gtk4 version in ubuntu:devel is too old, gtk4 is built as a subproject to gtkmm.