switch (gtk_combo_box_get_active(combo)) {
case 0:
gtk_widget_show_all(GTK_WIDGET(none_label));
- g_debug("Showing label\n");
break;
case 1:
gtk_widget_show_all(GTK_WIDGET(keys_scroll));
-1);
g_debug("Clearing scancode for button %s\n", button_entry->name);
- gconf_client_unset(gcc, button_entry->gconf_key, NULL);
+ gconf_client_set_int(gcc, button_entry->gconf_key, 0, NULL);
+ // prefer 0 value over unset key.
button_entry->scancode = 0;
}
static void set_rom(const char * rom_file)
{
- if (!rom_file) return;
if (current_rom_file) g_free(current_rom_file);
+ if (!rom_file) {
+ current_rom_file = NULL;
+ return;
+ }
gchar * utf8_filename = g_filename_display_name(rom_file);
if (current_rom_file) {
gconf_client_set_string(gcc, kGConfRomFile, current_rom_file, NULL);
- } else {
- gconf_client_unset(gcc, kGConfRomFile, NULL);
}
controls_setup();
int i, scancode;
for (i = 0; buttons[i].gconf_key; i++) {
if (hgw_conf_request_int(hgw, buttons[i].gconf_key, &scancode) == HGW_ERR_NONE) {
- if (scancode < 0) scancode = 0;
- else if (scancode > 255) scancode = 0;
+ if (scancode <= 0 || scancode > 255) continue;
if (buttons[i].is_action) {
Config.action[scancode] = buttons[i].mask;