CSS provider memory problem
- From: <adhc volny cz>
- To: <gtk-list gnome org>
- Subject: CSS provider memory problem
- Date: Thu, 19 Oct 2017 11:08:15 +0200
Hello,
I have in aplication many widget which some times change color (as atention of working device). I stil use
gtk_widget_override_color() function. I rewrite code to CSS-like styling for widgets. There is problem with
memmory.
I write simpy demonstration code:
int blink(GtkWidget *widget)
{
static int flag=0;
GtkStyleContext *style_context = gtk_widget_get_style_context(GTK_WIDGET(widget));
GtkCssProvider *provider = gtk_css_provider_new();
gtk_style_context_add_provider(style_context, GTK_STYLE_PROVIDER(provider),
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
g_object_unref(provider);
if(flag){
gtk_css_provider_load_from_data(provider, "*{background: red;}", -1, NULL);
flag = 0;
}else{
gtk_css_provider_load_from_data(provider, "*{background: white;}", -1, NULL);
flag = 1;
}
return(TRUE);
}
int main
{
.........
g_timeout_add(50, (GSourceFunc)blink, button);
...........
}
After starting this code, constantly rise amount of alocated memory. It seems that every use of
gtk_style_context_add_provider() add new provider, but the old one is not remove. Is there any way to remove
the old provider or get pointer to old provider from widget and reuse this one? Or any other solution?
Thanks much.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]