Fossil SCM

Avoid drawing multiple copies of cherrypick merge risers.

drh 2020-06-08 19:05 trunk
Commit 146f02f922dd929a572c6ea43e2f6d38b8a0b3b03cd6ae0b02ae31cf0e6c5925
1 file changed +3 -2
+3 -2
--- src/graph.js
+++ src/graph.js
@@ -433,11 +433,12 @@
433433
}
434434
x1 += mergeLines[p.mo]
435435
var y0 = p.y+2;
436436
var isCP = p.hasOwnProperty('cu');
437437
if( p.mu==p.id ){
438
- /* Merge out error to an existing riser from below */
438
+ /* Special case: The merge riser already exists. Only draw the
439
+ /* horizontal line or arrow going from the node out to the riser. */
439440
var dx = x1<x0 ? mArrow.w : -mArrow.w;
440441
if( isCP ){
441442
drawCherrypickLine(x0,y0,x1+dx,null);
442443
cls = "arrow cherrypick " + (x1<x0 ? "l" : "r");
443444
}else{
@@ -451,11 +452,11 @@
451452
y1 = y0;
452453
}else{
453454
drawMergeLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
454455
drawMergeLine(x1,y0+mLine.w,null,y1);
455456
}
456
- if( isCP ){
457
+ if( isCP && p.cu!=p.id ){
457458
var u2 = tx.rowinfo[p.cu-tx.iTopRow];
458459
var y2 = miLineY(u2);
459460
drawCherrypickLine(x1,y1,null,y2);
460461
}
461462
}else if( mergeOffset ){
462463
--- src/graph.js
+++ src/graph.js
@@ -433,11 +433,12 @@
433 }
434 x1 += mergeLines[p.mo]
435 var y0 = p.y+2;
436 var isCP = p.hasOwnProperty('cu');
437 if( p.mu==p.id ){
438 /* Merge out error to an existing riser from below */
 
439 var dx = x1<x0 ? mArrow.w : -mArrow.w;
440 if( isCP ){
441 drawCherrypickLine(x0,y0,x1+dx,null);
442 cls = "arrow cherrypick " + (x1<x0 ? "l" : "r");
443 }else{
@@ -451,11 +452,11 @@
451 y1 = y0;
452 }else{
453 drawMergeLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
454 drawMergeLine(x1,y0+mLine.w,null,y1);
455 }
456 if( isCP ){
457 var u2 = tx.rowinfo[p.cu-tx.iTopRow];
458 var y2 = miLineY(u2);
459 drawCherrypickLine(x1,y1,null,y2);
460 }
461 }else if( mergeOffset ){
462
--- src/graph.js
+++ src/graph.js
@@ -433,11 +433,12 @@
433 }
434 x1 += mergeLines[p.mo]
435 var y0 = p.y+2;
436 var isCP = p.hasOwnProperty('cu');
437 if( p.mu==p.id ){
438 /* Special case: The merge riser already exists. Only draw the
439 /* horizontal line or arrow going from the node out to the riser. */
440 var dx = x1<x0 ? mArrow.w : -mArrow.w;
441 if( isCP ){
442 drawCherrypickLine(x0,y0,x1+dx,null);
443 cls = "arrow cherrypick " + (x1<x0 ? "l" : "r");
444 }else{
@@ -451,11 +452,11 @@
452 y1 = y0;
453 }else{
454 drawMergeLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
455 drawMergeLine(x1,y0+mLine.w,null,y1);
456 }
457 if( isCP && p.cu!=p.id ){
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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button