static int pack_all_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event)) { Main *bmain = CTX_data_main(C); Image *ima; ImBuf *ibuf; // first check for dirty images for (ima = bmain->image.first; ima; ima = ima->id.next) { if (BKE_image_has_loaded_ibuf(ima)) { /* XXX FIX */ ibuf = BKE_image_acquire_ibuf(ima, NULL, NULL); if (ibuf && (ibuf->userflags & IB_BITMAPDIRTY)) { BKE_image_release_ibuf(ima, ibuf, NULL); break; } BKE_image_release_ibuf(ima, ibuf, NULL); } } if (ima) { return WM_operator_confirm_message(C, op, "Some images are painted on. These changes will be lost. Continue?"); } return pack_all_exec(C, op); }
static int file_directory_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) { SpaceFile *sfile= CTX_wm_space_file(C); if(sfile->params) { file_expand_directory(C); if (!BLI_exists(sfile->params->dir)) { return WM_operator_confirm_message(C, op, "Create new directory?"); } return file_directory_exec(C, op); } return OPERATOR_CANCELLED; }
static int unpack_libraries_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event)) { return WM_operator_confirm_message(C, op, "Unpack Blender Libraries - creates directories, all new paths should work"); }