bugfix + some tweaks
authornotaz <notasas@gmail.com>
Fri, 7 Aug 2009 14:11:03 +0000 (14:11 +0000)
committernotaz <notasas@gmail.com>
Fri, 7 Aug 2009 14:11:03 +0000 (14:11 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@737 be3aeb3a-fb24-0410-a615-afba39da0efa

common/emu.c
linux/in_evdev.c

index becc0c2..4341d6a 100644 (file)
@@ -643,7 +643,8 @@ int emu_read_config(int game, int no_defaults)
                        // read global config, and apply game_def.cfg on top\r
                        make_config_cfg(cfg);\r
                        config_readsect(cfg, NULL);\r
-                       ret = config_readsect("game_def.cfg", sect);\r
+                       emu_make_path(cfg, "game_def.cfg", sizeof(cfg));\r
+                       ret = config_readsect(cfg, sect);\r
                }\r
 \r
                if (ret == 0)\r
index 4e23677..7866015 100644 (file)
@@ -317,6 +317,16 @@ static void in_evdev_set_blocking(void *drv_data, int y)
                perror("in_evdev: F_GETFL fcntl failed");
                return;
        }
+
+       if (flags & O_NONBLOCK) {
+               /* flush the event queue */
+               struct input_event ev;
+               do {
+                       ret = read(dev->fd, &ev, sizeof(ev));
+               }
+               while (ret == sizeof(ev));
+       }
+
        if (y)
                flags &= ~O_NONBLOCK;
        else