}
int
-UI::load_rcfile (string path)
+UI::load_rcfile (string path, bool themechange)
{
if (path.length() == 0) {
return -1;
}
RC rc (path.c_str());
+ // RC::reset_styles (Gtk::Settings::get_default());
+ gtk_rc_reset_styles (gtk_settings_get_default());
+ theme_changed.emit();
+
+ if (themechange) {
+ return 0; //Don't continue on every time there is a theme change
+ }
/* have to pack widgets into a toplevel window so that styles will stick */
info_mtag->property_foreground_gdk().set_value(style->get_fg(STATE_NORMAL));
info_mtag->property_background_gdk().set_value(style->get_bg(STATE_NORMAL));
-
- RC::reset_styles(Gtk::Settings::get_default());
-
- theme_changed.emit();
-
return 0;
}
RefPtr<Style> style;
RefPtr<TextBuffer::Tag> ptag;
RefPtr<TextBuffer::Tag> mtag;
- char *prefix;
+ const char *prefix;
size_t prefix_len;
bool fatal_received = false;
#ifndef OLD_STYLE_ERRORS
bool
UI::just_hide_it (GdkEventAny *ev, Window *win)
{
- win->hide_all ();
+ win->hide ();
return true;
}