remove asset while preview active segv fix, guard against segv with missing asset...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / assetpopup.C
index c9bac6fd1d9bbae4dda377d2e0493703ae6dc4cc..102c803c8d943b36e1cbbed377021244b170d451 100644 (file)
@@ -359,9 +359,11 @@ AssetPopupProjectRemove::~AssetPopupProjectRemove()
 
 int AssetPopupProjectRemove::handle_event()
 {
+       popup->gui->unlock_window();
        mwindow->remove_assets_from_project(1, 1,
                mwindow->session->drag_assets,
                mwindow->session->drag_clips);
+       popup->gui->lock_window("AssetPopupProjectRemove::handle_event");
        return 1;
 }
 
@@ -404,6 +406,13 @@ void AssetListMenu::create_objects()
 {
        add_item(load_file = new AssetPopupLoadFile(mwindow, gui));
        add_item(format = new AWindowListFormat(mwindow, gui));
+       add_item(select_used = new AssetSelectUsed(mwindow, gui));
+       BC_SubMenu *submenu;
+       select_used->add_submenu(submenu = new BC_SubMenu());
+       submenu->add_submenuitem(new AssetSelectUsedItem(select_used, _("All"), SELECT_ALL));
+       submenu->add_submenuitem(new AssetSelectUsedItem(select_used, _("Used"), SELECT_USED));
+       submenu->add_submenuitem(new AssetSelectUsedItem(select_used, _("Unused"), SELECT_UNUSED));
+       submenu->add_submenuitem(new AssetSelectUsedItem(select_used, _("None"), SELECT_NONE));
        add_item(new AWindowListSort(mwindow, gui));
        add_item(new AssetListCopy(mwindow, gui));
        add_item(new AssetListPaste(mwindow, gui));