[Spice-devel] [PATCH spice 1/1] spicec-win: map title string from utf8 to utf16

Arnon Gilboa agilboa at redhat.com
Sun Oct 24 08:54:39 PDT 2010


Fix win client broken by the utf8 patch.
---
 client/windows/red_window.cpp |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/client/windows/red_window.cpp b/client/windows/red_window.cpp
index 8248aee..145f6b2 100644
--- a/client/windows/red_window.cpp
+++ b/client/windows/red_window.cpp
@@ -448,7 +448,14 @@ RedWindow::~RedWindow()
 
 void RedWindow::set_title(std::string& title)
 {
-    SetWindowText(_win, title.c_str());
+    int len = MultiByteToWideChar(CP_UTF8, 0, title.c_str(), title.length(), NULL, 0) + 1;
+    WCHAR* wtitle = new WCHAR[len * sizeof(WCHAR)];
+
+    if (MultiByteToWideChar(CP_UTF8, 0, title.c_str(), title.length(), wtitle, len)) {
+        wtitle[len - 1] = L'\0';
+        SetWindowText(_win, wtitle);
+    }
+    delete []wtitle;
 }
 
 void RedWindow::set_icon(Icon* icon)
-- 
1.5.5.6



More information about the Spice-devel mailing list