summaryrefslogtreecommitdiff
path: root/mate-panel/panel-background.c
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/panel-background.c')
-rw-r--r--mate-panel/panel-background.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/mate-panel/panel-background.c b/mate-panel/panel-background.c
index 4ac5d589..0fae438e 100644
--- a/mate-panel/panel-background.c
+++ b/mate-panel/panel-background.c
@@ -490,16 +490,13 @@ static void
panel_background_set_image_no_update (PanelBackground *background,
const char *image)
{
- if (background->loaded_image)
- g_object_unref (background->loaded_image);
- background->loaded_image = NULL;
-
- if (background->image)
- g_free (background->image);
- background->image = NULL;
+ g_clear_object (&background->loaded_image);
+ g_free (background->image);
if (image && image [0])
background->image = g_strdup (image);
+ else
+ background->image = NULL;
panel_background_update_has_alpha (background);
}
@@ -756,17 +753,10 @@ panel_background_free (PanelBackground *background)
{
free_transformed_resources (background);
- if (background->image)
- g_free (background->image);
- background->image = NULL;
-
- if (background->loaded_image)
- g_object_unref (background->loaded_image);
- background->loaded_image = NULL;
+ g_clear_pointer (&background->image, g_free);
- if (background->window)
- g_object_unref (background->window);
- background->window = NULL;
+ g_clear_object (&background->loaded_image);
+ g_clear_object (&background->window);
if (background->default_pattern)
cairo_pattern_destroy (background->default_pattern);