==== 2.21.9 ====

2008-03-10  William Jon McCann  <jmccann@redhat.com>

	* NEWS: Update for release

2008-03-10  William Jon McCann  <jmccann@redhat.com>

	* common/gdm-signal-handler.c: (signal_io_watch),
	(crashlogger_get_backtrace), (gdm_signal_handler_backtrace),
	(signal_handler), (gdm_signal_handler_add_fatal):
	* common/gdm-signal-handler.h:
	* daemon/main.c: (signal_cb), (main):
	* gui/simple-greeter/greeter-main.c: (signal_cb), (main):
	Don't glog in the signal handlers.  Add a default
	SIGTRAP handler so we get backtraces in unstable releases.

2008-03-10  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c:
	(gdm_greeter_login_window_class_init):
	Remove duplicate signal definition.

2008-03-10  William Jon McCann  <jmccann@redhat.com>

	* common/gdm-crash-logger.c: (main):
	Log pid too.  Only do perror if available.

2008-03-10  William Jon McCann  <jmccann@redhat.com>

	* daemon/gdm-server.c: (_gdm_server_set_disable_tcp),
	(gdm_server_set_property), (gdm_server_get_property),
	(gdm_server_class_init):
	Add a property for disable-tcp and default to TRUE.

2008-03-10  Ray Strode  <rstrode@redhat.com>
	* gui/simple-greeter/gdm-chooser-widget.c:
	(start_timer), (stop_timer):
	Actually remove high frequency timeout when
	timer is stopped...

2008-03-10  Ray Strode  <rstrode@redhat.com>

	* daemon/Makefile.am: add gdm-session-direct.xml to
	EXTRA_DIST

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-simple-slave.c:
	(on_session_authorized),
	* daemon/gdm-greeter-server.[ch]:
	(gdm_greeter_server_user_authorized),
	(do_introspect):
	When the user has successfully been verified,
	inform the greeter, so that it can make a judgement
	about whether the user's session should be opened.
	* gui/simple-greeter/gdm-greeter-client.c:
	(on_user_authorized), (client_dbus_handle_message),
	(gdm_greeter_client_class_init):
	* gui/simple-greeter/gdm-greeter-session.c
	(on_user_authorized), (gdm_greeter_session_init):
	forward "user-authorized" signal from slave to
	login window
	* gui/simple-greeter/gdm-greeter-login-window.c:
	(gdm_greeter_login_window_user_authorized):
	When the user is verified start the session as soon
	as the user has had an opporunity to interact with
	language and session choosers

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.[ch]:
	(do_cancel), (gdm_greeter_login_window_start_when_ready),
	(gdm_greeter_login_window_class_init):
	add new "start-session" to replace "interactive" from before
	* gui/simple-greeter/gdm-greeter-session.c:
	(on_start_session), (toggle_login_window):
	Tell slave to start session when login window is ready for
	the session to be started.

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c:
	(GdmGreeterLoginWindowPrivate),
	(_gdm_greeter_login_window_set_interactive),
	(timed_login_timer), (on_button_clicked_answer_query),
	(on_login_button_clicked_timed_login), (do_cancel),
	(gdm_greeter_login_window_set_property),
	(gdm_greeter_login_window_get_property),
	(gdm_greeter_login_window_class_init)):
	Make "is-interactive" property to replace "interactive"
	signal, since we're going to need to track it's state
	from within the login window.
	* gui/simple-greeter/gdm-greeter-session.c:
	(GdmGreeterSessionPrivate), (on_reset):
	Don't track interactive state here anymore, we'll
	rely on the login window to tell us when to start
	the session instead of trying to figure it out
	ourselves

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c
	(gdm_greeter_login_window_request_timed_login),
	(do_cancel), (on_user_chosen):
	Keep timed_login_enabled in sync with state of
	automatic login user selection

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c
	(switch_mode), (do_cancel), (reset_dialog),
	(gdm_greeter_login_window_request_timed_login),
	(on_user_chosen):
	Only show automatic login timer when the automatic
	login user is selected

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-simple-slave.c (on_greeter_auto_login):
	* daemon/gdm-greeter-server.[ch]:
	(handle_begin_auto_login), (greeter_handle_child_message),
	(gdm_greeter_server_class_init):
	* gui/gdm-greeter-client.[ch]:
	(gdm_greeter_client_call_begin_auto_login):
	* gui/gdm-greeter-session.[ch]:
	(on_begin_auto_login):
	* gui/gdm-greeter-login-window.[ch]:
	(timed_login_timer), (on_login_button_clicked_answer_query),
	(on_user_chosen), (gdm_greeter_login_window_class_init):
	Rename "Timed Login" request on the slave to "Auto Login"
	since that's what it is.  All the delay logic happens in
	the greeter and the slave just logins in immediately after
	getting the request

2008-03-09  Ray Strode  <rstrode@redhat.com>

	Read timed login configuration from the daemon,
	and pass along rather than reading it from the daemon
	and greeter.

	* daemon/gdm-simple-slave.c:
	(get_timed_login_details):
	(on_session_opened):
	* daemon/gdm-greeter-server.[ch]:
	(gdm_server_request_timed_login):
	Read timed login configuration and forward to greeter
	* gui/simple-greeter/gdm-greeter-client.[ch]:
	(on_timed_login_requested), (client_dbus_handle_message),
	(gdm_greeter_client_class_init):
	* gui/simple-greeter/gdm-greeter-session.[ch]:
	(on_timed_login_requested), (gdm_greeter_session_init):
	Forward timed login requests from slave to login window
	* gui/simple-greeter/gdm-greeter-login-window.[ch]:
	(load_theme): don't show "automatic login" entry here
	anymore
	(gdm_greeter_login_window_request_timed_login):
	show "automatic login" entry in face browser, start
	timer
	(read_configuration): drop function
	(gdm_greeter_login_window_constructor): don't call
	read_configuration anymore
	(gdm_greeter_login_window_init): don't initialized
	timed_login_delay here anymore since it's sent up from
	slave now

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.[ch]:
	(on_login_button_clicked_answer_query):
	(gdm_greeter_login_window_class_init):
	* gui/simple-greeter/gdm-greeter-session.c:
	(GdmGreeterSessionPrivate), (on_reset),
	(on_interactive), (toggle_login_window):
	Add new "interactive" signal to login window which is
	emitted when the user has had an opportunity to interact
	with session / language choosers. Have greeter session
	watch for this signal to decide when to tell the slave
	when to proceed with starting the session

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-simple-slave.c:
	(GdmSimpleSlavePrivate),
	(gdm_simple_slave_accredit_when_ready),
	(on_start_session_when_ready),
	(on_start_session_later),
	(setup_server):
	* daemon/gdm-greeter-server.[ch]:
	(handle_start_session_when_ready):
	(greeter_handle_child_message):
	(do_introspect):
	(gdm_greeter_server_class_init):
	* gui/simple-greeter/gdm-greeter-client.[ch]:
	(gdm_greeter_client_call_start_session_when_ready):
	After successfully verifying the user, wait until
	the greeter gives the go ahead before starting the
	user's session

2008-03-09  Ray Strode  <rstrode@redhat.com>

	* common/gdm-marshal.list (VOID:STRING,INT):
	* daemon/gdm-greeter-server.c:
	(send_dbus_string_and_int_signal):
	* gui/simple-greeter/gdm-greeter-client.c
	(emit_string_and_int_signal_for_message),
	(send_dbus_bool_method),
	(send_dbus_bool_method):
	Add some helper functions that will be useful later

2008-03-08  William Jon McCann  <jmccann@redhat.com>

	* common/Makefile.am:
	* common/gdb-cmd:
	* common/gdm-crash-logger.c: (main):
	* configure.ac:
	Add crash logger tool.

2008-03-08  William Jon McCann  <jmccann@redhat.com>

	* common/gdm-signal-handler.c: (signal_io_watch):
	* gui/simple-greeter/greeter-main.c: (signal_cb), (main):
	Hook up signal handler to greeter.

2008-03-06  Brian Cameron  <brian.cameron@sun.com>

	* gui/simple-greeter/gdm-greeter-login-window.c:  Fix NULL string
	  issue in debug statement.

2008-03-06  William Jon McCann  <jmccann@redhat.com>

	* common/gdm-signal-handler.c (signal_handler): Cast the signal
	number to a byte before sending over the pipe.
	Patch from: David Woodhouse <dwmw2@redhat.com>

2008-03-05  William Jon McCann  <jmccann@redhat.com>

	* daemon/Makefile.am:
	* daemon/gdm-product-slave.c: (create_new_session):
	* daemon/gdm-session-direct.c: (gdm_session_direct_init),
	(_gdm_session_direct_set_display_id),
	(gdm_session_direct_set_property),
	(gdm_session_direct_get_property), (gdm_session_direct_dispose),
	(gdm_session_direct_finalize), (register_session),
	(gdm_session_direct_constructor), (gdm_session_direct_class_init),
	(gdm_session_direct_new), (gdm_session_direct_restart),
	(gdm_session_direct_stop), (gdm_session_direct_detach):
	* daemon/gdm-session-direct.h:
	* daemon/gdm-session-direct.xml:
	* daemon/gdm-simple-slave.c: (create_new_session):
	* daemon/gdm-slave.c: (gdm_slave_constructor):
	* daemon/test-session.c: (main):
	* data/gdm.conf:
	Put the SessionDirect on the bus.  Doesn't do anything yet.

2008-03-05  William Jon McCann  <jmccann@redhat.com>

	* data/gdm.conf:
	Invert the sense of the policy.  Deny first.

2008-03-05  William Jon McCann  <jmccann@redhat.com>

	* common/gdm-settings-desktop-backend.c:
	Don't allow empty strings for keys.

2008-03-05  William Jon McCann  <jmccann@redhat.com>

	* daemon/gdm-session-worker.c: (script_execute), (my_strchrnul),
	(gdm_session_execute), (gdm_session_worker_process_pam_message),
	(gdm_session_worker_pam_new_messages_handler):
	* gui/simple-greeter/gdm-greeter-login-window.c:
	(delete_entry_text), (reset_dialog),
	(gdm_greeter_login_window_info_query),
	(gdm_greeter_login_window_secret_info_query):
	Try a little harder to not keep sensitive data in memory.

2008-03-05  Ray Strode <rstrode@redhat.com>

	* gui/simple-greeter/gdm-cell-renderer-timer.c
	(gdm_cell_renderer_timer_render):
	Draw selected timers with the right colors when they
	aren't focused

2008-03-05  Ray Strode <rstrode@redhat.com>

	* gui/simple-greeter/Makefile.am:
	Link common convenience lib to test binary, to
	prevent build failure

2008-03-04  Ray Strode <rstrode@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c
	(restart_timed_login_timeout):
	add timer animation next to automatic login user

2008-03-04  Ray Strode <rstrode@redhat.com>

	* gui/simple-greeter/Makefile.am:
	add timer cell renderer to build
	* gui/simple-greeter/gdm-chooser-widget.[ch]:
	(GdmChooserWidgetPrivate), (gdm_chooser_widget_init),
	(gdm_chooser_widget_finalize), (get_current_time),
	(on_timer_timeout), (start_timer), (stop_timer),
	(update_timer_from_time), (gdm_chooser_widget_set_item_timer):
	Add new timer api to chooser widget that shows a timer
	in the status column

2008-03-04  Ray Strode <rstrode@redhat.com>

	* gui/simple-greeter/gdm-chooser-widget.c:
	(GdmChooserWidgetPrivate), (update_column_visibility),
	(gdm_chooser_widget_init), (gdm_chooser_widget_update_item),
	(gdm_chooser_widget_add_item), (gdm_chooser_widget_remove_item),
	(gdm_chooser_widget_set_item_in_use):
	rename in_use_column and number_of_in_use_rows to status_column
	and number_of_rows_with_status respectively, in preparation for
	packing the animated timer into the same status column

2008-03-04  Ray Strode <rstrode@redhat.com>

	* gui/simple-greeter/gdm-cell-renderer-timer.[ch]:
	New cell renderer that does clock count-down animation
	(will be improved to be themable later)

2008-03-04  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-chooser/gdm-host-chooser-dialog.c:
	(gdm_host_chooser_dialog_constructor):
	* gui/simple-chooser/gdm-host-chooser.c: (main):
	* gui/simple-greeter/gdm-remote-login-window.c:
	(gdm_remote_login_window_init):
	Use a connect button, set an initial size for the window,
	remove decorations.

2008-03-04  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-greeter/gdm-remote-login-window.c: (wait_on_child),
	(xserver_died), (stop_xserver), (xserver_child_watch),
	(start_xephyr):
	* gui/simple-greeter/gdm-session-client.c: (wait_on_child),
	(gdm_session_client_dispose):
	* gui/simple-greeter/test-remote-login-window.c: (main):
	Destroy the remote login window when the xserver quits.

2008-03-04  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-chooser/Makefile.am:
	* gui/simple-chooser/gdm-chooser-host.c:
	(gdm_chooser_host_get_address), (gdm_chooser_host_get_description),
	(gdm_chooser_host_get_kind), (gdm_chooser_host_get_willing),
	(_gdm_chooser_host_set_address),
	(_gdm_chooser_host_set_description), (_gdm_chooser_host_set_kind),
	(_gdm_chooser_host_set_willing), (gdm_chooser_host_set_property),
	(gdm_chooser_host_get_property), (gdm_chooser_host_class_init),
	(gdm_chooser_host_init), (gdm_chooser_host_finalize):
	* gui/simple-chooser/gdm-chooser-host.h:
	* gui/simple-chooser/gdm-chooser-session.c: (on_dialog_response),
	(gdm_chooser_session_start):
	* gui/simple-chooser/gdm-host-chooser-dialog.c:
	(gdm_host_chooser_dialog_get_host),
	(_gdm_host_chooser_dialog_set_kind_mask),
	(gdm_host_chooser_dialog_set_property), (on_response),
	(gdm_host_chooser_dialog_constructor),
	(gdm_host_chooser_dialog_class_init),
	(gdm_host_chooser_dialog_init), (gdm_host_chooser_dialog_new):
	* gui/simple-chooser/gdm-host-chooser-dialog.h:
	* gui/simple-chooser/gdm-host-chooser-widget.c: (find_known_host),
	(browser_add_host), (decode_packet), (xdmcp_init),
	(gdm_host_chooser_widget_refresh),
	(gdm_host_chooser_widget_get_host),
	(_gdm_host_chooser_widget_set_kind_mask),
	(gdm_host_chooser_widget_set_property),
	(gdm_host_chooser_widget_constructor),
	(gdm_host_chooser_widget_dispose),
	(gdm_host_chooser_widget_class_init),
	(gdm_host_chooser_widget_init), (gdm_host_chooser_widget_new):
	* gui/simple-chooser/gdm-host-chooser-widget.h:
	* gui/simple-chooser/gdm-host-chooser.c: (main):
	Abstract the host selection to be able to support
	other kinds in addition to XDMCP.

2008-03-03  William Jon McCann  <jmccann@redhat.com>

	* gui/user-switch-applet/applet.c: (maybe_lock_screen),
	(do_switch):
	Be sure to lock screen when switching to login window.
	Also trim some fat.

2008-03-03  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-greeter/gdm-user.c: (gdm_user_collate):
	* gui/user-switch-applet/applet.c: (sort_menu_comparedatafunc),
	(sort_menu), (menu_style_set_cb), (fill_applet):
	Order the users in the applet the same way we do for the greeter:
	in order of login frequency.

2008-03-03  William Jon McCann  <jmccann@redhat.com>

	* gui/user-switch-applet/gdm-user-menu-item.c: (reset_icon),
	(reset_sensitivity), (on_user_notify), (on_user_icon_changed),
	(on_user_sessions_changed), (_gdm_user_menu_item_set_user):
	Desensitize the current user.

2008-02-29  Ray Strode  <rstrode@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c
	(is_capslock_on): return state of caps lock key,
	not state of caps lock indicator light

2008-02-29  Ray Strode  <rstrode@redhat.com>

	Don't eat all key presses in caps lock handler

	* gui/simple-greeter/gdm-greeter-login-window.c
	(gdm_greeter_login_window_key_press_event):
	check caps lock here
	(window_key_press), (gdm_greeter_login_window_init):
	drop separate function that checks caps lock.

2008-02-28  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c:
	* gui/simple-greeter/gdm-greeter-session.c:
	(send_dbus_string_method), (activate_settings_daemon),
	(toggle_all_levels):
	Use the new g-s-d method to dbus activate the service.
	Block while the plugins load so we don't cause problems
	and ugliness when widgets start to draw.

2008-02-28  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c:
	(get_show_restart_buttons), (load_theme), (update_banner_message),
	(gdm_greeter_login_window_constructor), (on_gconf_key_changed),
	(gdm_greeter_login_window_init),
	(gdm_greeter_login_window_finalize):
	* gui/simple-greeter/gdm-greeter-login-window.glade:
	* gui/simple-greeter/gdm-simple-greeter.schemas.in:
	Add a banner message feature.

2008-02-28  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-session-direct.c
	(get_session_command_for_file):
	Don't bail if TryExec isn't set. It's optional.

2008-02-28  William Jon McCann  <jmccann@redhat.com>

	* data/session-setup.entries:
	Set /apps/nautilus/preferences/show_desktop to false
	to work around #518750.

2008-02-27  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-greeter/gdm-greeter-login-window.c: (capslock_update),
	(is_capslock_on), (load_theme), (window_key_press),
	(gdm_greeter_login_window_init):
	* gui/simple-greeter/gdm-greeter-login-window.glade:
	Add a capslock key warning message.

2008-02-27  Ray Strode  <rstrode@redhat.com>

	* daemon/main.c (main):
	ignore unknown options, so removed options don't cause it to
	abort

2008-02-27  William Jon McCann  <jmccann@redhat.com>

	* gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml:
	* gui/user-switch-applet/Makefile.am:
	* gui/user-switch-applet/applet.c: (get_glade_xml),
	(menubar_button_press_event_cb), (help_cb), (set_menuitem_icon),
	(applet_style_set_cb), (gdm_applet_data_free), (sort_menu),
	(menu_style_set_cb), (menuitem_destroy_cb),
	(menuitem_style_set_cb), (maybe_lock_screen), (do_switch),
	(user_item_activate_cb), (user_sessions_changed_cb), (add_user),
	(manager_user_added_cb), (login_screen_activate_cb),
	(client_notify_applet_func), (client_notify_global_func),
	(fill_applet), (applet_factory):
	* gui/user-switch-applet/gdm-user-switch-applet.schemas.in:
	Remove gconf settings from user switch applet - simplifies
	code dramatically.  Fix crash when adding multiple applets
	to panel.

2008-02-27  Ray Strode  <rstrode@redhat.com>

	* gui/simple-greeter/gdm-option-widget.c:
	(gdm_option_widget_set_default_item): handle NULL item better
	(was causing crash on failed auth)

2008-02-27  William Jon McCann  <jmccann@redhat.com>

	* data/gdm.conf: Allow sending to LocalDisplayFactory interface
	by default.

2008-02-27  William Jon McCann  <jmccann@redhat.com>

	* gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in:
	* gui/user-switch-applet/GNOME_GdmUserSwitchApplet.server.in.in:
	* gui/user-switch-applet/GNOME_GdmUserSwitchApplet.xml:
	* gui/user-switch-applet/Makefile.am:
	* gui/user-switch-applet/applet.c: (about_me_cb), (about_cb),
	(applet_fill_cb):
	Use the same oafiid as FUSA so we can be a drop in replacement.
	Note that we now conflict with FUSA.

2008-02-26  William Jon McCann  <jmccann@redhat.com>

	* daemon/main.c: (main):
	Don't daemonize and remove some unused options.

2008-02-26  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-session-worker.c:
	(gdm_session_worker_set_session_name),
	(on_set_session_name),
	(gdm_session_worker_set_language_name),
	(on_set_language_name),
	(worker_dbus_handle_message):
	Update session and language state in the worker, when
	the slave informs it about language/session changes the
	user makes from the greeter

2008-02-26  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-session-direct.c
	(do_introspect), (gdm_session_direct_select_session),
	(gdm_session_direct_select_language):
	Tell worker about language/session changes the user
	makes from the greeter

2008-02-26  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-session-worker.c: (_save_user_settings),
	(gdm_session_worker_start_user_session):
	Save out user settings to ~/.dmrc before starting the
	session

2008-02-26  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-session-settings.[ch]:
	Make language and session setters non-static
	functions so there's a way to change the settings.

2008-02-26  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-session-settings.[ch]:
	(gdm_session_settings_save):
	Add save support to GdmSessionSettings object, so
	~/.dmrc changes can be saved out.

2008-02-26  Ray Strode  <rstrode@redhat.com>

	* daemon/gdm-session-settings.c
	(gdm_session_settings_is_loaded):
	Track is_loaded status by whether either session or
	language are explicitly set instead of relying on a
	boolean that wasn't being kept in sync.

2008-02-26  William Jon McCann  <jmccann@redhat.com>

	* gui/simple-greeter/gdm-greeter-panel.c:
	(is_a11y_button_disabled), (gdm_greeter_panel_init):
	* gui/simple-greeter/gdm-simple-greeter.schemas.in:
	Allow disabling the a11y button in the greeter
	using a gconf key.

2008-02-25  William Jon McCann  <jmccann@redhat.com>

	* daemon/gdm-session-direct.c: (is_prog_in_path),
	(get_session_command_for_file), (get_session_command_for_name),
	(gdm_session_direct_handle_saved_session_name_read),
	(get_session_name):
	Verify that the dmrc session is available before using it.

2008-02-25  William Jon McCann  <jmccann@redhat.com>

	* configure.ac: Post release bump