@@ -561,67 +561,70 @@ public void Save()
561561
562562 if ( ! screenshot . Saved && xDoc != null && screenshot ? . Format != null && ! string . IsNullOrEmpty ( screenshot . Format . Name ) )
563563 {
564- XmlElement xScreenshot = xDoc . CreateElement ( XML_FILE_SCREENSHOT_NODE ) ;
564+ lock ( xDoc )
565+ {
566+ XmlElement xScreenshot = xDoc . CreateElement ( XML_FILE_SCREENSHOT_NODE ) ;
565567
566- XmlElement xViedId = xDoc . CreateElement ( SCREENSHOT_VIEWID ) ;
567- xViedId . InnerText = screenshot . ViewId . ToString ( ) ;
568+ XmlElement xViedId = xDoc . CreateElement ( SCREENSHOT_VIEWID ) ;
569+ xViedId . InnerText = screenshot . ViewId . ToString ( ) ;
568570
569- XmlElement xDate = xDoc . CreateElement ( SCREENSHOT_DATE ) ;
570- xDate . InnerText = screenshot . Date ;
571+ XmlElement xDate = xDoc . CreateElement ( SCREENSHOT_DATE ) ;
572+ xDate . InnerText = screenshot . Date ;
571573
572- XmlElement xTime = xDoc . CreateElement ( SCREENSHOT_TIME ) ;
573- xTime . InnerText = screenshot . Time ;
574+ XmlElement xTime = xDoc . CreateElement ( SCREENSHOT_TIME ) ;
575+ xTime . InnerText = screenshot . Time ;
574576
575- XmlElement xPath = xDoc . CreateElement ( SCREENSHOT_PATH ) ;
576- xPath . InnerText = screenshot . Path ;
577+ XmlElement xPath = xDoc . CreateElement ( SCREENSHOT_PATH ) ;
578+ xPath . InnerText = screenshot . Path ;
577579
578- XmlElement xFormat = xDoc . CreateElement ( SCREENSHOT_FORMAT ) ;
579- xFormat . InnerText = screenshot . Format . Name ;
580+ XmlElement xFormat = xDoc . CreateElement ( SCREENSHOT_FORMAT ) ;
581+ xFormat . InnerText = screenshot . Format . Name ;
580582
581- XmlElement xComponent = xDoc . CreateElement ( SCREENSHOT_COMPONENT ) ;
582- xComponent . InnerText = screenshot . Component . ToString ( ) ;
583+ XmlElement xComponent = xDoc . CreateElement ( SCREENSHOT_COMPONENT ) ;
584+ xComponent . InnerText = screenshot . Component . ToString ( ) ;
583585
584- XmlElement xSlidename = xDoc . CreateElement ( SCREENSHOT_SLIDENAME ) ;
585- xSlidename . InnerText = screenshot . Slide . Name ;
586+ XmlElement xSlidename = xDoc . CreateElement ( SCREENSHOT_SLIDENAME ) ;
587+ xSlidename . InnerText = screenshot . Slide . Name ;
586588
587- XmlElement xSlidevalue = xDoc . CreateElement ( SCREENSHOT_SLIDEVALUE ) ;
588- xSlidevalue . InnerText = screenshot . Slide . Value ;
589+ XmlElement xSlidevalue = xDoc . CreateElement ( SCREENSHOT_SLIDEVALUE ) ;
590+ xSlidevalue . InnerText = screenshot . Slide . Value ;
589591
590- XmlElement xWindowTitle = xDoc . CreateElement ( SCREENSHOT_WINDOW_TITLE ) ;
591- xWindowTitle . InnerText = screenshot . WindowTitle ;
592+ XmlElement xWindowTitle = xDoc . CreateElement ( SCREENSHOT_WINDOW_TITLE ) ;
593+ xWindowTitle . InnerText = screenshot . WindowTitle ;
592594
593- XmlElement xLabel = xDoc . CreateElement ( SCREENSHOT_LABEL ) ;
594- xLabel . InnerText = screenshot . Label ;
595+ XmlElement xLabel = xDoc . CreateElement ( SCREENSHOT_LABEL ) ;
596+ xLabel . InnerText = screenshot . Label ;
595597
596- xScreenshot . AppendChild ( xViedId ) ;
597- xScreenshot . AppendChild ( xDate ) ;
598- xScreenshot . AppendChild ( xTime ) ;
599- xScreenshot . AppendChild ( xPath ) ;
600- xScreenshot . AppendChild ( xFormat ) ;
601- xScreenshot . AppendChild ( xComponent ) ;
602- xScreenshot . AppendChild ( xSlidename ) ;
603- xScreenshot . AppendChild ( xSlidevalue ) ;
604- xScreenshot . AppendChild ( xWindowTitle ) ;
605- xScreenshot . AppendChild ( xLabel ) ;
598+ xScreenshot . AppendChild ( xViedId ) ;
599+ xScreenshot . AppendChild ( xDate ) ;
600+ xScreenshot . AppendChild ( xTime ) ;
601+ xScreenshot . AppendChild ( xPath ) ;
602+ xScreenshot . AppendChild ( xFormat ) ;
603+ xScreenshot . AppendChild ( xComponent ) ;
604+ xScreenshot . AppendChild ( xSlidename ) ;
605+ xScreenshot . AppendChild ( xSlidevalue ) ;
606+ xScreenshot . AppendChild ( xWindowTitle ) ;
607+ xScreenshot . AppendChild ( xLabel ) ;
606608
607- XmlNode xScreenshots = xDoc . SelectSingleNode ( SCREENSHOTS_XPATH ) ;
609+ XmlNode xScreenshots = xDoc . SelectSingleNode ( SCREENSHOTS_XPATH ) ;
608610
609- if ( xScreenshots != null )
610- {
611- if ( xScreenshots . HasChildNodes )
612- {
613- xScreenshots . InsertAfter ( xScreenshot , xScreenshots . LastChild ) ;
614- }
615- else
611+ if ( xScreenshots != null )
616612 {
617- xScreenshots . AppendChild ( xScreenshot ) ;
618- }
613+ if ( xScreenshots . HasChildNodes )
614+ {
615+ xScreenshots . InsertAfter ( xScreenshot , xScreenshots . LastChild ) ;
616+ }
617+ else
618+ {
619+ xScreenshots . AppendChild ( xScreenshot ) ;
620+ }
619621
620- xDoc . Save ( FileSystem . ApplicationFolder + FileSystem . ScreenshotsFile ) ;
622+ xDoc . Save ( FileSystem . ApplicationFolder + FileSystem . ScreenshotsFile ) ;
621623
622- screenshot . Saved = true ;
624+ screenshot . Saved = true ;
623625
624- _screenshotList [ i ] = screenshot ;
626+ _screenshotList [ i ] = screenshot ;
627+ }
625628 }
626629 }
627630 }
0 commit comments