summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/gtk_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-07-17 22:12:21 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-07-17 22:12:21 +0000
commit7884727e78f9e2253b2b6d8ef441fa07272fe950 (patch)
tree4423ba4629082439a5c1be07e94682c1d3d41f80 /libs/gtkmm2ext/gtk_ui.cc
parent0102b1dc93f0ad0a5ba5516cd3cc24b9cd8e240b (diff)
massive changes to waf build scripts so that nearly everything "should" be working now except for i18n (OSC is not quite right) ; some preliminary work on post-main-out handling, incomplete; a couple of fixes from -Wall and valgrind
git-svn-id: svn://localhost/ardour2/branches/3.0@5371 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext/gtk_ui.cc')
-rw-r--r--libs/gtkmm2ext/gtk_ui.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/libs/gtkmm2ext/gtk_ui.cc b/libs/gtkmm2ext/gtk_ui.cc
index 7b60d6ba52..bf85333541 100644
--- a/libs/gtkmm2ext/gtk_ui.cc
+++ b/libs/gtkmm2ext/gtk_ui.cc
@@ -220,7 +220,10 @@ UI::run (Receiver &old_receiver)
listen_to (warning);
listen_to (fatal);
- old_receiver.hangup ();
+ /* stop the old receiver (text/console) once we hit the first idle */
+
+ Glib::signal_idle().connect (bind_return (mem_fun (old_receiver, &Receiver::hangup), false));
+
starting ();
_active = true;
theMain->run ();
@@ -529,10 +532,10 @@ UI::display_message (const char *prefix, gint prefix_len, RefPtr<TextBuffer::Tag
void
UI::handle_fatal (const char *message)
{
- Window win (WINDOW_POPUP);
- VBox packer;
+ Dialog win;
Label label (message);
Button quit (_("Press To Exit"));
+ HBox hpacker;
win.set_default_size (400, 100);
@@ -542,10 +545,12 @@ UI::handle_fatal (const char *message)
win.set_title (title);
win.set_position (WIN_POS_MOUSE);
- win.add (packer);
+ win.set_border_width (12);
+
+ win.get_vbox()->pack_start (label, true, true);
+ hpacker.pack_start (quit, true, false);
+ win.get_vbox()->pack_start (hpacker, false, false);
- packer.pack_start (label, true, true);
- packer.pack_start (quit, false, false);
quit.signal_clicked().connect(mem_fun(*this,&UI::quit));
win.show_all ();
@@ -553,7 +558,7 @@ UI::handle_fatal (const char *message)
theMain->run ();
- exit (1);
+ _exit (1);
}
void