Browse Source

Fix STR #2470. Don't call Xutf8TextPropertyToTextList if X_HAVE_UTF8_STRING isn't defined

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
pull/49/head
Manolo Gouy 15 years ago
parent
commit
271e1d8212
  1. 11
      src/Fl_x.cxx

11
src/Fl_x.cxx

@ -955,14 +955,19 @@ int fl_handle(const XEvent& thisevent)
text_prop.encoding=actual; text_prop.encoding=actual;
text_prop.nitems=count; text_prop.nitems=count;
char **text_list; char **text_list;
#ifndef X_HAVE_UTF8_STRING
text_list = (char**)&portion;
#else
int list_count; int list_count;
Xutf8TextPropertyToTextList(fl_display, Xutf8TextPropertyToTextList(fl_display, (const XTextProperty*)&text_prop, &text_list, &list_count);
+ (const XTextProperty*)&text_prop, &text_list, &list_count); #endif
int bytesnew = strlen(*text_list)+1; int bytesnew = strlen(*text_list)+1;
XFree(portion);
buffer = (unsigned char*)realloc(buffer, bytesread+bytesnew+remaining); buffer = (unsigned char*)realloc(buffer, bytesread+bytesnew+remaining);
memcpy(buffer+bytesread, *text_list, bytesnew); memcpy(buffer+bytesread, *text_list, bytesnew);
XFree(portion);
#ifdef X_HAVE_UTF8_STRING
XFreeStringList(text_list); XFreeStringList(text_list);
#endif
bytesread += bytesnew - 1; bytesread += bytesnew - 1;
if (!remaining) break; if (!remaining) break;
} }

Loading…
Cancel
Save