gdk_color_copy真的分配内存吗?

时间:2015-04-27 18:24:46

标签: c gtk gdk

我对gdk docs的印象是gdk_color_copy分配内存:

  

制作颜色结构的副本。必须使用释放结果   gdk_color_free()。​​

未来版本gdk_rgba_copy显然会:

  

新分配的GdkRGBA,其内容与rgba

相同

尽管如此,我在代码中遇到内存错误,其中包含以下内容(my_struct.colorGdkColor *,初始化为NULL):

if (my_struct.color != NULL) {
    gdk_color_free(my_struct.color);
}   
my_struct.color = gdk_color_copy(color);

以下似乎有效:

if (my_struct.color == NULL) {
    my_struct.color = malloc(sizeof(GdkColor));
}   
memcpy(my_struct.color, color, sizeof(GdkColor));

0 个答案:

没有答案