@@ -1431,26 +1431,34 @@ function getCMlnPreElem(cmEditor: Editor, cmPos: EditorPosition): { el: HTMLPreE
1431
1431
let cmLineElem : HTMLElement = document . elementFromPoint ( cmLineCoors . left + 1 , cmLineCoors . top + 1 ) as HTMLElement ;
1432
1432
let findCmPreElem = cmLineElem ;
1433
1433
let foundPre : boolean = false ;
1434
- if ( cmLineElem . className . indexOf ( 'CodeMirror-line' ) === - 1 ) {
1435
- //writeConsoleLog(`First miss: ${cmLineElem.className}`);
1436
- if ( cmLineElem . parentElement . parentElement . className . indexOf ( 'CodeMirror-line' ) > - 1 ) {
1437
- findCmPreElem = cmLineElem . parentElement . parentElement ;
1438
- foundPre = true ;
1439
- } else {
1440
- //writeConsoleLog(`Second miss: ${cmLineElem.parentElement.parentElement.className}`);
1441
- if ( cmLineElem . parentElement . className . indexOf ( 'CodeMirror-line' ) > - 1 ) {
1442
- findCmPreElem = cmLineElem . parentElement ;
1443
- foundPre = true ;
1444
- } else {
1445
- //writeConsoleLog(`Third miss: ${cmLineElem.parentElement.className}`);
1434
+ if ( cmLineElem ) {
1435
+ if ( cmLineElem . className . indexOf ( 'CodeMirror-line' ) === - 1 ) {
1436
+ //writeConsoleLog(`First miss: ${cmLineElem.className}`);
1437
+ if ( cmLineElem . parentElement ) {
1438
+ if ( cmLineElem . parentElement . parentElement ) {
1439
+ if ( cmLineElem . parentElement . parentElement . className . indexOf ( 'CodeMirror-line' ) > - 1 ) {
1440
+ findCmPreElem = cmLineElem . parentElement . parentElement ;
1441
+ foundPre = true ;
1442
+ } else {
1443
+ //writeConsoleLog(`Second miss: ${cmLineElem.parentElement.parentElement.className}`);
1444
+ if ( cmLineElem . parentElement . className . indexOf ( 'CodeMirror-line' ) > - 1 ) {
1445
+ findCmPreElem = cmLineElem . parentElement ;
1446
+ foundPre = true ;
1447
+ } else {
1448
+ //writeConsoleLog(`Third miss: ${cmLineElem.parentElement.className}`);
1449
+ }
1450
+ }
1451
+ }
1446
1452
}
1453
+ } else {
1454
+ foundPre = true ;
1447
1455
}
1448
- } else {
1449
- foundPre = true ;
1450
- }
1451
1456
1452
- if ( findCmPreElem . tagName === 'PRE' && foundPre ) {
1453
- return { el : findCmPreElem as HTMLPreElement , lnCoords : cmLineCoors } ;
1457
+ if ( findCmPreElem . tagName === 'PRE' && foundPre ) {
1458
+ return { el : findCmPreElem as HTMLPreElement , lnCoords : cmLineCoors } ;
1459
+ } else {
1460
+ return { el : null , lnCoords : null } ;
1461
+ }
1454
1462
} else {
1455
1463
return { el : null , lnCoords : null } ;
1456
1464
}
0 commit comments