Added gdk_thread_enter() and _leave() to glk_cancel_line_input(). Fix #38.
[rodin/chimara.git] / libchimara / gestalt.c
index 398aede093e5839e12fbeb1d6001dde22bddb706..2316dca52cc9992e6abe2d498ff2b7ff1342e944 100644 (file)
@@ -90,10 +90,10 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
                        /* All characters are printed as one character, in any case */
                        if(arr && arrlen > 0)
                                *arr = 1;
-                       /* Cannot print control chars except \n, or chars > 255 */
-                       if( (val < 32 && val != 10) || (val >= 127 && val <= 159) || (val > 255) )
+                       /* Cannot print control chars except \n */
+                       if( (val < 32 && val != 10) || (val >= 127 && val <= 159) )
                                return gestalt_CharOutput_CannotPrint;
-                       /* Can print all other Latin-1 characters */
+                       /* Can print all other characters */
                        return gestalt_CharOutput_ExactPrint;
                
                /* Unicode capabilities present */
@@ -103,6 +103,14 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
                /* Timer capabilities present */
                case gestalt_Timer:
                        return 1;
+
+               /* Hyperlink capabilities present */
+               case gestalt_Hyperlinks:
+                       return 1;
+
+               /* Hyperlinks supported on textbuffers only at the moment */
+               case gestalt_HyperlinkInput:
+                       return val == wintype_TextBuffer;
                        
                /* Unsupported capabilities */
                case gestalt_MouseInput:
@@ -111,8 +119,6 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
                case gestalt_Sound:
                case gestalt_SoundVolume:
                case gestalt_SoundNotify:
-               case gestalt_Hyperlinks:
-               case gestalt_HyperlinkInput:
                case gestalt_SoundMusic:
                case gestalt_GraphicsTransparency:
                /* Selector not supported */