fix odd double conditional
[ardour.git] / gtk2_ardour / ardour_ui.cc
index 22be829f2ba54e324be4d9cdf3a228344432d9bb..2ef51d80ecce420f3c6ee322d73ea0c78c1bae60 100644 (file)
@@ -491,6 +491,10 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
        /* do not retain position for add route dialog */
        add_route_dialog.set_state_mask (WindowProxy::Size);
 
+       /* Trigger setting up the color scheme and loading the GTK RC file */
+
+       UIConfiguration::instance().load_rc_file (false);
+
        _process_thread = new ProcessThread ();
        _process_thread->init ();
 
@@ -2302,7 +2306,12 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
        if (affect_transport) {
                if (rolling) {
                        _session->request_stop (with_abort, true);
-               } else {
+
+               } else if (!with_abort) { /* with_abort == true means the
+                                          * command was intended to stop
+                                          * transport, not start.
+                                          */
+
                        /* the only external sync condition we can be in here
                         * would be Engine (JACK) sync, in which case we still
                         * want to do this.
@@ -5629,9 +5638,7 @@ void
 ARDOUR_UI::cancel_solo ()
 {
        if (_session) {
-               if (_session) {
-                       _session->set_controls (route_list_to_control_list (_session->get_routes(), &Stripable::solo_control), 0.0, Controllable::NoGroup);
-               }
+               _session->set_controls (route_list_to_control_list (_session->get_routes(), &Stripable::solo_control), 0.0, Controllable::NoGroup);
                _session->clear_all_solo_state (_session->get_routes()); // safeguard, ideally this won't do anything, check the log-window
        }
 }