So will calling init_gtkmm_internals() twice be a problem? I mean, what if
my module has a gtkmm host? If there is a problem, is there anyway to check
whether it has been called?

On 2015年3月23日星期一 17:43 Kjell Ahlstedt <[email protected]> wrote:

>  Gtkmm must be initialized before a gtk+ object can be wrapped in a gtkmm
> object. This is handled by Gtk::Application::create(). If someone else
> creates the application in your case, and you won't call
> Gtk::Application::create(), I think the only way to initialize gtkmm
> (except creating a deprecated Gtk::Main object) is to call the static
> Gtk::Main::init_gtkmm_internals() function.
>
>
> Den 2015-03-22 13:02, 张海 skrev:
>
> I'm writing a Gtk module for keyboard navigation like vimium in Chromium,
> so I'd like to add a keybinding to the host application using
> Gtk::Application.set_accel_for_action().
>
>  But when I try to call Gio::Application::get_default() in
> gtk_module_init(), the returned value is null, and a warning is issued:
>
>  Glib::RefPtr<Gio::Application> application =
> Gio::Application::get_default();
>
>  (gedit:8868): glibmm-WARNING **: Failed to wrap object of type
> 'GeditAppX11'. Hint: this error is commonly caused by failing to call a
> library init() function.
>
>  While using pure C worked properly:
>
>  std::cout <<
> g_application_get_application_id(g_application_get_default()) << std::endl;
>
>  org.gnome.gedit
>
>  I primarily used Gedit for testing, and using gtk3-widget-factory also
> produced the same output.
>
>  Any idea? Thanks in advance.
>
>
>
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to