gnome-games r9020 - branches/gnome-2-26/libgames-support
- From: jclinton svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-games r9020 - branches/gnome-2-26/libgames-support
- Date: Wed, 8 Apr 2009 19:05:22 +0000 (UTC)
Author: jclinton
Date: Wed Apr 8 19:05:21 2009
New Revision: 9020
URL: http://svn.gnome.org/viewvc/gnome-games?rev=9020&view=rev
Log:
Resync libegg smclient per mclasen request
Modified:
branches/gnome-2-26/libgames-support/eggdesktopfile.c
branches/gnome-2-26/libgames-support/eggsmclient-xsmp.c
branches/gnome-2-26/libgames-support/eggsmclient.c
branches/gnome-2-26/libgames-support/eggsmclient.h
Modified: branches/gnome-2-26/libgames-support/eggdesktopfile.c
==============================================================================
--- branches/gnome-2-26/libgames-support/eggdesktopfile.c (original)
+++ branches/gnome-2-26/libgames-support/eggdesktopfile.c Wed Apr 8 19:05:21 2009
@@ -1440,6 +1440,19 @@
g_error_free (error);
}
+ if (egg_desktop_file) {
+ /* Set localized application name and default window icon */
+ if (egg_desktop_file->name)
+ g_set_application_name (egg_desktop_file->name);
+ if (egg_desktop_file->icon)
+ {
+ if (g_path_is_absolute (egg_desktop_file->icon))
+ gtk_window_set_default_icon_from_file (egg_desktop_file->icon, NULL);
+ else
+ gtk_window_set_default_icon_name (egg_desktop_file->icon);
+ }
+ }
+
G_UNLOCK (egg_desktop_file);
}
Modified: branches/gnome-2-26/libgames-support/eggsmclient-xsmp.c
==============================================================================
--- branches/gnome-2-26/libgames-support/eggsmclient-xsmp.c (original)
+++ branches/gnome-2-26/libgames-support/eggsmclient-xsmp.c Wed Apr 8 19:05:21 2009
@@ -88,8 +88,6 @@
char **restart_command;
gboolean set_restart_command;
int restart_style;
- char **discard_command;
- gboolean set_discard_command;
guint idle;
@@ -119,9 +117,6 @@
static void sm_client_xsmp_set_restart_command (EggSMClient *client,
int argc,
const char **argv);
-static void sm_client_xsmp_set_discard_command (EggSMClient *client,
- int argc,
- const char **argv);
static void sm_client_xsmp_will_quit (EggSMClient *client,
gboolean will_quit);
static gboolean sm_client_xsmp_end_session (EggSMClient *client,
@@ -155,7 +150,7 @@
static void set_properties (EggSMClientXSMP *xsmp, ...);
static void delete_properties (EggSMClientXSMP *xsmp, ...);
-static GPtrArray *generate_command (char **argv,
+static GPtrArray *generate_command (char **restart_command,
const char *client_id,
const char *state_file);
@@ -190,7 +185,6 @@
sm_client_class->startup = sm_client_xsmp_startup;
sm_client_class->set_restart_command = sm_client_xsmp_set_restart_command;
- sm_client_class->set_discard_command = sm_client_xsmp_set_discard_command;
sm_client_class->will_quit = sm_client_xsmp_will_quit;
sm_client_class->end_session = sm_client_xsmp_end_session;
}
@@ -410,24 +404,6 @@
}
static void
-sm_client_xsmp_set_discard_command (EggSMClient *client,
- int argc,
- const char **argv)
-{
- EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;
- int i;
-
- g_strfreev (xsmp->discard_command);
-
- xsmp->discard_command = g_new (char *, argc + 1);
- for (i = 0; i < argc; i++)
- xsmp->discard_command[i] = g_strdup (argv[i]);
- xsmp->discard_command[i] = NULL;
-
- xsmp->set_discard_command = TRUE;
-}
-
-static void
sm_client_xsmp_will_quit (EggSMClient *client,
gboolean will_quit)
{
@@ -795,7 +771,7 @@
GKeyFile *state_file;
char *state_file_path, *data;
EggDesktopFile *desktop_file;
- GPtrArray *restart, *discard;
+ GPtrArray *restart;
int offset, fd;
/* We set xsmp->state before emitting save_state, but our caller is
@@ -811,18 +787,7 @@
ptrarray_prop (SmRestartCommand, restart),
NULL);
g_ptr_array_free (restart, TRUE);
-
- if (xsmp->set_discard_command)
- {
- discard = generate_command (xsmp->discard_command, NULL, NULL);
- set_properties (xsmp,
- ptrarray_prop (SmDiscardCommand, discard),
- NULL);
- g_ptr_array_free (discard, TRUE);
- }
- else
- delete_properties (xsmp, SmDiscardCommand, NULL);
-
+ delete_properties (xsmp, SmDiscardCommand, NULL);
return;
}
@@ -830,10 +795,14 @@
if (desktop_file)
{
GKeyFile *merged_file;
+ char *desktop_file_path;
merged_file = g_key_file_new ();
- if (g_key_file_load_from_file (merged_file,
- egg_desktop_file_get_source (desktop_file),
+ desktop_file_path =
+ g_filename_from_uri (egg_desktop_file_get_source (desktop_file),
+ NULL, NULL);
+ if (desktop_file_path &&
+ g_key_file_load_from_file (merged_file, desktop_file_path,
G_KEY_FILE_KEEP_COMMENTS |
G_KEY_FILE_KEEP_TRANSLATIONS, NULL))
{
@@ -876,8 +845,11 @@
EGG_DESKTOP_FILE_KEY_EXEC,
exec);
g_free (exec);
-
}
+ else
+ desktop_file = NULL;
+
+ g_free (desktop_file_path);
}
/* Now write state_file to disk. (We can't use mktemp(), because
@@ -1069,14 +1041,14 @@
* then free the array, but not its contents.
*/
static GPtrArray *
-generate_command (char **argv, const char *client_id,
+generate_command (char **restart_command, const char *client_id,
const char *state_file)
{
GPtrArray *cmd;
int i;
cmd = g_ptr_array_new ();
- g_ptr_array_add (cmd, argv[0]);
+ g_ptr_array_add (cmd, restart_command[0]);
if (client_id)
{
@@ -1090,8 +1062,8 @@
g_ptr_array_add (cmd, (char *)state_file);
}
- for (i = 1; argv[i]; i++)
- g_ptr_array_add (cmd, argv[i]);
+ for (i = 1; restart_command[i]; i++)
+ g_ptr_array_add (cmd, restart_command[i]);
return cmd;
}
Modified: branches/gnome-2-26/libgames-support/eggsmclient.c
==============================================================================
--- branches/gnome-2-26/libgames-support/eggsmclient.c (original)
+++ branches/gnome-2-26/libgames-support/eggsmclient.c Wed Apr 8 19:05:21 2009
@@ -445,27 +445,6 @@
}
/**
- * egg_sm_client_set_discard_command:
- * @client: the client
- * @argc: the length of @argv
- * @argv: argument vector
- *
- * Sets the command used to discard a custom state file if using
- * egg_sm_client_set_restart_command(), which must be called before
- * using this function.
- **/
-void
-egg_sm_client_set_discard_command (EggSMClient *client,
- int argc,
- const char **argv)
-{
- g_return_if_fail (EGG_IS_SM_CLIENT (client));
-
- if (EGG_SM_CLIENT_GET_CLASS (client)->set_discard_command)
- EGG_SM_CLIENT_GET_CLASS (client)->set_discard_command (client, argc, argv);
-}
-
-/**
* egg_sm_client_will_quit:
* @client: the client
* @will_quit: whether or not the application is willing to quit
Modified: branches/gnome-2-26/libgames-support/eggsmclient.h
==============================================================================
--- branches/gnome-2-26/libgames-support/eggsmclient.h (original)
+++ branches/gnome-2-26/libgames-support/eggsmclient.h Wed Apr 8 19:05:21 2009
@@ -72,9 +72,6 @@
void (*set_restart_command) (EggSMClient *client,
int argc,
const char **argv);
- void (*set_discard_command) (EggSMClient *client,
- int argc,
- const char **argv);
void (*will_quit) (EggSMClient *client,
gboolean will_quit);
gboolean (*end_session) (EggSMClient *client,
@@ -105,9 +102,6 @@
void egg_sm_client_set_restart_command (EggSMClient *client,
int argc,
const char **argv);
-void egg_sm_client_set_discard_command (EggSMClient *client,
- int argc,
- const char **argv);
/* Handling "quit_requested" signal */
void egg_sm_client_will_quit (EggSMClient *client,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]