Fossil SCM
Fix the display of cherrypick links that are on the same rail as their origin node but then go left.
Commit
632d07c6a90810c2b2861b09707cab5c4ad52de0211a0e7e23e487a74c989d70
Parent
680837fae79ab7c…
1 file changed
+6
-2
+6
-2
| --- src/graph.js | ||
| +++ src/graph.js | ||
| @@ -422,14 +422,18 @@ | ||
| 422 | 422 | } |
| 423 | 423 | if( p.hasOwnProperty('mo') ){ |
| 424 | 424 | var x0 = p.x + node.w/2; |
| 425 | 425 | var x1 = p.mo*railPitch + node.w/2; |
| 426 | 426 | var u = tx.rowinfo[p.mu-tx.iTopRow]; |
| 427 | + var mtop = u; | |
| 428 | + if( p.hasOwnProperty('cu') ){ | |
| 429 | + mtop = tx.rowinfo[p.cu-tx.iTopRow]; | |
| 430 | + } | |
| 427 | 431 | var y1 = miLineY(u); |
| 428 | 432 | if( p.u<=0 || p.mo!=p.r ){ |
| 429 | 433 | if( p.u==0 && p.mo==p.r ){ |
| 430 | - mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; | |
| 434 | + mergeLines[p.mo] = mtop.r<p.r ? -mergeOffset-mLine.w : mergeOffset; | |
| 431 | 435 | }else{ |
| 432 | 436 | mergeLines[p.mo] = -mLine.w/2; |
| 433 | 437 | } |
| 434 | 438 | x1 += mergeLines[p.mo] |
| 435 | 439 | var y0 = p.y+2; |
| @@ -458,11 +462,11 @@ | ||
| 458 | 462 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 459 | 463 | var y2 = miLineY(u2); |
| 460 | 464 | drawCherrypickLine(x1,y1,null,y2); |
| 461 | 465 | } |
| 462 | 466 | }else if( mergeOffset ){ |
| 463 | - mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; | |
| 467 | + mergeLines[p.mo] = mtop.r<p.r ? -mergeOffset-mLine.w : mergeOffset; | |
| 464 | 468 | x1 += mergeLines[p.mo]; |
| 465 | 469 | if( p.mu<p.id ){ |
| 466 | 470 | drawMergeLine(x1,p.y+node.h/2,null,y1); |
| 467 | 471 | } |
| 468 | 472 | if( p.hasOwnProperty('cu') ){ |
| 469 | 473 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -422,14 +422,18 @@ | |
| 422 | } |
| 423 | if( p.hasOwnProperty('mo') ){ |
| 424 | var x0 = p.x + node.w/2; |
| 425 | var x1 = p.mo*railPitch + node.w/2; |
| 426 | var u = tx.rowinfo[p.mu-tx.iTopRow]; |
| 427 | var y1 = miLineY(u); |
| 428 | if( p.u<=0 || p.mo!=p.r ){ |
| 429 | if( p.u==0 && p.mo==p.r ){ |
| 430 | mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 431 | }else{ |
| 432 | mergeLines[p.mo] = -mLine.w/2; |
| 433 | } |
| 434 | x1 += mergeLines[p.mo] |
| 435 | var y0 = p.y+2; |
| @@ -458,11 +462,11 @@ | |
| 458 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 459 | var y2 = miLineY(u2); |
| 460 | drawCherrypickLine(x1,y1,null,y2); |
| 461 | } |
| 462 | }else if( mergeOffset ){ |
| 463 | mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 464 | x1 += mergeLines[p.mo]; |
| 465 | if( p.mu<p.id ){ |
| 466 | drawMergeLine(x1,p.y+node.h/2,null,y1); |
| 467 | } |
| 468 | if( p.hasOwnProperty('cu') ){ |
| 469 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -422,14 +422,18 @@ | |
| 422 | } |
| 423 | if( p.hasOwnProperty('mo') ){ |
| 424 | var x0 = p.x + node.w/2; |
| 425 | var x1 = p.mo*railPitch + node.w/2; |
| 426 | var u = tx.rowinfo[p.mu-tx.iTopRow]; |
| 427 | var mtop = u; |
| 428 | if( p.hasOwnProperty('cu') ){ |
| 429 | mtop = tx.rowinfo[p.cu-tx.iTopRow]; |
| 430 | } |
| 431 | var y1 = miLineY(u); |
| 432 | if( p.u<=0 || p.mo!=p.r ){ |
| 433 | if( p.u==0 && p.mo==p.r ){ |
| 434 | mergeLines[p.mo] = mtop.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 435 | }else{ |
| 436 | mergeLines[p.mo] = -mLine.w/2; |
| 437 | } |
| 438 | x1 += mergeLines[p.mo] |
| 439 | var y0 = p.y+2; |
| @@ -458,11 +462,11 @@ | |
| 462 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 463 | var y2 = miLineY(u2); |
| 464 | drawCherrypickLine(x1,y1,null,y2); |
| 465 | } |
| 466 | }else if( mergeOffset ){ |
| 467 | mergeLines[p.mo] = mtop.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 468 | x1 += mergeLines[p.mo]; |
| 469 | if( p.mu<p.id ){ |
| 470 | drawMergeLine(x1,p.y+node.h/2,null,y1); |
| 471 | } |
| 472 | if( p.hasOwnProperty('cu') ){ |
| 473 |