diff options
Diffstat (limited to 'xsettings')
-rw-r--r-- | xsettings/ChangeLog | 19 | ||||
-rw-r--r-- | xsettings/xsettings-client.c | 7 | ||||
-rw-r--r-- | xsettings/xsettings-client.h | 2 | ||||
-rw-r--r-- | xsettings/xsettings-common.c | 3 |
4 files changed, 27 insertions, 4 deletions
diff --git a/xsettings/ChangeLog b/xsettings/ChangeLog index 08ae09e..141a909 100644 --- a/xsettings/ChangeLog +++ b/xsettings/ChangeLog @@ -1,3 +1,22 @@ +Tue Oct 8 19:19:37 2002 Owen Taylor <otaylor@redhat.com> + + * xsettings-common.c (xsettings_setting_free): Fre + the setting name. (Anders Carlsson) + + * xsettings-client.c (xsettings_client_process_event): + Be more selective about which manager client events + we process. (Anders Carlsson) + + * xsettings-client.c (fetch_card8): Fix cut-and-paste + bug (Jacob Berkman, bugzilla.gnome.org #73585) + + * xsettings-client.c (parse_settings): Suppress + a signed-unsigned warning (David L. Cooper II + bugzilla.gnome.org, #85853) + + * xsettings-client.h (enum): Remove trailing , + (Miroslaw Dobrzanski-Neumann, bugzilla.gnome.org #72182) + Thu May 10 15:23:50 2001 Owen Taylor <otaylor@redhat.com> * xsettings-manager.[ch]: Add xsettings_manager_delete_setting(). diff --git a/xsettings/xsettings-client.c b/xsettings/xsettings-client.c index fc4ef80..7be2dd1 100644 --- a/xsettings/xsettings-client.c +++ b/xsettings/xsettings-client.c @@ -169,7 +169,7 @@ fetch_card8 (XSettingsBuffer *buffer, if (BYTES_LEFT (buffer) < 1) return XSETTINGS_ACCESS; - *result = *(CARD32 *)buffer->pos; + *result = *(CARD8 *)buffer->pos; buffer->pos += 1; return XSETTINGS_SUCCESS; @@ -194,7 +194,7 @@ parse_settings (unsigned char *data, buffer.pos = buffer.data = data; buffer.len = len; - result = fetch_card8 (&buffer, &buffer.byte_order); + result = fetch_card8 (&buffer, (char *)&buffer.byte_order); if (buffer.byte_order != MSBFirst && buffer.byte_order != LSBFirst) { @@ -511,7 +511,8 @@ xsettings_client_process_event (XSettingsClient *client, if (xev->xany.window == RootWindow (client->display, client->screen)) { if (xev->xany.type == ClientMessage && - xev->xclient.message_type == client->manager_atom) + xev->xclient.message_type == client->manager_atom && + xev->xclient.data.l[1] == client->selection_atom) { check_manager_window (client); return True; diff --git a/xsettings/xsettings-client.h b/xsettings/xsettings-client.h index 1201829..1b13fe3 100644 --- a/xsettings/xsettings-client.h +++ b/xsettings/xsettings-client.h @@ -36,7 +36,7 @@ typedef enum { XSETTINGS_ACTION_NEW, XSETTINGS_ACTION_CHANGED, - XSETTINGS_ACTION_DELETED, + XSETTINGS_ACTION_DELETED } XSettingsAction; typedef void (*XSettingsNotifyFunc) (const char *name, diff --git a/xsettings/xsettings-common.c b/xsettings/xsettings-common.c index 7507714..3d74440 100644 --- a/xsettings/xsettings-common.c +++ b/xsettings/xsettings-common.c @@ -147,6 +147,9 @@ xsettings_setting_free (XSettingsSetting *setting) { if (setting->type == XSETTINGS_TYPE_STRING) free (setting->data.v_string); + + if (setting->name) + free (setting->name); free (setting); } |