Example #1
0
static void
osk_destroyed(glw_ps3_t *gp)
{
  glw_t *w = gp->osk_widget;
  assert(w != NULL);

  if(!(w->glw_flags & GLW_DESTROYING)) {
    event_t *e = event_create_action(ACTION_SUBMIT);
    glw_event_to_widget(w, e);
    event_release(e);
  }
  glw_unref(w);
  gp->osk_widget = NULL;

  if(gp->osk_container != 0xFFFFFFFFU)
    lv2MemContinerDestroy(gp->osk_container);
}
Example #2
0
void
glw_fini(glw_root_t *gr)
{
  if(gr->gr_osk_widget != NULL) {
    glw_unref(gr->gr_osk_widget);
    prop_unsubscribe(gr->gr_osk_text_sub);
    prop_unsubscribe(gr->gr_osk_ev_sub);
  }

  glw_text_bitmap_fini(gr);
  rstr_release(gr->gr_default_font);
  glw_tex_fini(gr);
  free(gr->gr_skin);
  prop_unsubscribe(gr->gr_evsub);
  pool_destroy(gr->gr_token_pool);
  pool_destroy(gr->gr_clone_pool);
  prop_courier_destroy(gr->gr_courier);
  hts_mutex_destroy(&gr->gr_mutex);
}