Ejemplo n.º 1
0
static void
destroy_seed_info (SeedInfo *info)
{
  seed_value_unprotect (info->context, info->extensions);
  seed_context_unref (info->context);

  g_slice_free (SeedInfo, info);
}
Ejemplo n.º 2
0
static void
seed_xml_xpath_finalize (SeedObject object)
{
  xmlXPathContextPtr xpath = XML_XPATH_PRIV (object);
  // Maybe unsafe. Seems to work.
  seed_value_unprotect (eng->context, xpath->doc->_private);
  xmlXPathFreeContext (xpath);
}
Ejemplo n.º 3
0
static void
seed_ffi_function_finalize (SeedObject obj)
{
  seed_ffi_function_priv *priv = seed_object_get_private (obj);
  
  if (priv->signature_obj)
    {
      seed_value_unprotect (eng->context, priv->signature_obj);
      
      g_slice_free1 (priv->n_args * sizeof(GType), priv->args);
    }
  
  g_free (priv->name);
  g_slice_free1 (sizeof(seed_ffi_function_priv), priv); 

  seed_value_unprotect (eng->context, priv->module_obj);
}
Ejemplo n.º 4
0
static void
seed_xml_node_finalize (SeedObject object)
{
  xmlNodePtr node = XML_NODE_PRIV (object);
  if (!node)
    return;
  node->_private = NULL;
  // This might be invalid.
  if (node->doc->_private)
    seed_value_unprotect (eng->context, node->doc->_private);
}
Ejemplo n.º 5
0
static void
peas_extension_seed_dispose (GObject *object)
{
  PeasExtensionSeed *sexten = PEAS_EXTENSION_SEED (object);

  if (sexten->js_object != NULL)
    {
      seed_value_unprotect (sexten->js_context, sexten->js_object);
      seed_context_unref (sexten->js_context);

      sexten->js_object = NULL;
      sexten->js_context = NULL;
    }
}