Protect the optional IM disabling calls with #ifdef:s
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f5a016a..a3e0931 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -303,6 +303,9 @@
# FLTK STR #xxxx
check_cxx_source_compiles("#include <FL/Fl.H>\nint main(int c, char** v) { Fl::add_xhandler(NULL, NULL); return 0; }" HAVE_FLTK_XHANDLERS)
+ # FLTK STR #xxxx
+ check_cxx_source_compiles("#include <FL/Fl.H>\nint main(int c, char** v) { Fl::disable_im(); return 0; }" HAVE_FLTK_IM)
+
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
endif()
diff --git a/config.h.in b/config.h.in
index bac626b..a50e723 100644
--- a/config.h.in
+++ b/config.h.in
@@ -18,6 +18,7 @@
#cmakedefine HAVE_FLTK_WORK_AREA
#cmakedefine HAVE_FLTK_ICONS
#cmakedefine HAVE_FLTK_XHANDLERS
+#cmakedefine HAVE_FLTK_IM
#cmakedefine HAVE_ACTIVE_DESKTOP_H
#cmakedefine HAVE_ACTIVE_DESKTOP_L
#cmakedefine ENABLE_NLS 1
diff --git a/vncviewer/Viewport.cxx b/vncviewer/Viewport.cxx
index ec48b02..595a4aa 100644
--- a/vncviewer/Viewport.cxx
+++ b/vncviewer/Viewport.cxx
@@ -410,7 +410,9 @@
return 1;
case FL_FOCUS:
+#ifdef HAVE_FLTK_IM
Fl::disable_im();
+#endif
// Yes, we would like some focus please!
return 1;
@@ -419,7 +421,9 @@
// sense (e.g. Alt+Tab where we only see the Alt press)
while (!downKeySym.empty())
handleKeyRelease(downKeySym.begin()->first);
+#ifdef HAVE_FLTK_IM
Fl::enable_im();
+#endif
return 1;
case FL_KEYDOWN: