You don't have to create one Gtk::Application for each Gtk::Window.
There are some multi-window application examples in the gtkmm tutorial,
for example
https://git.gnome.org/browse/gtkmm-documentation/tree/examples/book/application/simple
Those programs call Application::run() only once.
If you need to keep the Application alive, i.e. keep it from returning
from run(), when no window exists, then use Gio::Application::hold().
Kjell
Den 2016-06-24 kl. 11:41, skrev Kjell Ahlstedt:
Terribly late reply. Don't know if you've found a solution.
I tested with one of the example programs in the gtkmm tutorial. I
created two identical windows, and called app->run() twice. The result was
GLib-GIO-CRITICAL **: g_application_parse_command_line: assertion
'!application->priv->options_parsed' failed
and a segfault. I don't think Gtk::Application::run() is meant to be
called more than once. A possible solution is to create two
Gtk::Applications.
auto app1 = Gtk::Application::create(argc, argv, "org.gtkmm.example");
RadioButtons buttons1;
app1->run(buttons1);
auto app2 = Gtk::Application::create(argc, argv, "org.gtkmm.example");
RadioButtons buttons2;
return app2->run(buttons2);
Kjell
Den 2016-05-17 kl. 17:35, skrev Tiago Matias:
Before the line gtkmm_main->run (GuiWindow::Instance ()), I added the
the following line:
gtkmm_main->add_window(GuiWindow::Instance ());
This not have solved my problem.
Best Regards,
Tiago Matias
On 05/17/2016 02:22 PM, Phil Wolff wrote:
Be sure that your Gtk::Application calls add_window() on
GuiWindow::Instance (). Gtk::Application can't properly handle any
window it isn't aware of.
On 2016/05/17 06:09, Tiago Matias wrote:
Hi,
I'm with a problem in a gtkmm application.
I have a main file where a Gtk::Application runs a Gtk::Window.
This window loads some configurations when is showing a backgroud
image. In the final of the loading this window calls the function
hide() ant the program returns to the main file program.
Glib::RefPtr<Gtk::Application> gtkmm_main =
Gtk::Application::create(argc, argv, "org.gtkmm.example");
gtkmm_main->run (IntroWindow::Instance());
After this, the Gtk::application runs other window:
gtkmm_main->run (GuiWindow::Instance ());
However, in this window, when i call the function hide(), the
program don't return to the main file program. If i don't run the
first window, the program returns. It seams that are some problem
in the switching of the windows. Can anyone help me.
Best Regards,
Tiago Matias
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list