0

我需要创建 GdkPixBuf 集合。我尝试将 pixbufs 保存在 GList - mw->disp_list 中:

GtkTreeIter iter;
int i = 0;

for (i; i < g_list_length(list) - 1; ++i)
{                       
  char* file = image_list_get_current_file_path( list );

  mw->p1 = gdk_pixbuf_new_from_file(file,NULL);
  mw->p1 = scale_pix(mw->p1,128);

  mw->disp_list = g_list_append (mw->disp_list, mw->p1);

  if (!mw->img_list->current->next )
      image_list_get_first(mw->img_list);
  else
      image_list_get_next(mw->img_list);
}

其中 p1 - 它是 GtkPixBuf*。

但是当我尝试在另一个函数中使用 mw->disp_list 时,我发现它为 NULL。怎么了?

谢谢你。

4

1 回答 1

1

目前我只看到一个问题,它应该是关于循环的:

for (i = 0; i < g_list_length(list); ++i)

问题可能是 -1:如果列表包含 1 个元素,则根本不循环,因为 1-1 = 0 并且0 < 0为假。

于 2010-07-02T10:39:23.517 回答