Fossil SCM
Always generate timeline-data for a timeline even if the table has no check-ins and thus no graph. This causes the timeline-data scanner to continue looking for subsequent timelines.
Commit
3f316764921b4eda9fb32f2b4c91fb81bf35e6094b985fb9f7e57d91d6aa425e
Parent
741f71d82da5096…
2 files changed
+1
-1
+6
-2
+1
-1
| --- src/graph.js | ||
| +++ src/graph.js | ||
| @@ -382,8 +382,8 @@ | ||
| 382 | 382 | for(i=0; 1; i++){ |
| 383 | 383 | var dataObj = document.getElementById("timeline-data-"+i); |
| 384 | 384 | if(!dataObj) break; |
| 385 | 385 | var txJson = dataObj.textContent || dataObj.innerText; |
| 386 | 386 | var tx = JSON.parse(txJson); |
| 387 | - TimelineGraph(tx); | |
| 387 | + if(tx.rowinfo) TimelineGraph(tx); | |
| 388 | 388 | } |
| 389 | 389 | }()) |
| 390 | 390 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -382,8 +382,8 @@ | |
| 382 | for(i=0; 1; i++){ |
| 383 | var dataObj = document.getElementById("timeline-data-"+i); |
| 384 | if(!dataObj) break; |
| 385 | var txJson = dataObj.textContent || dataObj.innerText; |
| 386 | var tx = JSON.parse(txJson); |
| 387 | TimelineGraph(tx); |
| 388 | } |
| 389 | }()) |
| 390 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -382,8 +382,8 @@ | |
| 382 | for(i=0; 1; i++){ |
| 383 | var dataObj = document.getElementById("timeline-data-"+i); |
| 384 | if(!dataObj) break; |
| 385 | var txJson = dataObj.textContent || dataObj.innerText; |
| 386 | var tx = JSON.parse(txJson); |
| 387 | if(tx.rowinfo) TimelineGraph(tx); |
| 388 | } |
| 389 | }()) |
| 390 |
+6
-2
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -776,11 +776,11 @@ | ||
| 776 | 776 | void timeline_output_graph_javascript( |
| 777 | 777 | GraphContext *pGraph, /* The graph to be displayed */ |
| 778 | 778 | int tmFlags, /* Flags that control rendering */ |
| 779 | 779 | int iTableId /* Which graph is this for */ |
| 780 | 780 | ){ |
| 781 | - if( pGraph && pGraph->nErr==0 && pGraph->nRow>0 ){ | |
| 781 | + if( pGraph && pGraph->nErr==0 ){ | |
| 782 | 782 | GraphRow *pRow; |
| 783 | 783 | int i; |
| 784 | 784 | char cSep; |
| 785 | 785 | int iRailPitch; /* Pixels between consecutive rails */ |
| 786 | 786 | int showArrowheads; /* True to draw arrowheads. False to omit. */ |
| @@ -810,11 +810,15 @@ | ||
| 810 | 810 | @ "omitDescenders": %d(omitDescenders), |
| 811 | 811 | @ "fileDiff": %d(fileDiff), |
| 812 | 812 | @ "scrollToSelect": %d(scrollToSelect), |
| 813 | 813 | @ "nrail": %d(pGraph->mxRail+1), |
| 814 | 814 | @ "baseUrl": "%R", |
| 815 | - @ "rowinfo": [ | |
| 815 | + if( pGraph->nRow==0 ){ | |
| 816 | + @ "rowinfo": null | |
| 817 | + }else{ | |
| 818 | + @ "rowinfo": [ | |
| 819 | + } | |
| 816 | 820 | |
| 817 | 821 | /* the rowinfo[] array contains all the information needed to generate |
| 818 | 822 | ** the graph. Each entry contains information for a single row: |
| 819 | 823 | ** |
| 820 | 824 | ** id: The id of the <div> element for the row. This is an integer. |
| 821 | 825 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -776,11 +776,11 @@ | |
| 776 | void timeline_output_graph_javascript( |
| 777 | GraphContext *pGraph, /* The graph to be displayed */ |
| 778 | int tmFlags, /* Flags that control rendering */ |
| 779 | int iTableId /* Which graph is this for */ |
| 780 | ){ |
| 781 | if( pGraph && pGraph->nErr==0 && pGraph->nRow>0 ){ |
| 782 | GraphRow *pRow; |
| 783 | int i; |
| 784 | char cSep; |
| 785 | int iRailPitch; /* Pixels between consecutive rails */ |
| 786 | int showArrowheads; /* True to draw arrowheads. False to omit. */ |
| @@ -810,11 +810,15 @@ | |
| 810 | @ "omitDescenders": %d(omitDescenders), |
| 811 | @ "fileDiff": %d(fileDiff), |
| 812 | @ "scrollToSelect": %d(scrollToSelect), |
| 813 | @ "nrail": %d(pGraph->mxRail+1), |
| 814 | @ "baseUrl": "%R", |
| 815 | @ "rowinfo": [ |
| 816 | |
| 817 | /* the rowinfo[] array contains all the information needed to generate |
| 818 | ** the graph. Each entry contains information for a single row: |
| 819 | ** |
| 820 | ** id: The id of the <div> element for the row. This is an integer. |
| 821 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -776,11 +776,11 @@ | |
| 776 | void timeline_output_graph_javascript( |
| 777 | GraphContext *pGraph, /* The graph to be displayed */ |
| 778 | int tmFlags, /* Flags that control rendering */ |
| 779 | int iTableId /* Which graph is this for */ |
| 780 | ){ |
| 781 | if( pGraph && pGraph->nErr==0 ){ |
| 782 | GraphRow *pRow; |
| 783 | int i; |
| 784 | char cSep; |
| 785 | int iRailPitch; /* Pixels between consecutive rails */ |
| 786 | int showArrowheads; /* True to draw arrowheads. False to omit. */ |
| @@ -810,11 +810,15 @@ | |
| 810 | @ "omitDescenders": %d(omitDescenders), |
| 811 | @ "fileDiff": %d(fileDiff), |
| 812 | @ "scrollToSelect": %d(scrollToSelect), |
| 813 | @ "nrail": %d(pGraph->mxRail+1), |
| 814 | @ "baseUrl": "%R", |
| 815 | if( pGraph->nRow==0 ){ |
| 816 | @ "rowinfo": null |
| 817 | }else{ |
| 818 | @ "rowinfo": [ |
| 819 | } |
| 820 | |
| 821 | /* the rowinfo[] array contains all the information needed to generate |
| 822 | ** the graph. Each entry contains information for a single row: |
| 823 | ** |
| 824 | ** id: The id of the <div> element for the row. This is an integer. |
| 825 |