@@ -423,7 +423,7 @@ private bool ContinueWork()
423423 var c = UIThread ( ( ) =>
424424 {
425425 bool cw = false ;
426- lock ( m_slUpdateCheck )
426+ lock ( m_lock ) //lock (m_lockUpdateCheck )
427427 {
428428 if ( m_slUpdateCheck == null ) cw = false ;
429429 else cw = m_slUpdateCheck . ContinueWork ( ) ;
@@ -440,7 +440,7 @@ private void EndLogging()
440440 {
441441 UIThread ( ( ) =>
442442 {
443- lock ( m_slUpdateCheck )
443+ lock ( m_lock ) //lock (m_lockUpdateCheck )
444444 {
445445 if ( m_slUpdateCheck != null ) m_slUpdateCheck . EndLogging ( ) ;
446446 m_slUpdateCheck = null ;
@@ -645,6 +645,7 @@ private void OnUpdateCheckFormShown(object sender, EventArgs e)
645645 }
646646 continue ;
647647 }
648+ bool bFoundPluginUpdateDetails = false ;
648649 foreach ( PluginUpdate upd in PluginUpdateHandler . Plugins )
649650 {
650651 if ( item . SubItems [ 0 ] . Text != upd . Title ) continue ;
@@ -655,6 +656,7 @@ private void OnUpdateCheckFormShown(object sender, EventArgs e)
655656 lvPlugins . KeyPress += LvPlugins_KeyPress ;
656657 bColumnAdded = true ;
657658 }
659+ bFoundPluginUpdateDetails = true ;
658660 ListViewItem . ListViewSubItem lvsiUpdate = new ListViewItem . ListViewSubItem ( item , PluginTranslate . PluginUpdate ) ;
659661 lvsiUpdate . Name = "EarlyUpdateCheck_UpdateColumn_Item" + item . Index . ToString ( ) ;
660662 lvsiUpdate . Tag = upd ;
@@ -676,10 +678,13 @@ private void OnUpdateCheckFormShown(object sender, EventArgs e)
676678 }
677679 break ;
678680 }
679- var opns = new OtherPluginNotSupported ( item . SubItems [ 0 ] . Text ) ;
680- opns . SetData ( item . SubItems [ 2 ] . Text , item . SubItems [ 3 ] . Text ) ;
681- PluginUpdateHandler . Plugins . RemoveAll ( x => x . Title == opns . Title ) ;
682- PluginUpdateHandler . Plugins . Add ( opns ) ;
681+ if ( ! bFoundPluginUpdateDetails )
682+ {
683+ var opns = new OtherPluginNotSupported ( item . SubItems [ 0 ] . Text ) ;
684+ opns . SetData ( item . SubItems [ 2 ] . Text , item . SubItems [ 3 ] . Text ) ;
685+ PluginUpdateHandler . Plugins . RemoveAll ( x => x . Title == opns . Title ) ;
686+ PluginUpdateHandler . Plugins . Add ( opns ) ;
687+ }
683688 }
684689 PluginConfig . SetKnownPluginVersions ( PluginUpdateHandler . Plugins ) ;
685690 if ( bColumnAdded )
@@ -876,7 +881,7 @@ private void SetUpdateButtonText(Button bUpdate, object oKeePassUpdate)
876881 bUpdate . Text = kpu . Selected ? PluginTranslate . PluginUpdate : PluginTranslate . PluginUpdateSelected ;
877882 }
878883 else if ( bAtLeast1PluginSelected ) bUpdate . Text = PluginTranslate . PluginUpdateSelected ;
879- else if ( kpu != null & kpu . Selected ) bUpdate . Text = PluginTranslate . PluginUpdateKeePass ;
884+ else if ( kpu != null && kpu . Selected ) bUpdate . Text = PluginTranslate . PluginUpdateKeePass ;
880885 else
881886 {
882887 bUpdate . Enabled = false ;
0 commit comments