LINUX.ORG.RU

Утечка памяти в gtk.Label?

 , , ,


0

1

Заметил, что при каждом обновлении gtk.Label утекает память, при чем только в оффтопике.

import gtk
import gobject


def label_updater(label):
    global c
    label.set_text('updated label %06d' % c)
    c += 1
    return True

c = 0

w = gtk.Window()
w.set_size_request(300, 200)
w.connect('destroy', gtk.main_quit)

l = gtk.Label('label')

w.add(l)
w.show_all()

t = gobject.timeout_add(1000, label_updater, l)

gtk.main() 

Я что делаю не так или это баг? Гугл про утечки памяти в pygtk молчит.

Ответ на: комментарий от kernelpanic

Попробуй перед заданием новой строки удалять старую:
label.set_text(")
label.set_text(nil)
или как там в питоне :)

Попробуй чистить строку на более низком уровне, например на уровне GDK или строковых буферов.

Novator ★★★★★
()
Ответ на: комментарий от Novator

Но правильней конечно было бы качнуть исходники pygtk под шмунькас, исправить баг в функции .set_text() и выслать патч мейнтейнеру.

Novator ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.