FreeBSD Bugzilla – Attachment 188385 Details for
Bug 223937
[patch] sysutils/xfce4-wavelan-plugin fix memory leak due to CSS changes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to fix mem leak in similar way to forthcoming upstream changes
patch-panel-plugin__wavelan.c (text/plain), 2.84 KB, created by
J.R. Oldroyd
on 2017-11-29 02:42:45 UTC
(
hide
)
Description:
patch to fix mem leak in similar way to forthcoming upstream changes
Filename:
MIME Type:
Creator:
J.R. Oldroyd
Created:
2017-11-29 02:42:45 UTC
Size:
2.84 KB
patch
obsolete
>--- panel-plugin/wavelan.c.orig 2016-10-29 06:46:02 UTC >+++ panel-plugin/wavelan.c >@@ -64,6 +64,9 @@ typedef struct > GtkWidget *image; > GtkWidget *signal; > GtkWidget *tooltip_text; >+#if GTK_CHECK_VERSION (3, 16, 0) >+ GtkCssProvider *css_provider; >+#endif > > XfcePanelPlugin *plugin; > >@@ -77,7 +80,6 @@ wavelan_set_state(t_wavelan *wavelan, gi > { > GdkRGBA color; > #if GTK_CHECK_VERSION (3, 16, 0) >- GtkCssProvider *css_provider; > gchar *css; > #endif > >@@ -99,11 +101,11 @@ wavelan_set_state(t_wavelan *wavelan, gi > > if (wavelan->signal_colors) { > /* set color */ >- if (state > 70) >+ if (state > 75) > gdk_rgba_parse(&color, signal_color_strong); >- else if (state > 55) >+ else if (state > 50) > gdk_rgba_parse(&color, signal_color_good); >- else if (state > 40) >+ else if (state > 25) > gdk_rgba_parse(&color, signal_color_weak); > else > gdk_rgba_parse(&color, signal_color_bad); >@@ -118,12 +120,7 @@ wavelan_set_state(t_wavelan *wavelan, gi > #endif > gdk_rgba_to_string(&color)); > /* Setup Gtk style */ >- css_provider = gtk_css_provider_new (); >- gtk_css_provider_load_from_data (css_provider, css, strlen(css), NULL); >- gtk_style_context_add_provider ( >- GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (wavelan->signal))), >- GTK_STYLE_PROVIDER (css_provider), >- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); >+ gtk_css_provider_load_from_data (wavelan->css_provider, css, strlen(css), NULL); > g_free(css); > #else > gtk_widget_override_background_color(GTK_WIDGET(wavelan->signal), >@@ -183,7 +180,15 @@ wavelan_timer(gpointer data) > } > } > else { >- wavelan_set_state(wavelan, stats.ws_quality); >+ /* >+ * Usual formula is: qual = 4 * (signal - noise) >+ * where noise is typically about -96dBm, but we don't have >+ * the actual noise value here, so approximate one. >+ */ >+ if (strcmp(stats.ws_qunit, "dBm") == 0) >+ wavelan_set_state(wavelan, 4 * (stats.ws_quality - (-96))); >+ else >+ wavelan_set_state(wavelan, stats.ws_quality); > > if (strlen(stats.ws_netname) > 0) > /* Translators: net_name: quality quality_unit at rate Mb/s*/ >@@ -338,6 +343,13 @@ wavelan_new(XfcePanelPlugin *plugin) > > /* setup progressbar */ > wavelan->signal = gtk_progress_bar_new(); >+#if GTK_CHECK_VERSION (3, 16, 0) >+ wavelan->css_provider = gtk_css_provider_new (); >+ gtk_style_context_add_provider ( >+ GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (wavelan->signal))), >+ GTK_STYLE_PROVIDER (wavelan->css_provider), >+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); >+#endif > wavelan->image = GTK_WIDGET(xfce_panel_image_new_from_source("network-wireless")); > > gtk_box_pack_start(GTK_BOX(wavelan->box), GTK_WIDGET(wavelan->image), FALSE, FALSE, 0);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 223937
:
188351
| 188385