Module: wine Branch: master Commit: 0bcc941f964853d17230d74ce06877ea28f96a2e URL: http://source.winehq.org/git/wine.git/?a=commit;h=0bcc941f964853d17230d74ce0...
Author: Aric Stewart aric@codeweavers.com Date: Tue Oct 24 12:17:40 2006 -0500
winex11.drv: Only create a fontSet if we are going to be using it in the XIC.
---
dlls/winex11.drv/xim.c | 29 +++++++++++++++++------------ 1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c index ff98f01..2be9dd2 100644 --- a/dlls/winex11.drv/xim.c +++ b/dlls/winex11.drv/xim.c @@ -456,7 +456,7 @@ err:
XIC X11DRV_CreateIC(XIM xim, Display *display, Window win) { - XFontSet fontSet; + XFontSet fontSet = NULL; char **list; int count; XPoint spot = {0}; @@ -485,22 +485,27 @@ XIC X11DRV_CreateIC(XIM xim, Display *di return xic; }
- fontSet = XCreateFontSet(display, - "*", /*FIXME*/ - &list, &count, NULL);
- TRACE("ximFontSet = %p\n", fontSet); - TRACE("list = %p, count = %d\n", list, count); - - if (list != NULL) + if (((ximStyle & (XIMPreeditNothing | XIMPreeditNone)) == 0) || + ((ximStyle & (XIMStatusNothing | XIMStatusNone)) == 0)) { - int i; + fontSet = XCreateFontSet(display, + "*", /*FIXME*/ + &list, &count, NULL); + + TRACE("ximFontSet = %p\n", fontSet); + TRACE("list = %p, count = %d\n", list, count);
- for (i = 0; i < count; ++i) + if (list != NULL) { - TRACE("list[%d] = %s\n", i, list[i]); + int i; + + for (i = 0; i < count; ++i) + { + TRACE("list[%d] = %s\n", i, list[i]); + } + XFreeStringList(list); } - XFreeStringList(list); }
/* create callbacks */