[gtksourceview] Correctly scan all regions when removing a range
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtksourceview] Correctly scan all regions when removing a range
- Date: Sat, 28 Nov 2009 23:01:11 +0000 (UTC)
commit 2e5428c09906a1d5b6c704635cadc5d5aadbe4b4
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Sat Nov 28 22:53:57 2009 +0100
Correctly scan all regions when removing a range
A small bug in not correctly iterating over all the regions in the list when
the first region in the list was removed.
.../words/gtksourcecompletionwordsbuffer.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c b/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c
index 2d3dc58..972b17d 100644
--- a/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c
+++ b/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c
@@ -331,7 +331,9 @@ remove_scan_regions (GtkSourceCompletionWordsBuffer *buffer,
GList *item;
gint span = end - start + 1;
- for (item = buffer->priv->scan_regions; item; item = g_list_next (item))
+ item = buffer->priv->scan_regions;
+
+ while (item != NULL)
{
ScanRegion *region = REGION_FROM_LIST (item);
@@ -343,17 +345,19 @@ remove_scan_regions (GtkSourceCompletionWordsBuffer *buffer,
GList *remove = item;
scan_region_free (region);
- item = g_list_previous (item);
+ item = g_list_next (item);
/* Remove whole thing */
buffer->priv->scan_regions =
g_list_delete_link (buffer->priv->scan_regions,
remove);
+ continue;
}
else if (region->start <= end)
{
/* Top part of region in removed region */
- region->start = end;
+ region->start = end + 1;
+ region->end -= span;
}
else
{
@@ -371,6 +375,8 @@ remove_scan_regions (GtkSourceCompletionWordsBuffer *buffer,
{
region->end -= span;
}
+
+ item = g_list_next (item);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]