|
@@ -869,7 +869,13 @@ int OPINV_ManagedSave(laOperator *a, laEvent *e){
|
|
|
int empty=0; laRegisterModifications(0,1,&empty,0);
|
|
|
if(strSame(strGetArgumentString(a->ExtraInstructionsP, "ignore_unassigned"),"true")) empty=0;
|
|
|
int modified_only=0; if(strSame(strGetArgumentString(a->ExtraInstructionsP, "modified_only"),"true")) modified_only=1;
|
|
|
- if(!empty){ laSaveManagedUDF(modified_only); return LA_FINISHED; }
|
|
|
+ if(!empty){
|
|
|
+ if(!laSaveManagedUDF(modified_only)){
|
|
|
+ laEnableMessagePanel(0,0,"Caution",
|
|
|
+ "Not all files have been successfully written.\nSee messages in terminal for details.",e->x,e->y,400,e);
|
|
|
+ }
|
|
|
+ return LA_FINISHED;
|
|
|
+ }
|
|
|
}
|
|
|
if(strSame(strGetArgumentString(a->ExtraInstructionsP, "on_exit"),"true")){ OnExit=1; }
|
|
|
}
|
|
@@ -891,7 +897,7 @@ int OPMOD_ManagedSave(laOperator *a, laEvent *e){
|
|
|
if(a->ConfirmData->Mode==LA_CONFIRM_CUSTOM_STRING && strSame(a->ConfirmData->StrData,"DISCARD_AND_QUIT")){
|
|
|
return LA_OPERATOR_CALLS_SHUTOFF;
|
|
|
}
|
|
|
- if(a->ConfirmData->Mode==LA_CONFIRM_CANCEL||a->ConfirmData->Mode==LA_CONFIRM_OK) return LA_FINISHED;
|
|
|
+ if(a->ConfirmData->Mode==LA_CONFIRM_CANCEL) return LA_FINISHED;
|
|
|
return LA_RUNNING;
|
|
|
}
|
|
|
|
|
@@ -2418,9 +2424,12 @@ int OPMOD_ModalPanel(laOperator *a, laEvent *e){
|
|
|
if (a->ConfirmData->Mode == LA_CONFIRM_DATA||a->ConfirmData->Mode==LA_CONFIRM_CUSTOM_STRING){
|
|
|
return LA_RUNNING_PASS;
|
|
|
}
|
|
|
- la_StopUiOperatorService(p);
|
|
|
- laDestroySinglePanel(p,0);
|
|
|
- return LA_FINISHED_PASS;
|
|
|
+ if(!p->ParentOperator){
|
|
|
+ la_StopUiOperatorService(p);
|
|
|
+ laDestroySinglePanel(p,0);
|
|
|
+ return LA_FINISHED_PASS;
|
|
|
+ }
|
|
|
+ return LA_RUNNING_PASS;
|
|
|
}
|
|
|
|
|
|
if (!laIsInPanel(p, e->x, e->y) && !uid->TargetIndexVali){
|