This commit is contained in:
Havoc Pennington 2001-09-14 14:25:24 +00:00
parent b1c7811e89
commit 3886f0ecac
3 changed files with 28 additions and 9 deletions

View File

@ -196,11 +196,12 @@ msm_client_begin_interact (MsmClient *client)
SmsInteract (client->cnxn);
}
void
msm_client_save (MsmClient *client,
gboolean allow_interaction,
gboolean shut_down)
{
static void
internal_save (MsmClient *client,
int save_style,
gboolean allow_interaction,
gboolean shut_down)
{
if (client->state != MSM_CLIENT_STATE_IDLE)
{
msm_warning (_("Tried to save client '%s' but it was not in the idle state\n"),
@ -212,12 +213,30 @@ msm_client_save (MsmClient *client,
client->state = MSM_CLIENT_STATE_SAVING;
SmsSaveYourself (client->cnxn,
SmSaveBoth, /* This arg makes no sense whatsoever */
save_style,
shut_down,
allow_interaction ? SmInteractStyleAny : SmInteractStyleNone,
FALSE /* not "fast" */);
}
void
msm_client_save (MsmClient *client,
gboolean allow_interaction,
gboolean shut_down)
{
internal_save (client, SmSaveBoth, /* ? don't know what to do here */
allow_interaction, shut_down);
}
void
msm_client_initial_save (MsmClient *client)
{
/* This is the save on client registration in the spec under
* RegisterClientReply
*/
internal_save (client, SmSaveLocal, allow_interaction, shut_down);
}
void
msm_client_shutdown_cancelled (MsmClient *client)
{

View File

@ -83,6 +83,7 @@ void msm_client_begin_interact (MsmClient *client);
void msm_client_save (MsmClient *client,
gboolean allow_interaction,
gboolean shut_down);
void msm_client_initial_save (MsmClient *client);
void msm_client_shutdown_cancelled (MsmClient *client);
void msm_client_phase2_request (MsmClient *client);
void msm_client_save_phase2 (MsmClient *client);

View File

@ -238,9 +238,8 @@ register_client_callback (SmsConn cnxn,
free (id);
/* FIXME ksm and gnome-session send a SaveYourself to the client
* here. I don't understand why though.
*/
/* SM spec requires this initial SaveYourself. */
msm_client_initial_save (client);
return TRUE;
}