[gnome-flashback] desktop: avoid unneeded work
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-flashback] desktop: avoid unneeded work
- Date: Tue, 29 Oct 2019 13:31:35 +0000 (UTC)
commit 03e2e801780877be973c90c5db875a737ce4813b
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Tue Oct 29 00:11:10 2019 +0200
desktop: avoid unneeded work
Call draw_background_changed and show_icons_changed functions in
gf_desktop_window_constructed only if values are default. This
should ensure that both functions are called only once when object
is constructed.
gnome-flashback/libdesktop/gf-desktop-window.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
---
diff --git a/gnome-flashback/libdesktop/gf-desktop-window.c b/gnome-flashback/libdesktop/gf-desktop-window.c
index 380818f..b1de2c9 100644
--- a/gnome-flashback/libdesktop/gf-desktop-window.c
+++ b/gnome-flashback/libdesktop/gf-desktop-window.c
@@ -93,13 +93,19 @@ static void
gf_desktop_window_constructed (GObject *object)
{
GfDesktopWindow *self;
+ GParamSpecBoolean *spec;
self = GF_DESKTOP_WINDOW (object);
G_OBJECT_CLASS (gf_desktop_window_parent_class)->constructed (object);
- draw_background_changed (self);
- show_icons_changed (self);
+ spec = (GParamSpecBoolean *) window_properties[PROP_DRAW_BACKGROUND];
+ if (self->draw_background == spec->default_value)
+ draw_background_changed (self);
+
+ spec = (GParamSpecBoolean *) window_properties[PROP_SHOW_ICONS];
+ if (self->show_icons == spec->default_value)
+ show_icons_changed (self);
}
static void
@@ -168,8 +174,13 @@ gf_desktop_window_class_init (GfDesktopWindowClass *self_class)
static void
gf_desktop_window_init (GfDesktopWindow *self)
{
- self->draw_background = TRUE;
- self->show_icons = TRUE;
+ GParamSpecBoolean *spec;
+
+ spec = (GParamSpecBoolean *) window_properties[PROP_DRAW_BACKGROUND];
+ self->draw_background = spec->default_value;
+
+ spec = (GParamSpecBoolean *) window_properties[PROP_SHOW_ICONS];
+ self->show_icons = spec->default_value;
}
GtkWidget *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]