File tree Expand file tree Collapse file tree 1 file changed +23
-6
lines changed
Expand file tree Collapse file tree 1 file changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -441,11 +441,17 @@ const DrawPageCore: React.FC<{
441441 }
442442
443443 drawPageStateRef . current = DrawPageState . Release ;
444- await Promise . all ( [
445- createDrawWindow ( ) ,
446- // 隔一段时间释放,防止释放中途用户唤起
447- closeWindowAfterDelay ( 1000 * 3 ) ,
448- ] ) ;
444+ try {
445+ await Promise . all ( [
446+ createDrawWindow ( ) ,
447+ // 隔一段时间释放,防止释放中途用户唤起
448+ closeWindowAfterDelay ( 1000 * 3 ) ,
449+ ] ) ;
450+ } catch ( error ) {
451+ appError ( "[DrawPageCore] releasePage error" , error ) ;
452+ // 如果创建窗口失败,重置状态以便下次截图可以正常执行
453+ drawPageStateRef . current = DrawPageState . WaitRelease ;
454+ }
449455 } , 1000 * 16 ) ;
450456 } , [ ] ) ;
451457
@@ -661,7 +667,14 @@ const DrawPageCore: React.FC<{
661667 } catch {
662668 imageBuffer = undefined ;
663669 }
664- await initCaptureBoundingBoxInfoPromise ;
670+ try {
671+ await initCaptureBoundingBoxInfoPromise ;
672+ } catch ( error ) {
673+ appError (
674+ "[DrawPageCore] initCaptureBoundingBoxInfoAndShowWindow error" ,
675+ error ,
676+ ) ;
677+ }
665678
666679 // 如果截图失败了,等窗口显示后,结束截图
667680 // 切换截图历史时,不进行截图,只进行显示
@@ -679,6 +692,8 @@ const DrawPageCore: React.FC<{
679692
680693 // 防止用户提前退出报错
681694 if ( getCaptureEvent ( ) ?. event !== CaptureEvent . onExecuteScreenshot ) {
695+ capturingRef . current = false ;
696+ setCaptureStateAction ( false ) ;
682697 return ;
683698 }
684699
@@ -701,6 +716,8 @@ const DrawPageCore: React.FC<{
701716 } catch ( error ) {
702717 // 防止用户提前退出报错
703718 if ( getCaptureEvent ( ) ?. event !== CaptureEvent . onExecuteScreenshot ) {
719+ capturingRef . current = false ;
720+ setCaptureStateAction ( false ) ;
704721 return ;
705722 }
706723
You can’t perform that action at this time.
0 commit comments