|
|
be3c27e |
From 327c12b5397641e4aaf56b968f9af3c53fe15839 Mon Sep 17 00:00:00 2001
|
|
|
be3c27e |
From: Michael Webster <miketwebster@gmail.com>
|
|
|
be3c27e |
Date: Tue, 17 Mar 2015 20:20:16 -0400
|
|
|
be3c27e |
Subject: [PATCH 1/2] gs-window-x11.c: Fix some leaks, readability
|
|
|
be3c27e |
|
|
|
be3c27e |
---
|
|
|
be3c27e |
src/gs-window-x11.c | 25 ++++++++++++++++++++-----
|
|
|
be3c27e |
1 file changed, 20 insertions(+), 5 deletions(-)
|
|
|
be3c27e |
|
|
|
be3c27e |
diff --git a/src/gs-window-x11.c b/src/gs-window-x11.c
|
|
|
be3c27e |
index dcdd90a..2716a2f 100644
|
|
|
be3c27e |
--- a/src/gs-window-x11.c
|
|
|
be3c27e |
+++ b/src/gs-window-x11.c
|
|
|
be3c27e |
@@ -2115,9 +2115,17 @@ update_clock (GSWindow *window)
|
|
|
be3c27e |
char *markup;
|
|
|
be3c27e |
|
|
|
be3c27e |
if (window->priv->away_message != NULL && g_strcmp0(window->priv->away_message, "") != 0) {
|
|
|
be3c27e |
- markup = g_strdup_printf ("%s\n\n%s\n ~ %s", gnome_wall_clock_get_clock (window->priv->clock_tracker), g_markup_escape_text(window->priv->away_message, -1), get_user_display_name());
|
|
|
be3c27e |
+ gchar *user_name = get_user_display_name ();
|
|
|
be3c27e |
+ markup = g_strdup_printf ("%s\n\n%s"
|
|
|
be3c27e |
+ "\n ~ %s",
|
|
|
be3c27e |
+ gnome_wall_clock_get_clock (window->priv->clock_tracker),
|
|
|
be3c27e |
+ window->priv->away_message, user_name);
|
|
|
be3c27e |
+ g_free (user_name);
|
|
|
be3c27e |
} else {
|
|
|
be3c27e |
- markup = g_strdup_printf ("%s\n\n%s", gnome_wall_clock_get_clock (window->priv->clock_tracker), window->priv->font_message, g_markup_escape_text(window->priv->default_message, -1));
|
|
|
be3c27e |
+ markup = g_strdup_printf ("%s\n\n%s",
|
|
|
be3c27e |
+ gnome_wall_clock_get_clock (window->priv->clock_tracker),
|
|
|
be3c27e |
+ window->priv->font_message,
|
|
|
be3c27e |
+ window->priv->default_message);
|
|
|
be3c27e |
}
|
|
|
be3c27e |
|
|
|
be3c27e |
gtk_label_set_markup (GTK_LABEL (window->priv->clock), markup);
|
|
|
be3c27e |
@@ -2161,7 +2169,7 @@ gs_window_set_away_message (GSWindow *window,
|
|
|
be3c27e |
g_free (window->priv->away_message);
|
|
|
be3c27e |
|
|
|
be3c27e |
if (message) {
|
|
|
be3c27e |
- window->priv->away_message = g_strdup (message);
|
|
|
be3c27e |
+ window->priv->away_message = g_markup_escape_text (message, -1);
|
|
|
be3c27e |
} else {
|
|
|
be3c27e |
window->priv->away_message = NULL;
|
|
|
be3c27e |
}
|
|
|
be3c27e |
@@ -2174,6 +2182,7 @@ settings_changed_cb (GSettings *settings, const gchar *key, gpointer user_data)
|
|
|
be3c27e |
{
|
|
|
be3c27e |
GSWindow *window = user_data;
|
|
|
be3c27e |
|
|
|
be3c27e |
+ g_clear_pointer (&window->priv->font_message, g_free);
|
|
|
be3c27e |
window->priv->font_message = g_settings_get_string (window->priv->settings, "font-message");
|
|
|
be3c27e |
}
|
|
|
be3c27e |
|
|
|
be3c27e |
@@ -2190,6 +2199,8 @@ gs_window_init (GSWindow *window)
|
|
|
be3c27e |
window->priv->last_x = -1;
|
|
|
be3c27e |
window->priv->last_y = -1;
|
|
|
be3c27e |
|
|
|
be3c27e |
+ window->priv->settings = g_settings_new ("org.cinnamon.desktop.screensaver");
|
|
|
be3c27e |
+
|
|
|
be3c27e |
gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
|
|
|
be3c27e |
|
|
|
be3c27e |
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
|
|
|
be3c27e |
@@ -2235,7 +2246,9 @@ gs_window_init (GSWindow *window)
|
|
|
be3c27e |
gtk_widget_set_size_request(window->priv->vbox,450, -1);
|
|
|
be3c27e |
|
|
|
be3c27e |
// Default message
|
|
|
be3c27e |
- window->priv->default_message = g_settings_get_string(g_settings_new ("org.cinnamon.desktop.screensaver"), "default-message");
|
|
|
be3c27e |
+ gchar *unesc = g_settings_get_string(window->priv->settings, "default-message");
|
|
|
be3c27e |
+ window->priv->default_message = g_markup_escape_text (unesc, -1);
|
|
|
be3c27e |
+ g_free (unesc);
|
|
|
be3c27e |
|
|
|
be3c27e |
// Clock -- need to find a way to make it appear on the bottom-left side of the background without shifting the position of the main dialog box
|
|
|
be3c27e |
window->priv->clock = gtk_label_new (NULL);
|
|
|
be3c27e |
@@ -2259,7 +2272,6 @@ gs_window_init (GSWindow *window)
|
|
|
be3c27e |
gtk_widget_set_hexpand (grid, TRUE);
|
|
|
be3c27e |
gtk_widget_set_vexpand (grid, TRUE);
|
|
|
be3c27e |
|
|
|
be3c27e |
- window->priv->settings = g_settings_new ("org.cinnamon.desktop.screensaver");
|
|
|
be3c27e |
window->priv->font_message = g_settings_get_string (window->priv->settings, "font-message");
|
|
|
be3c27e |
|
|
|
be3c27e |
g_signal_connect (window->priv->settings, "changed", G_CALLBACK (settings_changed_cb), window);
|
|
|
be3c27e |
@@ -2299,6 +2311,7 @@ gs_window_finalize (GObject *object)
|
|
|
be3c27e |
g_free (window->priv->away_message);
|
|
|
be3c27e |
g_free (window->priv->logout_command);
|
|
|
be3c27e |
g_free (window->priv->keyboard_command);
|
|
|
be3c27e |
+ g_free (window->priv->font_message);
|
|
|
be3c27e |
|
|
|
be3c27e |
if (window->priv->clock_tracker) {
|
|
|
be3c27e |
g_object_unref (window->priv->clock_tracker);
|
|
|
be3c27e |
@@ -2326,6 +2339,8 @@ gs_window_finalize (GObject *object)
|
|
|
be3c27e |
cairo_surface_destroy (window->priv->background_surface);
|
|
|
be3c27e |
}
|
|
|
be3c27e |
|
|
|
be3c27e |
+ g_clear_object (&window->priv->settings);
|
|
|
be3c27e |
+
|
|
|
be3c27e |
G_OBJECT_CLASS (gs_window_parent_class)->finalize (object);
|
|
|
be3c27e |
}
|
|
|
be3c27e |
|
|
|
be3c27e |
--
|
|
|
be3c27e |
2.1.0
|
|
|
be3c27e |
|