Suppress warnings in fl_init_xim. Only the very first warning message

will be issued (STR #2578).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8478 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Albrecht Schlosser
2011-02-26 14:14:50 +00:00
parent 10a07138b8
commit 58c94b9b33
+12 -7
View File
@@ -534,8 +534,10 @@ void fl_set_status(int x, int y, int w, int h)
XFree(status_attr);
}
void fl_init_xim()
{
void fl_init_xim() {
static int xim_warning = 2;
if (xim_warning > 0) xim_warning--;
//XIMStyle *style;
XIMStyles *xim_styles;
if (!fl_display) return;
@@ -549,24 +551,27 @@ void fl_init_xim()
XGetIMValues (fl_xim_im, XNQueryInputStyle,
&xim_styles, NULL, NULL);
} else {
Fl::warning("XOpenIM() failed");
if (xim_warning)
Fl::warning("XOpenIM() failed");
// if xim_styles is allocated, free it now
if(xim_styles) XFree(xim_styles);
if (xim_styles) XFree(xim_styles);
return;
}
if (xim_styles && xim_styles->count_styles) {
fl_new_ic();
} else {
Fl::warning("No XIM style found");
if (xim_warning)
Fl::warning("No XIM style found");
XCloseIM(fl_xim_im);
fl_xim_im = NULL;
// if xim_styles is allocated, free it now
if(xim_styles) XFree(xim_styles);
if (xim_styles) XFree(xim_styles);
return;
}
if (!fl_xim_ic) {
Fl::warning("XCreateIC() failed");
if (xim_warning)
Fl::warning("XCreateIC() failed");
XCloseIM(fl_xim_im);
fl_xim_im = NULL;
}