コード例 #1
0
ファイル: iup_class.c プロジェクト: svn2github/iup-iup
void iupClassRelease(Iclass* ic)
{
  /* must release only the child class */
  if (ic->Release)
    ic->Release(ic);

  /* attributes functions table is released only on root classes */
  if (!ic->parent)
    iClassReleaseAttribFuncTable(ic);
}
コード例 #2
0
ファイル: iup_class.c プロジェクト: Vulcanior/IUP
void iupClassRelease(Iclass* ic)
{
  Iclass* parent;

  /* must call Release only for the actual class */
  if (ic->Release)
    ic->Release(ic);

  /* must free the pointer for all classes, 
     since a new instance is created when we inherit */
  parent = ic->parent;
  while (parent)
  {
    Iclass* ic_tmp = parent;
    parent = parent->parent;
    free(ic_tmp);
  }

  /* attributes functions table is released only once */
  iClassReleaseAttribFuncTable(ic);

  free(ic);
}