It was possible to deselect items when using a touch screen. This is done
by tapping on an item that's already selected. This would cause a segfault
in the select_item() function of src/wofi.c since
gtk_flow_box_get_selected_children() would return NULL in this case. By
setting the selection mode to GTK_SELECTION_BROWSE, we avoid this case
by ensuring an item is always selected.
If out is not initialised, GLib will attempt to free the string automagically
later, leading to a crash. To reproduce, try running
wofi --define parse_search=true --define allow_markup=true --show dmenu,drun
../src/config.c: In function 'config_put':
../src/config.c:24: error: 'for' loop initial declaration used outside C99 mode
../src/config.c: In function 'config_get_mnemonic':
../src/config.c:82: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c: In function 'utils_concat':
../src/utils.c:37: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:44: error: redefinition of 'count'
../src/utils.c:37: error: previous definition of 'count' was here
../src/utils.c:44: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c: In function 'utils_distance':
../src/utils.c:75: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:78: error: redefinition of 'count'
../src/utils.c:75: error: previous definition of 'count' was here
../src/utils.c:78: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:83: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:84: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'get_search_text':
../modes/drun.c:85: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'get_action_text':
../modes/drun.c:132: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'get_action_actions':
../modes/drun.c:152: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'insert_dir':
../modes/drun.c:218: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'wofi_drun_init':
../modes/drun.c:267: error: 'for' loop initial declaration used outside C99 mode
../src/main.c: In function 'wofi_load_css':
../src/main.c:112: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function '_insert_widget':
../src/wofi.c:468: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:487: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:509: error: redefinition of 'count'
../src/wofi.c:487: error: previous definition of 'count' was here
../src/wofi.c:509: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:514: error: redefinition of 'count'
../src/wofi.c:509: error: previous definition of 'count' was here
../src/wofi.c:514: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'escape_lf':
../src/wofi.c:541: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'remove_escapes':
../src/wofi.c:561: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'wofi_create_widget':
../src/wofi.c:739: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:745: error: redefinition of 'count'
../src/wofi.c:739: error: previous definition of 'count' was here
../src/wofi.c:745: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'wofi_term_run':
../src/wofi.c:784: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'fuzzy_sort':
../src/wofi.c:856: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:862: error: redefinition of 'count'
../src/wofi.c:856: error: previous definition of 'count' was here
../src/wofi.c:862: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:868: error: redefinition of 'count'
../src/wofi.c:862: error: previous definition of 'count' was here
../src/wofi.c:868: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'move_pgup':
../src/wofi.c:1026: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'move_pgdn':
../src/wofi.c:1033: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'load_mode':
../src/wofi.c:1244: error: 'for' loop initial declaration used outside C99 mode