@@ -429,11 +429,20 @@ public ShellMode(string[] args)
429429 Btn_Cancel . Clicked += Cancel_Clicked ;
430430 Btn_Browse . Clicked += Browse_Clicked ;
431431 Lbl_InputInfo . Clicked += InputInfo_Clicked ;
432- Tf_Input . TextChanging += Input_TextChanging ;
433- Btn_Delete . Clicked += Delete_Clicked ;
434- Cb_Queue . Toggled += Queue_Checked ;
435- Btn_Queue . Clicked += Queue_Dialog ;
436- Btn_Next . Clicked += Next_Clicked ;
432+
433+ Tf_Input . TextChanging += delegate ( TextChangingEventArgs eventArgs )
434+ {
435+ if ( _inputVerifying ) {
436+ return ;
437+ }
438+
439+ Input_TextChanging ( eventArgs ) ;
440+ } ;
441+
442+ Btn_Delete . Clicked += Delete_Clicked ;
443+ Cb_Queue . Toggled += Queue_Checked ;
444+ Btn_Queue . Clicked += Queue_Dialog ;
445+ Btn_Next . Clicked += Next_Clicked ;
437446 // Btn_Reload.Clicked += Reload_Clicked;
438447
439448 Lbl_QueryUpload . Clicked += ( ) =>
@@ -631,8 +640,11 @@ internal void SetInputText(ustring s)
631640
632641 }
633642
643+ private Semaphore m_upload = new Semaphore ( 0 , 1 ) ;
644+
634645 private async Task < bool > TrySetQueryAsync ( ustring text )
635646 {
647+
636648 // TODO: IMPROVE
637649
638650 // Btn_Run.Enabled = false;
@@ -657,7 +669,7 @@ private async Task<bool> TrySetQueryAsync(ustring text)
657669 Lbl_Status2 . Text = ustring . Empty ;
658670 Btn_Delete . Enabled = false ;
659671 Btn_Reload . Enabled = false ;
660- _inputVerifying = false ;
672+ _inputVerifying = false ;
661673 return false ;
662674 }
663675
@@ -679,7 +691,7 @@ private async Task<bool> TrySetQueryAsync(ustring text)
679691 Tf_Input . ReadOnly = true ;
680692 Btn_Delete . Enabled = true ;
681693 Btn_Reload . Enabled = true ;
682- _inputVerifying = false ;
694+ _inputVerifying = false ;
683695
684696 return true ;
685697 }
@@ -764,6 +776,8 @@ private async Task<bool> TryUploadQueryAsync(SearchQuery sq)
764776
765777 #endregion
766778
779+ internal static bool _clipboardFile ;
780+
767781 private bool ClipboardCallback ( MainLoop c )
768782 {
769783 // Debug.WriteLine($"executing timeout {nameof(ClipboardCallback)} {c} {UseClipboard} {Clipboard.SequenceNumber}");
@@ -810,8 +824,11 @@ private bool ClipboardCallback(MainLoop c)
810824 }
811825
812826 Debug.WriteLine($"{str}");*/
827+ _clipboardFile = true ;
813828
814829 SetInputText ( str ) ;
830+ _clipboardFile = false ;
831+
815832 // Lbl_InputOk.Text = UI.Clp;
816833 Lbl_InputInfo . Text = R2 . Inf_Clipboard ;
817834
@@ -827,6 +844,7 @@ private bool ClipboardCallback(MainLoop c)
827844 r1 :
828845 c . RemoveTimeout ( m_cbCallbackTok ) ;
829846 m_cbCallbackTok = c . AddTimeout ( TimeoutTimeSpan , ClipboardCallback ) ;
847+ _clipboardFile = false ;
830848 return false ;
831849 }
832850 catch ( Exception e ) {
@@ -836,6 +854,7 @@ private bool ClipboardCallback(MainLoop c)
836854 finally { }
837855
838856 r2 :
857+ _clipboardFile = false ;
839858 // Debug.WriteLine($"{UseClipboard}");
840859 return true ;
841860 // return UseClipboard;
@@ -867,6 +886,7 @@ private async Task RunMainAsync()
867886
868887 private void Clear ( )
869888 {
889+ _inputVerifying = false ;
870890 Tf_Input . ReadOnly = false ;
871891
872892 Tf_Input . DeleteAll ( ) ;
@@ -903,7 +923,7 @@ private void Clear()
903923 m_results . Clear ( ) ;
904924
905925 _keyPressHandling = false ;
906- _inputVerifying = false ;
926+ _inputVerifying = false ;
907927 }
908928
909929 public void Close ( )
0 commit comments