summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch121
-rw-r--r--meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch41
-rw-r--r--meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb (renamed from meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb)6
3 files changed, 1 insertions, 167 deletions
diff --git a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch
deleted file mode 100644
index ae8bc5279d..0000000000
--- a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch
+++ /dev/null
@@ -1,121 +0,0 @@
1From f86486e128f62ed5a531163535d11f0aa0268928 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3Date: Sun, 5 May 2019 20:45:26 +0200
4Subject: [PATCH] Fix memory-leak and reduce cpu-load slightly
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9* when setting font remove old css provider befor setting new
10 -> fix memory leak
11* do call cpufreq_label_set_font only on init and when font was changed
12 -> reduce cpu-load
13
14Fixes https://bugzilla.xfce.org/show_bug.cgi?id=15218
15
16Upstream-Status: Submitted [1]
17
18[1] https://bugzilla.xfce.org/attachment.cgi?id=8492
19
20Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
21
22---
23 panel-plugin/xfce4-cpufreq-configure.c | 4 ++++
24 panel-plugin/xfce4-cpufreq-plugin.c | 13 +++++++++++--
25 panel-plugin/xfce4-cpufreq-plugin.h | 2 ++
26 3 files changed, 17 insertions(+), 2 deletions(-)
27
28diff --git a/panel-plugin/xfce4-cpufreq-configure.c b/panel-plugin/xfce4-cpufreq-configure.c
29index 1205fc9..48e72ff 100644
30--- a/panel-plugin/xfce4-cpufreq-configure.c
31+++ b/panel-plugin/xfce4-cpufreq-configure.c
32@@ -85,7 +85,10 @@ button_fontname_update(GtkWidget *button, gboolean update_plugin)
33 }
34
35 if (update_plugin)
36+ {
37+ cpufreq_label_set_font ();
38 cpufreq_update_plugin (TRUE);
39+ }
40 }
41
42
43@@ -155,6 +158,7 @@ button_fontcolor_clicked (GtkWidget *button, void *data)
44 gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), color);
45 cpuFreq->options->fontcolor = gdk_rgba_to_string (color);
46 g_free (color);
47+ cpufreq_label_set_font ();
48 cpufreq_update_plugin (TRUE);
49 }
50
51diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c
52index e886121..8d7c9e5 100644
53--- a/panel-plugin/xfce4-cpufreq-plugin.c
54+++ b/panel-plugin/xfce4-cpufreq-plugin.c
55@@ -44,6 +44,7 @@ cpufreq_label_set_font (void)
56 {
57 gchar *css = NULL, *css_font = NULL, *css_color = NULL;
58 GtkCssProvider *provider;
59+ GtkStyleContext *context;
60 PangoFontDescription *font;
61
62 if (G_UNLIKELY (cpuFreq->label == NULL))
63@@ -76,11 +77,17 @@ cpufreq_label_set_font (void)
64 if (css)
65 {
66 provider = gtk_css_provider_new ();
67+ context = GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label)));
68+
69+ if (currentProvider)
70+ gtk_style_context_remove_provider (context, currentProvider);
71
72 gtk_css_provider_load_from_data (provider, css, -1, NULL);
73 gtk_style_context_add_provider (
74- GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (cpuFreq->label))),
75+ context,
76 GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
77+
78+ currentProvider = provider;
79 }
80
81 g_free (css);
82@@ -420,7 +427,6 @@ cpufreq_update_plugin (gboolean reset_label_size)
83
84 if (cpuFreq->layout_changed)
85 {
86- cpufreq_label_set_font ();
87 cpufreq_widgets_layout ();
88 }
89
90@@ -601,6 +607,7 @@ cpufreq_widgets (void)
91
92 gtk_widget_show_all (cpuFreq->button);
93
94+ cpufreq_label_set_font ();
95 cpufreq_update_plugin (TRUE);
96 }
97
98@@ -775,6 +782,8 @@ cpufreq_construct (XfcePanelPlugin *plugin)
99 {
100 xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
101
102+ currentProvider = NULL;
103+
104 cpuFreq = g_new0 (CpuFreqPlugin, 1);
105 cpuFreq->options = g_new0 (CpuFreqPluginOptions, 1);
106 cpuFreq->plugin = plugin;
107diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h
108index a6895e4..6338698 100644
109--- a/panel-plugin/xfce4-cpufreq-plugin.h
110+++ b/panel-plugin/xfce4-cpufreq-plugin.h
111@@ -95,6 +95,8 @@ typedef struct
112
113 extern CpuFreqPlugin *cpuFreq;
114
115+GtkCssProvider *currentProvider;
116+
117 G_BEGIN_DECLS
118
119 void
120---
1212.20.1
diff --git a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch
deleted file mode 100644
index 95605f83ae..0000000000
--- a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1Fix build with -fno-common
2
3Part of Patch from https://src.fedoraproject.org/rpms/xfce4-cpufreq-plugin/raw/master/f/xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch
4
5Upstream-Status: Pending
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Refresh for xfce4-cpufreq-plugin 1.2.2.
9
10Signed-off-by: Kai Kang <kai.kang@windriver.com>
11
12---
13 panel-plugin/xfce4-cpufreq-plugin.c | 1 +
14 panel-plugin/xfce4-cpufreq-plugin.h | 2 +-
15 2 files changed, 2 insertions(+), 1 deletion(-)
16
17diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c
18index 1e33492..ce9e302 100644
19--- a/panel-plugin/xfce4-cpufreq-plugin.c
20+++ b/panel-plugin/xfce4-cpufreq-plugin.c
21@@ -38,6 +38,7 @@
22 #endif /* __linux__ */
23
24 CpuFreqPlugin *cpuFreq;
25+GtkCssProvider *currentProvider;
26
27 void
28 cpufreq_label_set_font (void)
29diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h
30index 8cd0d33..7dbccef 100644
31--- a/panel-plugin/xfce4-cpufreq-plugin.h
32+++ b/panel-plugin/xfce4-cpufreq-plugin.h
33@@ -95,7 +95,7 @@ typedef struct
34
35 extern CpuFreqPlugin *cpuFreq;
36
37-GtkCssProvider *currentProvider;
38+extern GtkCssProvider *currentProvider;
39
40 G_BEGIN_DECLS
41
diff --git a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb
index 3b7b9ec5da..8fef520271 100644
--- a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.2.bb
+++ b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.2.5.bb
@@ -5,8 +5,4 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36"
5 5
6inherit xfce-panel-plugin 6inherit xfce-panel-plugin
7 7
8SRC_URI[sha256sum] = "500f04b8d857c96da8c8c7a4eecba30a903d0fce6e35a05e674529e43b47e498" 8SRC_URI[sha256sum] = "f8bd728de2d33e7ab30c682716b1cac4776b9884ce48b03fd7c32c9b24b13498"
9
10SRC_URI += "file://0001-Fix-memory-leak-and-reduce-cpu-load-slightly.patch \
11 file://xfce4-cpufreq-plugin-1.2.1-gcc10-common.patch \
12 "