История изменений
Исправление alysnix, (текущая версия) :
Та вот освобождаю разными методами, но все равно течет
освобождать надо методом описанным в доке
Free with g_object_unref().
а не разными.
в цикле, что ты привел, никакого g_object_unref() нет, и тут создается 10 обьектов, все они присваиваются в один указатель, и потому остатается только адрес последнего. а 9 теряются.
или ты опять привел только «кусок»?
цикл должен выглядеть как-то так
for (int count = 0; count < 10; ++count) {
GDBusMessage *call_message = g_dbus_message_new_method_call(
"org.ayatana.bamf", "123456", "org.ayatana.bamf.view", "Parents");
...
//тут что то делаем с этим call_message
...
g_object_unref(call_message); ///тут отпускаем call_message
}
Исходная версия alysnix, :
Та вот освобождаю разными методами, но все равно течет
освобождать надо методом описанным в доке
Free with g_object_unref().
а не разными.
в цикле, что ты привел, никакого g_object_unref() нет, и тут создается 10 обьектов, все они присваиваются в один указатель, и потому остатается только адрес последнего. а 9 теряются.
или ты опять привел только «кусок»?