2008-05-12 Brian Cameron * Release 2.20.6: * configure.ac: Updated to new release version * NEWS: Updated. 2008-05-09 Brian Cameron * daemon/gdm.c: Fix crash on logout caused by trying to read configuration values in the mainloop_sig_callback function. Redesigned so we only read configuration values when it is appropriate (when dealing with SHUTDOWN, REBOOT, etc.). Fixes another issue raised in bug #517526. 2008-05-03 Brian Cameron * daemon/gdm-xdmcp-manager.c: Move reading of configuration from gdm_xdmcp_manager_init to gdm_xdmcp_manager_start Otherwise the configuration values get over-ridden by the deafult values set via properties. Fixes bug #515148. 2008-05-02 Brian Cameron * daemon/gdm-daemon-config.c: A better fix for the problem. While investigating the crashing problem on exit, I noticed that gdm_daemon_config_update_key was similarly crashing when calling gdm_config_load and freeing the daemon_config global. This crash would only happen occasionally, but I was able to recreate it a few times. This indicates that this function needs to be thread-safe, since if the deamon recieves multiple UPDATE_KEY requests quickly, two requests could be processed at the same time. This change fixes the code so it doesn't reload the configuration, but instead loads it into a temporary variable, and then updates just the key requested. Thus avoiding the freeing of the global and this should fix the crashing. This is more sensible anyway, because some places in the code resets configuration values to different values (e.g. resetting CONSOLE_NOTIFY to false in gdm_config_parse if no displays were defined in the configuration), so we lose such values if we reload the entire configuration file. It's better to just reload the specified key. * daemon/gdm-daemon-config.c: I noticed that the key "xservers/PARAMETERS" was not being processed in the gdm_daemon_config_update_key, so that if you change Xserver variables in gdmsetup, they weren't getting recognized by the daemon. I fixed this, and thus fixed bug #450357. 2008-05-02 Brian Cameron * daemon/gdm-daemon-config.c: Reverse last change. It seemed to work when I first tested it, but I must have tested it wrong. 2008-05-02 Brian Cameron * daemon/gdm-daemon-config.c: Remove call to gdm_config_load from gdm_daemon_config_update_key. This function is only called when the UPDATE_KEY message is passed to the daemon, which is typically sent from gdmsetup when a specific configuration value has changed. Calling gdm_config_load before processing the key will cause the entire configuration to get reloaded since the datestamp on the file will, of course, be newer than the last read. It is more efficient to simply re-process the single key value requested via the UPDATE_KEY command. This makes GDM behave more like it did in GDM 2.18 and earlier. 2008-05-01 Brian Cameron * gui/gdmsession.c: If a GDM session desktop file is marked as "Hidden=true" then do not show it in the session dialog. 2008-05-01 Brian Cameron * common/gdm-config.c: Similar fix to ensure that we do not free the data structure twice when reloading. Similar issues as with bug #517526. 2008-04-30 Brian Cameron * common/gdm-config.c: A new fix to address the crashing issue bug #517526. 2008-04-30 Brian Cameron * common/gdm-config.c: Back-out the last change, it did not work as I thought it did. 2008-04-30 Brian Cameron * common/gdm-config.c: Fix bug that was causing GDM to crash when freeing memory in the keyfile code when exiting (such as when shutting down the system). Fixes bug #517526. 2008-04-24 Brian Cameron * gui/gdmsetup.c: Fix the 24HourClock setting so that we do not save translated strings as the configuration option. 2008-04-24 Brian Cameron * daemon/gdm-daemon-config.c: Fix reading of user's .dmrc file so that if it does not exist, we avoid calling gkeyfile functions. This avoids useless gkeyfile warning messages about the file being NULL. The fix on 2007-09-20 mostly fixed this issue by making sure the file is created before trying to read it. However, in some cases, such as when the user's $HOME directory is not writable, the read can happen when the file does not exist. 2008-04-24 Brian Cameron * configure.ac: Add openbsd section to configure file. to specify default halt, reboot, suspend commands. Fixes bug #529686. Patch by Jasper Lievisse Adriaanse . 2008-04-22 Brian Cameron * configure.ac: Remove the broken logic which was trying to append ${prefix}/bin to the DefaultPath and RootPath. Users will need to use --with-post-path configure option if they want to add their own directories to the DefaultPath and RootPath. Fixes bug #510469. 2008-04-22 Brian Cameron * configure.ac, config/Xsession.in, config/Xsession.solaris, config/Xsession.common, config/Makefile.am: Fix the way Xsession is built so that distros can more easily add their own logic to the Xsession script. Move Solaris specific Xsession logic to the Xsession.solaris file. Get rid of logic to normalize LC_ variables since this was causing problems for some users, fixes bug #509141. Patch by Takao Fujiwara . 2008-04-11 Ray Strode * gui/slave.c: (gdm_slave_session_start): Sync to catch any XIO errors after session exits (fixes bug 419301)