2008-06-16 Matthew Barnes * NEWS: Update for 0.6.2 2008-05-31 Matthew Barnes * configure.ac: Make libwnck optional. Use --without-wnck to disable it. * docs/reference/gnome-video-arcade-sections.txt: Add new symbols to the developer documentation. * src/gva-main.c (gva_main_cursor_busy), (gva_main_cursor_normal): New functions set the mouse cursor to busy or normal, respectively. * src/gva-main.c (gva_main_progress_bar_show), (gva_main_progress_bar_hide): * src/gva-tree-view.c (gva_tree_view_run_query): Let gva_main_cursor_busy() and gva_main_cursor_normal() manage the mouse cursor. Simplifies the logic. * src/gva-mame.h (gva_mame_supports_maximize): New macro returns TRUE if MAME supports the -maximize option. * src/gva-mame-common.c (gva_mame_run_game), (gva_mame_record_game), (gva_mame_playback_game): Add a -nomaximize argument if supported and we're linking against libwnck. Allowing MAME to maximize the window seems to confuse the window management logic and/or libwnck for some reason. * src/gva-wnck.c (wnck_weak_notify_cb), (wnck_window_opened_cb), (gva_wnck_listen_for_new_window): Set the mouse cursor to busy until the game window appears. 2008-05-30 Matthew Barnes * configure.ac: Require libwnck-1.0 >= 2.16.0. TODO: Make this optional before releasing. * README: Mention libwnck as an optional dependency. * data/gnome-video-arcade.glade: Don't set a title in the audit results window. * docs/reference/Makefile.am: Add WNCK_CFLAGS to INCLUDES. Add WNCK_LIBS to GTKDOC_LIBS. Add gva-wnck.o to GTKDOC_LIBS. * docs/reference/gnome-video-arcade-docs.sgml: * docs/reference/gnome-video-arcade-sections.txt: Add new symbols to the developer documentation. * src/Makefile.am: Add gva-wnck.[ch]. Add WNCK_CFLAGS to AM_CFLAGS. Add WNCK_LIBS to gnome_video_arcade_LDADD. * src/gva-db.c (gva_db_create_tables): Add a "window" table to hold game window geometry. * src/gva-db.c (gva_db_needs_rebuilt): Rebuild the database if the categories file changed. * src/gva-process.c (gva_process_get_pid): New function returns the process ID of a GvaProcess. * src/gva-wnck.c (gva_wnck_listen_for_new_window): New function implements "spatial" MAME windows using libwnck. * src/gva-ui.c (action_play_back_cb), (action_record_cb), (action_start_cb): Call gva_wnck_listen_for_new_window() immediately after successfully spawning a MAME process. 2008-05-28 Matthew Barnes * docs/reference/gnome-video-arcade-sections.txt: Add new symbols to the developer documentation. * src/gva-mame-common.c (gva_mame_get_config_value): * src/gva-mame-sdlmame.c (gva_mame_get_version), (gva_mame_get_total_supported): * src/gva-mame-xmame.c (gva_mame_get_version), (gva_mame_get_total_supported): Prevent passing a NULL string array to g_strv_length(). * src/gva-util.c (gva_spawn_with_pipes): New convenience function spawns a process from a command line string and opens stdin/stdout/stderr pipes. * src/gva-process.c (gva_process_spawn): * src/gva-mame-process.c (gva_mame_process_spawn): Call gva_spawn_with_pipes() to actually spawn the process. * src/gva-mame-process.c (mame_process_exited): The old logic was never used, and was broken anyway. Rewrite the method to simply emit a debugging message showing the exit status. * src/gva-mame-process.c (gva_mame_process_new): New function creates a new GvaMameProcess instance. 2008-05-27 Matthew Barnes * src/gva-mame-common.c (gva_mame_get_search_paths): Revert the previous commit. It didn't work right. * src/main.c (main): The correct solution is to change our working directory to that which contains the MAME executable. Documented the rationale in the code, since otherwise it seems like an odd thing to do. 2008-05-27 Matthew Barnes * configure.ac: Post-release version bump. * src/gva-mame-common.c (gva_mame_get_search_paths): Convert relative paths to absolute paths, using the location of the MAME executable as the base directory. Should allow GNOME Video Arcade to work with the default SDLMAME configuration. 2008-05-25 Matthew Barnes * NEWS: Update for 0.6.1.1 * src/gva-main.c (gva_main_get_last_selected_match): Fix a crash reported by Damion Manuel and Taylor Easum in the SF.net Help forum. I didn't take into account the fact that the GConf key may not be set, in which case the string values will remain NULL. Rewrote the logic to handle that case. Unfortunately the bug is pretty severe and requires a new release. 2008-05-21 Matthew Barnes * configure.ac: Post-release version bump. * src/gva-db.c (db_parser_start_element_game): * src/gva-process.c (gva_process_spawn): Fix a couple memory leaks.