Example #1
0
/* [user thread] */
bool _al_update_menu_item_at(ALLEGRO_MENU_ITEM *item, int i)
{
   if (item->extra1) {
      ARGS *args = make_menu_item_args(item, i);
      if (!args)
         return false;
         
      g_timeout_add(0, do_update_menu_item_at, args);
   }
   return true;
}
Example #2
0
/* [user thread] */
bool _al_update_menu_item_at(ALLEGRO_MENU_ITEM *item, int i)
{
   if (item->extra1) {
      ARGS args;

      if (!make_menu_item_args(&args, item, i))
         return false;

      _al_gtk_wait_for_args(do_update_menu_item_at, &args);
   }
   return true;
}
Example #3
0
/* [user thread] */
bool _al_destroy_menu_item_at(ALLEGRO_MENU_ITEM *item, int i)
{
   if (item->extra1) {
      ARGS *args = make_menu_item_args(item, i);
      if (!args)
         return false;
         
      wait_for_args(do_destroy_menu_item_at, args);
      
      if (item->popup) {
         /* if this has a submenu, then deleting this item will have automatically
            deleted all of its GTK widgets */
         _al_walk_over_menu(item->popup, clear_menu_extras, NULL);
      }
   }
   return true;
}