0
我已經安裝了末了-in-one軟件包GTK +適用於Windows 32位內存。GTK +:泄漏與gtk_label_set_text
我有功能gtk_label_set_text
一個問題:當它被稱爲遞歸
有下面的示例代碼它泄漏內存。它每20秒鐘泄漏約1Mb的內存
#include <gtk/gtk.h>
gboolean update_label(gpointer);
int main(int argc, char ** argv)
{
GtkWidget *window;
GtkWidget *label = NULL;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
label = gtk_label_new(NULL);
gtk_container_add(GTK_CONTAINER(window),label);
gtk_widget_show_all(window);
g_timeout_add(10,(GtkFunction)update_label,label);
gtk_main();
return 0;
}
gboolean update_label(gpointer data)
{
GtkWidget *label = data;
gchar tmpbuf[100];
sprintf(tmpbuf , "Random text %i\n",rand());
gtk_label_set_text(GTK_LABEL(label),tmpbuf);
return TRUE;
}
該代碼創建一個帶標籤的窗口並每隔10 ms更新一次。 有人可以幫我嗎? GTK +庫或我的代碼中是否有錯誤? 感謝
2.24.10, 我試過讀取錯誤685959,但這對我來說並不簡單。 據我所知,他們解決,它應該在14年2月24日的版本中解決,但我不明白如何與當前版本繞過它。 我GtkLabel的是一個計時器,我必須更新它每100毫秒。 你有什麼建議嗎? 謝謝。 – user2424147
要麼你升級到2.24.14,要麼你使用[bug](https://bug685959.bugzilla-attachments.gnome.org/attachment.cgi?id=227018)重新構建GTK,並聲明爲對該bug負責。 – liberforce