set WM_NAME and WN_ICON_NAME properly
Kusanagi Kouichi
slash at ma.neweb.ne.jp
Tue Jun 10 12:20:10 CDT 2003
X11DRV_SetWindowText() sets WM_NAME and WM_ICON_NAME as type STRING
regardless of actual encoding. They should be stored in COMPOUND_TEXT
format.
-------------- next part --------------
diff -uNr wine-20030508.orig/dlls/x11drv/window.c wine-20030508/dlls/x11drv/window.c
--- wine-20030508.orig/dlls/x11drv/window.c 2003-05-04 11:27:20.000000000 +0900
+++ wine-20030508/dlls/x11drv/window.c 2003-06-09 23:55:41.000000000 +0900
@@ -770,6 +770,7 @@
char *utf8_buffer;
static UINT text_cp = (UINT)-1;
Window win;
+ XTextProperty prop;
if ((win = X11DRV_get_whole_window( hwnd )))
{
@@ -807,8 +808,12 @@
WideCharToMultiByte(CP_UTF8, 0, text, strlenW(text), utf8_buffer, count, NULL, NULL);
wine_tsx11_lock();
- XStoreName( display, win, buffer );
- XSetIconName( display, win, buffer );
+ if (XmbTextListToTextProperty( display, &buffer, 1, XStdICCTextStyle, &prop ) == Success)
+ {
+ XSetWMName( display, win, &prop );
+ XSetWMIconName( display, win, &prop );
+ XFree( prop.value );
+ }
/*
Implements a NET_WM UTF-8 title. It should be without a trailing \0,
according to the standard
More information about the wine-patches
mailing list