demo: Fix crash when there are no supported devices

Handle the empty list output from fp_discover_devs() when there are no
supported devices.

Closes: #146
This commit is contained in:
Bastien Nocera 2019-01-21 15:28:33 +01:00
parent ea6820ed51
commit b9af7952a4

View file

@ -473,8 +473,17 @@ libfprint_demo_window_init (LibfprintDemoWindow *window)
setup_pollfds (); setup_pollfds ();
discovered_devs = fp_discover_devs(); discovered_devs = fp_discover_devs();
if (!discovered_devs) if (!discovered_devs) {
libfprint_demo_set_mode (window, ERROR_MODE);
return; return;
}
/* Empty list? */
if (discovered_devs[0] == NULL) {
fp_dscv_devs_free (discovered_devs);
libfprint_demo_set_mode (window, EMPTY_MODE);
return;
}
if (!fp_driver_supports_imaging(fp_dscv_dev_get_driver(discovered_devs[0]))) { if (!fp_driver_supports_imaging(fp_dscv_dev_get_driver(discovered_devs[0]))) {
libfprint_demo_set_mode (window, NOIMAGING_MODE); libfprint_demo_set_mode (window, NOIMAGING_MODE);