diff --git a/TODO-SDL-2.1.6.md b/TODO-SDL-2.1.6.md index d1f5efb2..e6820e92 100644 --- a/TODO-SDL-2.1.6.md +++ b/TODO-SDL-2.1.6.md @@ -14,12 +14,16 @@ BUGS * Go to game genie with clip sides enabled or save a state to see * Ensure no clip sides is only being enabled during fullscreen - Gamepad dialog and others segfault on Ubuntu 10.04 (and older GTK versions) - --------------------------------------------------------------------------- + DONE! Gamepad dialog and others segfault on Ubuntu 10.04 (and older GTK versions) + --------------------------------------------------------------------------------- * Not planning on using legacy code here (especially with Ubuntu 12.04 on its way) but perhaps a messagebox can be displayed recommending the user to upgrade their GTK version to prevent the frustrating segfault. Segfaults need to be avoided like the plague. + * This is fixed in r2447. FceuX will print a warning to the console that the GTK version is old, and + provide instructions on how to configure the gamepad. + * Maybe we should also provide a GTK MessageBox with this info? + FEATURES ======== XDG Standardization of Config @@ -53,9 +57,9 @@ TESTING ------------ * Compiles/builds without issue. * No issues found in gameplay. - * TODO Some dialogs with segfault FCEUX due to an older version of GTK. Perhaps we can detect the old version of GTK and just prevent the dialog from being opened so the segfault doesn't occur? (bug added). - * Wrote CheckGTKVersion(), which will be used like CheckGTKVersion(2, 24) to check the GTK version before segfaulting on dialogs - * TODO: Implement a check for the dialogs that would bomb -- (a hook in init; makes all items under Options inacessible besides fullscreen if under 2.24) + * DONE Some dialogs with segfault FCEUX due to an older version of GTK. Perhaps we can detect the old version of GTK and just prevent the dialog from being opened so the segfault doesn't occur? (bug added). + * DONE Wrote CheckGTKVersion(), which will be used like CheckGTKVersion(2, 24) to check the GTK version before segfaulting on dialogs + * DONE Implement a check for the dialogs that would bomb -- (a hook in init; makes all items under Options inacessible besides fullscreen if under 2.24) openSUSE 12.1 ------------- diff --git a/changelog.txt b/changelog.txt index c9d1af61..d356a9ec 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,4 @@ +06-mar-2012 - prg - fceux no longer segfaults when opening gamepadconfig with GTK < 2.24 - a message is printed to the console 06-mar-2012 - prg - supports loading of configuration files in $FCEUXDIR/cfg.d/* 18-feb-2012 - AnS - PATTERNS menu, loading data from "tools\taseditor_patterns.txt" 18-feb-2012 - AnS - "Use pattern" checkbox in Recorder; Config->ColumnSet Pattern skips Lag diff --git a/src/drivers/sdl/gui.cpp b/src/drivers/sdl/gui.cpp index 46b3b864..2f768dbe 100644 --- a/src/drivers/sdl/gui.cpp +++ b/src/drivers/sdl/gui.cpp @@ -509,6 +509,7 @@ void openGamepadConfig() // GTK 2.24 required for this dialog if (checkGTKVersion(2, 24) == false) { + // TODO: present this in a GTK MessageBox? printf(" Warning: GTK >= 2.24 required for this dialog.\nTo configure the gamepads, use \"--inputcfg\" from the command line (ie: \"fceux --inputcfg gamepad1\").\n"); return; }