<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">diff --git a/src/unix/fcitx/surrounding_text_util.cc b/src/unix/fcitx/surrounding_text_util.cc
index b2d533c..76357cd 100644
--- a/src/unix/fcitx/surrounding_text_util.cc
+++ b/src/unix/fcitx/surrounding_text_util.cc
@@ -233,9 +233,9 @@ bool GetSurroundingText(FcitxInstance* instance,
 
     const size_t selection_start = std::min(cursor_pos, anchor_pos);
     const size_t selection_length = std::abs(info-&gt;relative_selected_length);
-    info-&gt;preceding_text = Util::Utf8SubString(surrounding_text, 0, selection_start);
-    info-&gt;selection_text = Util::Utf8SubString(surrounding_text, selection_start, selection_length);
-    info-&gt;following_text = Util::Utf8SubString(surrounding_text, selection_start + selection_length);
+    info-&gt;preceding_text = std::string(Util::Utf8SubString(surrounding_text, 0, selection_start));
+    info-&gt;selection_text = std::string(Util::Utf8SubString(surrounding_text, selection_start, selection_length));
+    info-&gt;following_text = std::string(Util::Utf8SubString(surrounding_text, selection_start + selection_length));
     return true;
 }

diff --git a/src/unix/fcitx/eim.cc b/src/unix/fcitx/eim.cc
index 4da2e80..fc7a9ff 100644
--- a/src/unix/fcitx/eim.cc
+++ b/src/unix/fcitx/eim.cc
@@ -33,6 +33,7 @@
 #include &lt;fcitx/module.h&gt;
 #include &lt;fcitx/keys.h&gt;
 #include &lt;fcitx-config/xdg.h&gt;
+#undef InvokeFunction
 #include "fcitx_mozc.h"
 #include "mozc_connection.h"
 #include "mozc_response_parser.h
</pre></body></html>