diff --git a/mousepad/mousepad-view.c b/mousepad/mousepad-view.c index 03f46094f..12eacb7b2 100644 --- a/mousepad/mousepad-view.c +++ b/mousepad/mousepad-view.c @@ -255,12 +255,21 @@ mousepad_view_buffer_changed (MousepadView *view, { GtkSourceStyleSchemeManager *manager; GtkSourceStyleScheme *scheme; + const gchar *scheme_id; + gboolean disable_highlight; manager = gtk_source_style_scheme_manager_get_default (); scheme = gtk_source_style_scheme_manager_get_scheme (manager, view->color_scheme ? view->color_scheme : ""); - gtk_source_buffer_set_style_scheme (buffer, scheme); + scheme_id = GTK_SOURCE_IS_STYLE_SCHEME (scheme) ? + gtk_source_style_scheme_get_id (scheme) : "none"; + + disable_highlight = (g_strcmp0 (scheme_id, "none") == 0); + if (disable_highlight) + scheme = gtk_source_style_scheme_manager_get_scheme (manager, "classic"); + gtk_source_buffer_set_style_scheme (buffer, scheme); + gtk_source_buffer_set_highlight_syntax (buffer, !disable_highlight); gtk_source_buffer_set_highlight_matching_brackets (buffer, view->match_braces); } } @@ -1097,7 +1106,7 @@ mousepad_view_selection_draw (MousepadView *view, /* calculate line coordinates */ gtk_text_view_buffer_to_window_coords(textview,GTK_TEXT_WINDOW_TEXT, rect.x,rect.y, &line_x,&line_y); - + /* draw a line in front of the iter */ gdk_draw_line (GDK_DRAWABLE (window), gtk_widget_get_style(GTK_WIDGET (view))->base_gc[GTK_STATE_SELECTED],