summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
authorJohn Emmas <johne53@tiscali.co.uk>2013-10-11 18:23:53 +0100
committerJohn Emmas <johne53@tiscali.co.uk>2013-10-11 18:23:53 +0100
commitfa71d82dda08558caf4a9c5102016f2746883d10 (patch)
treeaa5d0b7bc074a8d06e3cdb23ad0d4e1646c64c99 /libs/gtkmm2ext
parent300b484cf6ac14c15e365c4062345d64a61c4b18 (diff)
parent2a6a16f980ff9181b138f7a30aedfbde4426a591 (diff)
Merge branch 'windows' into windows+cc
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/gtk_ui.cc10
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/gtk_ui.h3
2 files changed, 7 insertions, 6 deletions
diff --git a/libs/gtkmm2ext/gtk_ui.cc b/libs/gtkmm2ext/gtk_ui.cc
index 9c20da0f4c..cd7ab1537a 100644
--- a/libs/gtkmm2ext/gtk_ui.cc
+++ b/libs/gtkmm2ext/gtk_ui.cc
@@ -120,9 +120,9 @@ UI::UI (string namestr, int *argc, char ***argv)
UI::~UI ()
{
+ _receiver.hangup ();
}
-
bool
UI::caller_is_ui_thread ()
{
@@ -265,12 +265,14 @@ UI::run (Receiver &old_receiver)
Glib::signal_idle().connect (bind_return (mem_fun (old_receiver, &Receiver::hangup), false));
- starting ();
+ if (starting ()) {
+ return;
+ }
+
_active = true;
theMain->run ();
_active = false;
- stopping ();
- _receiver.hangup ();
+
return;
}
diff --git a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h
index a758ad78f4..9fa9e99fe8 100644
--- a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h
+++ b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h
@@ -156,8 +156,7 @@ class UI : public AbstractUI<UIRequest>
stopping just after we return from it (at the top level)
*/
- sigc::signal<void> starting;
- sigc::signal<void> stopping;
+ virtual int starting() = 0;
sigc::signal<void> theme_changed;