Don't fail on unrecognized split method
authorP. F. Chimento <philip.chimento@gmail.com>
Thu, 21 Apr 2011 09:52:16 +0000 (11:52 +0200)
committerP. F. Chimento <philip.chimento@gmail.com>
Thu, 21 Apr 2011 09:52:16 +0000 (11:52 +0200)
If glk_window_open() gets unrecognized bits in the method argument, it
should give a warning instead of failing to create the window.

libchimara/window.c

index 41bd9f0f6856928664acebda755380a669a20495..b4d8897e1e738a8a3146ce91222cf08e5e958f81 100644 (file)
@@ -458,8 +458,9 @@ glk_window_open(winid_t split, glui32 method, glui32 size, glui32 wintype,
                 glui32 rock)
 {
        VALID_WINDOW_OR_NULL(split, return NULL);
-       g_return_val_if_fail(method == (method & (winmethod_DirMask | winmethod_DivisionMask)), NULL);
-       g_return_val_if_fail(!(((method & winmethod_DivisionMask) == winmethod_Proportional) && size > 100), NULL);     
+       g_return_val_if_fail(!(((method & winmethod_DivisionMask) == winmethod_Proportional) && size > 100), NULL);
+       if(method != (method & (winmethod_DirMask | winmethod_DivisionMask | winmethod_BorderMask)))
+               WARNING("Unrecognized bits in method constant");
 
        ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);