<p>Fedora 27, geany-1.33-1.fc27.x86_64</p>
<p>Steps to repro:</p>
<ol>
<li>
<p>Open document multiple spaces between words.</p>
</li>
<li>
<p>From menu choose <code>Search|Replace</code></p>
</li>
<li>
<p>Fill in the replace dialogue:<br>
<code>Search for:</code> <br>
<code>Replace</code>: <br>
Only tick boxes: <code>use escape sequences</code>, <code>close dialogue</code></p>
</li>
<li>
<p>Click <code>In document</code></p>
</li>
<li>
<p>Geany is spinning with the following callstack</p>
</li>
</ol>
<p><code>#0 0x00007f06cfcbcef8 in Document::NextPosition(int, int) const () at /lib64/libgeany.so.0 #1 0x00007f06cfcbd9ef in Document::CountCharacters(int, int) const () at /lib64/libgeany.so.0 #2 0x00007f06cfc9d36e in ScintillaGTKAccessible::UpdateCursor() () at /lib64/libgeany.so.0 #3 0x00007f06cfc9ea37 in ScintillaGTKAccessible::Notify(_GtkWidget*, int, SCNotification*) () at /lib64/libgeany.so.0 #4 0x00007f06cfc9ede7 in ScintillaGTKAccessible::SciNotify(_GtkWidget*, int, SCNotification*, void*) () at /lib64/libgeany.so.0 #5 0x00007f06cdc2973d in g_closure_invoke () at /lib64/libgobject-2.0.so.0 #6 0x00007f06cdc3c4ce in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0 #7 0x00007f06cdc44cf5 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #8 0x00007f06cdc4565f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #9 0x00007f06cfc931ef in ScintillaGTK::NotifyParent(SCNotification) () at /lib64/libgeany.so.0 #10 0x00007f06cfcd4319 in Editor::NotifyModified(Document*, DocModification, void*) () at /lib64/libgeany.so.0 #11 0x00007f06cfcbef16 in Document::NotifyModified(DocModification) () at /lib64/libgeany.so.0 #12 0x00007f06cfcc0cd5 in Document::InsertString(int, char const*, int) [clone .part.69] () at /lib64/libgeany.so.0 #13 0x00007f06cfcd4a7b in Editor::ReplaceTarget(bool, char const*, int) () at /lib64/libgeany.so.0 #14 0x00007f06cfcda17c in Editor::WndProc(unsigned int, unsigned long, long) () at /lib64/libgeany.so.0 #15 0x00007f06cfc996c6 in ScintillaGTK::WndProc(unsigned int, unsigned long, long) () at /lib64/libgeany.so.0 #16 0x00007f06cfc65902 in sci_send_message_internal () at /lib64/libgeany.so.0 #17 0x00007f06cfc670af in sci_replace_target () at /lib64/libgeany.so.0 #18 0x00007f06cfc6d38c in search_replace_range () at /lib64/libgeany.so.0 #19 0x00007f06cfc2cd22 in document_replace_range () at /lib64/libgeany.so.0 #20 0x00007f06cfc2ec69 in document_replace_all () at /lib64/libgeany.so.0 #21 0x00007f06cfc6899b in on_replace_dialog_response () at /lib64/libgeany.so.0 #22 0x00007f06cdc2b7d1 in g_cclosure_marshal_VOID__BOOLEANv () at /lib64/libgobject-2.0.so.0 #23 0x00007f06cdc29976 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0 #24 0x00007f06cdc44fe4 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #25 0x00007f06cdc4565f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #26 0x00007f06cdc29976 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0 #27 0x00007f06cdc44fe4 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #28 0x00007f06cdc4565f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #29 0x00007f06cf3fb69d in gtk_button_do_release () at /lib64/libgtk-3.so.0 #30 0x00007f06cf3fb6f5 in gtk_real_button_released () at /lib64/libgtk-3.so.0 #31 0x00007f06cdc29976 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0 #32 0x00007f06cdc44fe4 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #33 0x00007f06cdc4565f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #34 0x00007f06cf3f9b40 in multipress_released_cb () at /lib64/libgtk-3.so.0 #35 0x00007f06c88f5d1e in ffi_call_unix64 () at /lib64/libffi.so.6 #36 0x00007f06c88f568f in ffi_call () at /lib64/libffi.so.6 #37 0x00007f06cdc2a31d in g_cclosure_marshal_generic_va () at /lib64/libgobject-2.0.so.0 #38 0x00007f06cdc29976 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0 #39 0x00007f06cdc44fe4 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #40 0x00007f06cdc4565f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #41 0x00007f06cf4b80d1 in gtk_gesture_multi_press_end () at /lib64/libgtk-3.so.0 #42 0x00007f06cdc2c638 in g_cclosure_marshal_VOID__BOXEDv () at /lib64/libgobject-2.0.so.0 #43 0x00007f06cdc29976 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0 #44 0x00007f06cdc44fe4 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #45 0x00007f06cdc4565f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #46 0x00007f06cf4b533e in _gtk_gesture_check_recognized () at /lib64/libgtk-3.so.0 #47 0x00007f06cf4b693b in gtk_gesture_handle_event () at /lib64/libgtk-3.so.0 #48 0x00007f06cf4b963e in gtk_gesture_single_handle_event () at /lib64/libgtk-3.so.0 #49 0x00007f06cf486801 in gtk_event_controller_handle_event () at /lib64/libgtk-3.so.0 #50 0x00007f06cf64aa2b in _gtk_widget_run_controllers () at /lib64/libgtk-3.so.0</code></p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/1964">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ2yCo8iiyGBq23zn-1oCu88gbhcOks5ufcpSgaJpZM4W99m7">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ4oSEbQaQUPVUdhFEW3483neb00Fks5ufcpSgaJpZM4W99m7.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"Replacing two spaces with single space in document makes geany stop responding (#1964)"}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1964"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/issues/1964",
"url": "https://github.com/geany/geany/issues/1964",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Replacing two spaces with single space in document makes geany stop responding (#1964)",
"sections": [
{
"text": "",
"activityTitle": "**mafjmafj**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@mafjmafj",
"facts": [
{
"name": "Repository: ",
"value": "geany/geany"
},
{
"name": "Issue #: ",
"value": 1964
}
]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"geany/geany\",\n\"issueId\": 1964,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close issue",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueClose\",\n\"repositoryFullName\": \"geany/geany\",\n\"issueId\": 1964\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/geany/geany/issues/1964"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 385341883\n}"
}
],
"themeColor": "26292E"
}
]</script>