error: Return value transfers ownership but method return type hasn't been declared to transfer ownership

error: Return value transfers ownership but method return type hasn't been declared to transfer ownership

以下代码:

public string add_button_tooltip_markup {
    get { return add_button.get_tooltip_markup (); }
    set { add_button.tooltip_markup = value; }
}

给我以下错误:

error: Return value transfers ownership but method return type hasn't been declared to transfer ownership
        get { return add_button.get_tooltip_markup (); }

我正在使用 Vala 0.40.10。

在 Vala 中解决这个问题的最佳方法是什么?

将getter标记为拥有,如下:

public string add_button_tooltip_markup {
    owned get { return add_button.get_tooltip_markup (); }
    set { add_button.tooltip_markup = value; }
}

详情请见下页: https://wiki.gnome.org/Projects/Vala/ReferenceHandling