summaryrefslogtreecommitdiff
path: root/libwindow-settings
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@gnome.org>2004-06-22 01:50:50 +0000
committerJonathan Blandford <jrb@src.gnome.org>2004-06-22 01:50:50 +0000
commit21dab40205f6263113c075ba23ea6d8c33170315 (patch)
tree188b084f54ed8d5694bb15d47f3bf1ce8665cdc8 /libwindow-settings
parentfbd55c22a8a2530a85c4565841beb1e7532a7700 (diff)
downloadgnome-control-center-21dab40205f6263113c075ba23ea6d8c33170315.tar.gz
Set the radio group to be inconsistent if no matching modifier is found.
Mon Jun 21 15:52:57 2004 Jonathan Blandford <jrb@gnome.org> * gnome-window-properties.c (set_alt_click_value): Set the radio group to be inconsistent if no matching modifier is found. * gnome-window-properties.c (reload_settings): Check for NULL, 141453 Mon Jun 21 17:41:23 2004 Jonathan Blandford <jrb@gnome.org> * gnome-window-manager.c (gnome_wm_settings_copy|free): add copy and free functions for the WM settings.
Diffstat (limited to 'libwindow-settings')
-rw-r--r--libwindow-settings/ChangeLog5
-rw-r--r--libwindow-settings/gnome-window-manager.c37
-rw-r--r--libwindow-settings/gnome-window-manager.h3
3 files changed, 45 insertions, 0 deletions
diff --git a/libwindow-settings/ChangeLog b/libwindow-settings/ChangeLog
index 7724976c3..1f5239b74 100644
--- a/libwindow-settings/ChangeLog
+++ b/libwindow-settings/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 21 17:41:23 2004 Jonathan Blandford <jrb@gnome.org>
+
+ * gnome-window-manager.c (gnome_wm_settings_copy|free): add copy
+ and free functions for the WM settings.
+
2004-04-15 Jody Goldberg <jody@gnome.org>
* Release 2.6.1
diff --git a/libwindow-settings/gnome-window-manager.c b/libwindow-settings/gnome-window-manager.c
index 840e1e976..4240c86e9 100644
--- a/libwindow-settings/gnome-window-manager.c
+++ b/libwindow-settings/gnome-window-manager.c
@@ -236,3 +236,40 @@ gnome_window_manager_settings_changed (GnomeWindowManager *wm)
{
g_signal_emit (wm, signals[SETTINGS_CHANGED], 0);
}
+
+/* Helper functions for GnomeWMSettings */
+GnomeWMSettings *
+gnome_wm_settings_copy (GnomeWMSettings *settings)
+{
+ GnomeWMSettings *retval;
+
+ g_return_val_if_fail (settings != NULL, NULL);
+
+ retval = g_new (GnomeWMSettings, 1);
+ *retval = *settings;
+
+ if (retval->flags & GNOME_WM_SETTING_FONT)
+ retval->font = g_strdup (retval->font);
+ if (retval->flags & GNOME_WM_SETTING_MOUSE_MOVE_MODIFIER)
+ retval->mouse_move_modifier = g_strdup (retval->mouse_move_modifier);
+ if (retval->flags & GNOME_WM_SETTING_THEME)
+ retval->theme = g_strdup (retval->theme);
+
+ return retval;
+}
+
+void
+gnome_wm_settings_free (GnomeWMSettings *settings)
+{
+ g_return_if_fail (settings != NULL);
+
+ if (settings->flags & GNOME_WM_SETTING_FONT)
+ g_free ((void *) settings->font);
+ if (settings->flags & GNOME_WM_SETTING_MOUSE_MOVE_MODIFIER)
+ g_free ((void *) settings->mouse_move_modifier);
+ if (settings->flags & GNOME_WM_SETTING_THEME)
+ g_free ((void *)settings->theme);
+
+ g_free (settings);
+}
+
diff --git a/libwindow-settings/gnome-window-manager.h b/libwindow-settings/gnome-window-manager.h
index 7c7d482d1..ea6d0d2e3 100644
--- a/libwindow-settings/gnome-window-manager.h
+++ b/libwindow-settings/gnome-window-manager.h
@@ -155,6 +155,9 @@ void gnome_window_manager_get_double_click_actions (GnomeWindowManager
const GnomeWMDoubleClickAction **actions,
int *n_actions);
+/* Helper functions for GnomeWMSettings */
+GnomeWMSettings *gnome_wm_settings_copy (GnomeWMSettings *settings);
+void gnome_wm_settings_free (GnomeWMSettings *settings);
G_END_DECLS