|  | @@ -7480,6 +7480,23 @@ int laOperatorAvailableSafe(char *ID, laPropPack *This, void *Real_FromInstance,
 | 
											
												
													
														|  |      return laOperatorAvailablePSafe(at, This, Real_FromInstance, Instructions);
 |  |      return laOperatorAvailablePSafe(at, This, Real_FromInstance, Instructions);
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +void la_EnsureLocalizedEvent(laOperator *From, laOperator *a, laEvent *e){
 | 
											
												
													
														|  | 
 |  | +    laOperatorType *at=a->Type;
 | 
											
												
													
														|  | 
 |  | +    if (e&&!e->Localized && at->ExtraMark & LA_EXTRA_TO_PANEL){
 | 
											
												
													
														|  | 
 |  | +        laWindowToLocal(0, a->ToPanel, &e->x, &e->y);
 | 
											
												
													
														|  | 
 |  | +        e->Localized = 1;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    if (e&&e->Localized){
 | 
											
												
													
														|  | 
 |  | +        if (!at->ExtraMark & LA_EXTRA_TO_PANEL){
 | 
											
												
													
														|  | 
 |  | +            laLocalToWindow(From, From->ToPanel, &e->x, &e->y);
 | 
											
												
													
														|  | 
 |  | +            e->Localized = 0;
 | 
											
												
													
														|  | 
 |  | +        }else{
 | 
											
												
													
														|  | 
 |  | +            laLocalToWindow(From, From->ToPanel, &e->x, &e->y);
 | 
											
												
													
														|  | 
 |  | +            laWindowToLocal(a, a->ToPanel, &e->x, &e->y);
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  |  int laInvokeP(laOperator *From, laOperatorType *at, laEvent *e, laPropPack *This, char *args, char *args2){
 |  |  int laInvokeP(laOperator *From, laOperatorType *at, laEvent *e, laPropPack *This, char *args, char *args2){
 | 
											
												
													
														|  |      laOperator *a, *f = From;
 |  |      laOperator *a, *f = From;
 | 
											
												
													
														|  |      int rev;
 |  |      int rev;
 | 
											
										
											
												
													
														|  | @@ -7501,20 +7518,7 @@ int laInvokeP(laOperator *From, laOperatorType *at, laEvent *e, laPropPack *This
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      lstGeneratePointerList(f ? &f->LocalUiLists : 0, 0, &a->LocalUiLists);
 |  |      lstGeneratePointerList(f ? &f->LocalUiLists : 0, 0, &a->LocalUiLists);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    if (e&&!e->Localized && at->ExtraMark & LA_EXTRA_TO_PANEL){
 |  | 
 | 
											
												
													
														|  | -        laWindowToLocal(0, a->ToPanel, &e->x, &e->y);
 |  | 
 | 
											
												
													
														|  | -        e->Localized = 1;
 |  | 
 | 
											
												
													
														|  | -    }
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    if (e&&e->Localized){
 |  | 
 | 
											
												
													
														|  | -        if (!at->ExtraMark & LA_EXTRA_TO_PANEL){
 |  | 
 | 
											
												
													
														|  | -            laLocalToWindow(f, f->ToPanel, &e->x, &e->y);
 |  | 
 | 
											
												
													
														|  | -            e->Localized = 0;
 |  | 
 | 
											
												
													
														|  | -        }else{
 |  | 
 | 
											
												
													
														|  | -            laLocalToWindow(f, f->ToPanel, &e->x, &e->y);
 |  | 
 | 
											
												
													
														|  | -            laWindowToLocal(a, a->ToPanel, &e->x, &e->y);
 |  | 
 | 
											
												
													
														|  | -        }
 |  | 
 | 
											
												
													
														|  | -    }
 |  | 
 | 
											
												
													
														|  | 
 |  | +    la_EnsureLocalizedEvent(From,a,e);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      if (From) f->Child = a;
 |  |      if (From) f->Child = a;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -7580,7 +7584,7 @@ int laInvokePCreateThis(laOperator *From, laOperatorType *at, laEvent *e, laProp
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      lstGeneratePointerList(f ? &f->LocalUiLists : 0, 0, &a->LocalUiLists);
 |  |      lstGeneratePointerList(f ? &f->LocalUiLists : 0, 0, &a->LocalUiLists);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    if (e&&!e->Localized && at->ExtraMark & LA_EXTRA_TO_PANEL) laWindowToLocal(0, a->ToPanel, &e->x, &e->y);
 |  | 
 | 
											
												
													
														|  | 
 |  | +    la_EnsureLocalizedEvent(From,a,e);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      if (From) f->Child = a;
 |  |      if (From) f->Child = a;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -7616,6 +7620,8 @@ int laInvokeUiP(laOperator *From, laOperatorType *at, laEvent *e, void *inst, la
 | 
											
												
													
														|  |      a->ToPanel = MAIN.ToPanel;
 |  |      a->ToPanel = MAIN.ToPanel;
 | 
											
												
													
														|  |      if (!IgnoreLocals) lstGeneratePointerList(f ? &f->LocalUiLists : 0, Locals, &a->LocalUiLists);
 |  |      if (!IgnoreLocals) lstGeneratePointerList(f ? &f->LocalUiLists : 0, Locals, &a->LocalUiLists);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    la_EnsureLocalizedEvent(From,a,e);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      if (From) f->Child = a;
 |  |      if (From) f->Child = a;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      a->Using = 1;
 |  |      a->Using = 1;
 |