Hi,

On 10/24/2010 05:54 PM, Arnon Gilboa wrote:
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)


Hmm, sorry about this, the reason that I assumed that using SetWindowText with a
UTF-8 string would work fine is because Microsoft's documentation says that
it takes a const char *, not a const wchar *:
http://msdn.microsoft.com/en-us/library/ms633546%28VS.85%29.aspx

Are we compiling with some define which turns all non unicode functions into
their unicode equivalents?

Regards,

Hans
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to