diff -Nru gtksourceview2-2.10.5/debian/changelog gtksourceview2-2.10.5/debian/changelog --- gtksourceview2-2.10.5/debian/changelog 2014-09-06 16:32:28.000000000 +0400 +++ gtksourceview2-2.10.5/debian/changelog 2015-03-10 16:51:47.000000000 +0300 @@ -1,3 +1,11 @@ +gtksourceview2 (2.10.5-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * fix-invalidate.patch: new patch. Don't invalidate region when + text is deleted and engine is disabled. Fixes crash. + + -- Vlad Orlov Tue, 10 Mar 2015 16:50:14 +0300 + gtksourceview2 (2.10.5-2) unstable; urgency=medium * Team upload. diff -Nru gtksourceview2-2.10.5/debian/patches/fix-invalidate.patch gtksourceview2-2.10.5/debian/patches/fix-invalidate.patch --- gtksourceview2-2.10.5/debian/patches/fix-invalidate.patch 1970-01-01 03:00:00.000000000 +0300 +++ gtksourceview2-2.10.5/debian/patches/fix-invalidate.patch 2015-03-10 16:51:57.000000000 +0300 @@ -0,0 +1,71 @@ +From abef41da8c541c814bf631f69c92e0c431c610ad Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Aliste?= +Date: Sat, 25 Dec 2010 23:55:53 -0300 +Subject: contextengine: don't invalidate region when text is deleted and + engine is disabled. + +Fixes bug #607677 + +Index: gtksourceview2-2.10.5/gtksourceview/gtksourcecontextengine.c +=================================================================== +--- gtksourceview2-2.10.5.orig/gtksourceview/gtksourcecontextengine.c ++++ gtksourceview2-2.10.5/gtksourceview/gtksourcecontextengine.c +@@ -2003,26 +2003,23 @@ gtk_source_context_engine_text_inserted + GtkTextIter iter; + GtkSourceContextEngine *ce = GTK_SOURCE_CONTEXT_ENGINE (engine); + +- /* Happens when highlighting is disabled */ +- if (ce->priv->buffer == NULL) ++ if (!ce->priv->disabled) + { +- return; +- } +- +- g_return_if_fail (start_offset < end_offset); ++ g_return_if_fail (start_offset < end_offset); + +- invalidate_region (ce, start_offset, end_offset - start_offset); ++ invalidate_region (ce, start_offset, end_offset - start_offset); + +- /* If end_offset is at the start of a line (enter key pressed) then +- * we need to invalidate the whole new line, otherwise it may not be +- * highlighted because the engine analyzes the previous line, end +- * context there is none, start context at this line is none too, +- * and the engine stops. */ +- gtk_text_buffer_get_iter_at_offset (ce->priv->buffer, &iter, end_offset); +- if (gtk_text_iter_starts_line (&iter) && !gtk_text_iter_ends_line (&iter)) +- { +- gtk_text_iter_forward_to_line_end (&iter); +- invalidate_region (ce, gtk_text_iter_get_offset (&iter), 0); ++ /* If end_offset is at the start of a line (enter key pressed) then ++ * we need to invalidate the whole new line, otherwise it may not be ++ * highlighted because the engine analyzes the previous line, end ++ * context there is none, start context at this line is none too, ++ * and the engine stops. */ ++ gtk_text_buffer_get_iter_at_offset (ce->priv->buffer, &iter, end_offset); ++ if (gtk_text_iter_starts_line (&iter) && !gtk_text_iter_ends_line (&iter)) ++ { ++ gtk_text_iter_forward_to_line_end (&iter); ++ invalidate_region (ce, gtk_text_iter_get_offset (&iter), 0); ++ } + } + } + +@@ -2147,10 +2144,14 @@ gtk_source_context_engine_text_deleted ( + gint offset, + gint length) + { ++ GtkSourceContextEngine *ce = GTK_SOURCE_CONTEXT_ENGINE (engine); ++ + g_return_if_fail (length > 0); +- invalidate_region (GTK_SOURCE_CONTEXT_ENGINE (engine), +- offset, +- - length); ++ ++ if (!ce->priv->disabled) ++ { ++ invalidate_region (ce, offset, - length); ++ } + } + + /** diff -Nru gtksourceview2-2.10.5/debian/patches/series gtksourceview2-2.10.5/debian/patches/series --- gtksourceview2-2.10.5/debian/patches/series 2014-09-06 16:32:28.000000000 +0400 +++ gtksourceview2-2.10.5/debian/patches/series 2015-03-10 16:51:51.000000000 +0300 @@ -1,2 +1,3 @@ drop-gettext-configure.patch 99_ltmain_as-needed.patch +fix-invalidate.patch