コード例 #1
0
void
meta_session_shutdown (void)
{
  /* Change our restart mode to IfRunning */
  
  SmProp prop1;
  SmPropValue prop1val;
  SmProp *props[1];
  char hint = SmRestartIfRunning;

  if (!meta_get_display ())
    {
      meta_verbose ("Cannot close session because there is no display");
      return;
    }

  warn_about_lame_clients_and_finish_interact (FALSE);

  if (session_connection == NULL)
    return;
  
  prop1.name = SmRestartStyleHint;
  prop1.type = SmCARD8;
  prop1.num_vals = 1;
  prop1.vals = &prop1val;
  prop1val.value = &hint;
  prop1val.length = 1;
    
  props[0] = &prop1;
  
  SmcSetProperties (session_connection, 1, props);
}
コード例 #2
0
ファイル: session.c プロジェクト: JonahAragon/consortium
static void 
interact_callback (SmcConn smc_conn, SmPointer client_data)
{
  /* nothing */
  gboolean shutdown;

  meta_topic (META_DEBUG_SM, "Interaction permission received\n");
  
  shutdown = GPOINTER_TO_INT (client_data);

  current_state = STATE_DONE_WITH_INTERACT;

  warn_about_lame_clients_and_finish_interact (shutdown);
}