diff --git a/libs/gtkmm2ext/gtk_ui.cc b/libs/gtkmm2ext/gtk_ui.cc index a12bef593b..bebe6c09a9 100644 --- a/libs/gtkmm2ext/gtk_ui.cc +++ b/libs/gtkmm2ext/gtk_ui.cc @@ -565,13 +565,27 @@ UI::process_error_message (Transmitter::Channel chn, const char *str) display_message (prefix, prefix_len, ptag, mtag, str); if (!errors->is_visible() && chn != Transmitter::Info) { - toggle_errors(); + show_errors (); } } errors->text().get_buffer()->end_user_action(); } +void +UI::show_errors () +{ + Glib::RefPtr act = ActionManager::get_action (X_("Editor"), X_("toggle-log-window")); + if (!act) { + return; + } + + Glib::RefPtr tact = Glib::RefPtr::cast_dynamic (act); + if (tact) { + tact->set_active (); + } +} + void UI::toggle_errors () { diff --git a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h index 49dd78a6d4..bba3fb6fdf 100644 --- a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h +++ b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h @@ -117,6 +117,7 @@ class UI : public Receiver, public AbstractUI void popup_error (const std::string& text); void flush_pending (); void toggle_errors (); + void show_errors (); void touch_display (Touchable *); void set_tip (Gtk::Widget &w, const gchar *tip); void set_tip (Gtk::Widget &w, const std::string &tip);