Re: How to use Pango::Context?
No, there is no bug report. I have fixed it at gitlab.gnome.org/GNOME/pangomm, branches pangomm-2-46, pangomm-2-48 and master. It looks like this bug has existed for at least 14 years. Hasn't anyone used Pango::Context::get_font_map() before? Den 2022-02-21 kl. 20:28, skrev phosit--- via gtkmm-list: Thank you for the answer and the fix. Is ther a bug report i can track?___ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: How to use Pango::Context?
Thank you for the answer and the fix. Is ther a bug report i can track? ___ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: How to use Pango::Context?
It's a bug in Pango::Context::get_font_map(). It should get its own reference to the font map, but it doesn't. Until the bug has been fixed in pangomm, you can add a reference yourself. auto fontMap = context->get_font_map(); fontMap->reference(); // Temporary bug fix Note that when you start using a fixed version of pangomm, the call to fontMap->reference() will cause a memory leak. Den 2022-02-21 kl. 16:12, skrev phosit--- via gtkmm-list: does the error occur if you do windows.reserve(2) before the emplace_back()s? Yes __ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: How to use Pango::Context?
> does the error occur if you do windows.reserve(2) before the > emplace_back()s? Yes ___ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: How to use Pango::Context?
does the error occur if you do windows.reserve(2) before the
emplace_back()s?
On Mon, 21 Feb 2022, 14:30 phosit--- via gtkmm-list,
wrote:
> Hello
> I try to list the awailable font-families.
> If I open and close multiple windows ther is a critical error:
> GLib-GObject-CRITICAL **: 15:22:32.722: g_object_unref: assertion
> 'G_IS_OBJECT (object)' failed
>
> This is the code, the error ocours even without the uncomented code:
>
> #include
> #includs thee
> #include
>
> class Window: public Gtk::Window
> {
> public:
> Window()
> {
> this->show();
> this->set_child(this->text);
>
> auto context = this->text.create_pango_context();
> auto fontMap = context->get_font_map();
> // auto fontList = fontMap->list_families();
> // auto buffer = this->text.get_buffer();
> // auto iter = buffer->get_iter_at_offset(0);
> // for(const auto& fam : fontList)
> // {
> // iter = buffer->insert(iter,
> // fam->get_name() + '\n');
> // }
> // }
>
> private:
> Gtk::TextView text;
> };
>
> auto main() -> int
> {
> std::vector windows;
> auto app = Gtk::Application::create();
>
> app->signal_activate().connect([&]
> {
> auto& w0 = windows.emplace_back();
> app->add_window(w0);
> auto& w1 = windows.emplace_back();
> app->add_window(w1);
> });
>
> return app->run();
> }
> ___
> gtkmm-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/gtkmm-list
>
___
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list
