escape strange hostnames that we want to use as GConf keys (see bug
2008-02-19 Jens Granseuer <jensgr@gmx.net> * main.c: (create_dialog), (save_to_gconf): escape strange hostnames that we want to use as GConf keys (see bug #517259 for a similar issue in gnome-settings-daemon) svn path=/trunk/; revision=8509
This commit is contained in:
parent
2dbea1360c
commit
bf47e03d16
2 changed files with 21 additions and 10 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2008-02-19 Jens Granseuer <jensgr@gmx.net>
|
||||||
|
|
||||||
|
* main.c: (create_dialog), (save_to_gconf): escape strange hostnames
|
||||||
|
that we want to use as GConf keys (see bug #517259 for a similar issue
|
||||||
|
in gnome-settings-daemon)
|
||||||
|
|
||||||
2007-10-28 Jens Granseuer <jensgr@gmx.net>
|
2007-10-28 Jens Granseuer <jensgr@gmx.net>
|
||||||
|
|
||||||
* main.c: (display_rotation_from_text), (create_rotate_menu): readd gettext
|
* main.c: (display_rotation_from_text), (create_rotate_menu): readd gettext
|
||||||
|
|
|
@ -588,6 +588,7 @@ create_dialog (struct DisplayInfo *info)
|
||||||
char *resolution;
|
char *resolution;
|
||||||
char *str;
|
char *str;
|
||||||
char hostname[HOST_NAME_MAX + 1];
|
char hostname[HOST_NAME_MAX + 1];
|
||||||
|
char *host_escaped;
|
||||||
|
|
||||||
dialog = gtk_dialog_new_with_buttons (_("Screen Resolution Preferences"),
|
dialog = gtk_dialog_new_with_buttons (_("Screen Resolution Preferences"),
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -630,7 +631,10 @@ create_dialog (struct DisplayInfo *info)
|
||||||
/* If we previously set the resolution specifically for this hostname, default
|
/* If we previously set the resolution specifically for this hostname, default
|
||||||
to it on */
|
to it on */
|
||||||
client = gconf_client_get_default ();
|
client = gconf_client_get_default ();
|
||||||
key = g_strconcat ("/desktop/gnome/screen/", hostname, "/0/resolution",NULL);
|
|
||||||
|
host_escaped = gconf_escape_key (hostname, -1);
|
||||||
|
key = g_strconcat ("/desktop/gnome/screen/", host_escaped, "/0/resolution", NULL);
|
||||||
|
g_free (host_escaped);
|
||||||
resolution = gconf_client_get_string (client, key, NULL);
|
resolution = gconf_client_get_string (client, key, NULL);
|
||||||
g_free (key);
|
g_free (key);
|
||||||
g_object_unref (client);
|
g_object_unref (client);
|
||||||
|
@ -757,15 +761,14 @@ save_to_gconf (struct DisplayInfo *info, gboolean save_computer, gboolean clear_
|
||||||
{
|
{
|
||||||
GConfClient *client;
|
GConfClient *client;
|
||||||
gboolean res;
|
gboolean res;
|
||||||
#ifdef HOST_NAME_MAX
|
|
||||||
char hostname[HOST_NAME_MAX + 1];
|
char hostname[HOST_NAME_MAX + 1];
|
||||||
#else
|
char *path, *key, *str, *host_escaped;
|
||||||
char hostname[256];
|
|
||||||
#endif
|
|
||||||
char *path, *key, *str;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
gethostname (hostname, sizeof (hostname));
|
if (gethostname (hostname, sizeof (hostname)) != 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
host_escaped = gconf_escape_key (hostname, -1);
|
||||||
|
|
||||||
client = gconf_client_get_default ();
|
client = gconf_client_get_default ();
|
||||||
|
|
||||||
|
@ -774,11 +777,11 @@ save_to_gconf (struct DisplayInfo *info, gboolean save_computer, gboolean clear_
|
||||||
for (i = 0; i < info->n_screens; i++)
|
for (i = 0; i < info->n_screens; i++)
|
||||||
{
|
{
|
||||||
key = g_strdup_printf ("/desktop/gnome/screen/%s/%d/resolution",
|
key = g_strdup_printf ("/desktop/gnome/screen/%s/%d/resolution",
|
||||||
hostname, i);
|
host_escaped, i);
|
||||||
gconf_client_unset (client, key, NULL);
|
gconf_client_unset (client, key, NULL);
|
||||||
g_free (key);
|
g_free (key);
|
||||||
key = g_strdup_printf ("/desktop/gnome/screen/%s/%d/rate",
|
key = g_strdup_printf ("/desktop/gnome/screen/%s/%d/rate",
|
||||||
hostname, i);
|
host_escaped, i);
|
||||||
gconf_client_unset (client, key, NULL);
|
gconf_client_unset (client, key, NULL);
|
||||||
g_free (key);
|
g_free (key);
|
||||||
}
|
}
|
||||||
|
@ -787,13 +790,15 @@ save_to_gconf (struct DisplayInfo *info, gboolean save_computer, gboolean clear_
|
||||||
if (save_computer)
|
if (save_computer)
|
||||||
{
|
{
|
||||||
path = g_strconcat ("/desktop/gnome/screen/",
|
path = g_strconcat ("/desktop/gnome/screen/",
|
||||||
hostname,
|
host_escaped,
|
||||||
"/",
|
"/",
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
path = g_strdup ("/desktop/gnome/screen/default/");
|
path = g_strdup ("/desktop/gnome/screen/default/");
|
||||||
|
|
||||||
|
g_free (host_escaped);
|
||||||
|
|
||||||
for (i = 0; i < info->n_screens; i++)
|
for (i = 0; i < info->n_screens; i++)
|
||||||
{
|
{
|
||||||
struct ScreenInfo *screen_info = &info->screens[i];
|
struct ScreenInfo *screen_info = &info->screens[i];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue