[gtksourceview] SearchContext: fix regex-error and regex-state consistency
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] SearchContext: fix regex-error and regex-state consistency
- Date: Sat, 24 Aug 2013 17:16:02 +0000 (UTC)
commit c525a78164fb1e7ea36a13354e0c28ce73a742ab
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sat Aug 24 19:11:20 2013 +0200
SearchContext: fix regex-error and regex-state consistency
gtksourceview/gtksourcesearchcontext.c | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/gtksourceview/gtksourcesearchcontext.c b/gtksourceview/gtksourcesearchcontext.c
index deed7d8..1a392df 100644
--- a/gtksourceview/gtksourcesearchcontext.c
+++ b/gtksourceview/gtksourcesearchcontext.c
@@ -519,6 +519,9 @@ clear_task (GtkSourceSearchContext *search)
static void
clear_search (GtkSourceSearchContext *search)
{
+ gboolean regex_state_changed = FALSE;
+ gboolean regex_error_changed = FALSE;
+
if (search->priv->scan_region != NULL)
{
gtk_text_region_destroy (search->priv->scan_region, TRUE);
@@ -541,12 +544,25 @@ clear_search (GtkSourceSearchContext *search)
{
g_error_free (search->priv->regex_error);
search->priv->regex_error = NULL;
- g_object_notify (G_OBJECT (search), "regex-error");
+ regex_error_changed = TRUE;
}
if (search->priv->regex_state != GTK_SOURCE_REGEX_SEARCH_NO_ERROR)
{
search->priv->regex_state = GTK_SOURCE_REGEX_SEARCH_NO_ERROR;
+ regex_state_changed = TRUE;
+ }
+
+ /* Notify the regex-error and the regex-state after clearing both
+ * values, to be in a consistent state.
+ */
+ if (regex_error_changed)
+ {
+ g_object_notify (G_OBJECT (search), "regex-error");
+ }
+
+ if (regex_state_changed)
+ {
g_object_notify (G_OBJECT (search), "regex-state");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]