[geany/geany] 8812e3: Fix searching backwards from the Find dialog

Colomban Wendling git-noreply at xxxxx
Tue Aug 19 01:31:34 UTC 2014


Branch:      refs/heads/master
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Tue, 19 Aug 2014 01:31:34 UTC
Commit:      8812e39e2e937d1e7cfee1526af23e6ba3a45938
             https://github.com/geany/geany/commit/8812e39e2e937d1e7cfee1526af23e6ba3a45938

Log Message:
-----------
Fix searching backwards from the Find dialog

search_find_prev() wasn't properly updated to work on GeanyFindFlags
leading to incorrect flags handling.


Modified Paths:
--------------
    src/search.c
    src/symbols.c

Modified: src/search.c
24 lines changed, 12 insertions(+), 12 deletions(-)
===================================================================
@@ -2031,30 +2031,30 @@ static gint find_regex(ScintillaObject *sci, guint pos, GRegex *regex, GeanyMatc
 }
 
 
+static gint geany_find_flags_to_sci_flags(GeanyFindFlags flags)
+{
+	g_warn_if_fail(! (flags & GEANY_FIND_MULTILINE));
+
+	return ((flags & GEANY_FIND_MATCHCASE) ? SCFIND_MATCHCASE : 0) |
+		((flags & GEANY_FIND_WHOLEWORD) ? SCFIND_WHOLEWORD : 0) |
+		((flags & GEANY_FIND_REGEXP) ? SCFIND_REGEXP | SCFIND_POSIX : 0) |
+		((flags & GEANY_FIND_WORDSTART) ? SCFIND_WORDSTART : 0);
+}
+
+
 gint search_find_prev(ScintillaObject *sci, const gchar *str, gint flags, GeanyMatchInfo **match_)
 {
 	gint ret;
 
 	g_return_val_if_fail(! (flags & GEANY_FIND_REGEXP), -1);
 
-	ret = sci_search_prev(sci, flags, str);
+	ret = sci_search_prev(sci, geany_find_flags_to_sci_flags(flags), str);
 	if (ret != -1 && match_)
 		*match_ = match_info_new(flags, ret, ret + strlen(str));
 	return ret;
 }
 
 
-static gint geany_find_flags_to_sci_flags(gint flags)
-{
-	g_warn_if_fail(! (flags & GEANY_FIND_MULTILINE));
-
-	return ((flags & GEANY_FIND_MATCHCASE) ? SCFIND_MATCHCASE : 0) |
-		((flags & GEANY_FIND_WHOLEWORD) ? SCFIND_WHOLEWORD : 0) |
-		((flags & GEANY_FIND_REGEXP) ? SCFIND_REGEXP | SCFIND_POSIX : 0) |
-		((flags & GEANY_FIND_WORDSTART) ? SCFIND_WORDSTART : 0);
-}
-
-
 gint search_find_next(ScintillaObject *sci, const gchar *str, gint flags, GeanyMatchInfo **match_)
 {
 	GeanyMatchInfo *match;


Modified: src/symbols.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -2332,7 +2332,7 @@ static void on_find_usage(GtkWidget *widget, G_GNUC_UNUSED gpointer unused)
 		if (widget == symbol_menu.find_in_files)
 			search_show_find_in_files_dialog_full(tag->name, NULL);
 		else
-			search_find_usage(tag->name, tag->name, SCFIND_WHOLEWORD | SCFIND_MATCHCASE,
+			search_find_usage(tag->name, tag->name, GEANY_FIND_WHOLEWORD | GEANY_FIND_MATCHCASE,
 				widget == symbol_menu.find_usage);
 
 		tm_tag_unref(tag);



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list