Fossil SCM

Calling db_end_transaction() from the early-exit code paths of setup_skin_admin() to avoid "Transaction started at ./src/skins.c:466 never commits" complaints with some types of Admin -> Skins edits.

wyoung 2018-09-03 07:40 trunk
Commit 1c0b78b4510882a71eb1689a89e642b1c3a1c8eb7b6f85f206e2ac93e4d71cb4
1 file changed +5 -2
+5 -2
--- src/skins.c
+++ src/skins.c
@@ -480,10 +480,11 @@
480480
@ <input type="submit" name="del2" value="Confirm - Delete The Skin" />
481481
@ <input type="submit" name="cancel" value="Cancel - Do Not Delete" />
482482
login_insert_csrf_secret();
483483
@ </div></form>
484484
style_footer();
485
+ db_end_transaction(1);
485486
return;
486487
}
487488
if( P("del2")!=0 && (zName = skinVarName(P("sn"), 1))!=0 ){
488489
db_multi_exec("DELETE FROM config WHERE name=%Q", zName);
489490
}
@@ -491,12 +492,14 @@
491492
const char *zDraft = P("name");
492493
if( sqlite3_strglob("draft[1-9]",zDraft)==0 ){
493494
db_multi_exec("DELETE FROM config WHERE name GLOB '%q-*'", zDraft);
494495
}
495496
}
496
- if( skinRename() ) return;
497
- if( skinSave(zCurrent) ) return;
497
+ if( skinRename() || skinSave(zCurrent) ){
498
+ db_end_transaction(0);
499
+ return;
500
+ }
498501
499502
/* The user pressed one of the "Install" buttons. */
500503
if( P("load") && (z = P("sn"))!=0 && z[0] ){
501504
int seen = 0;
502505
503506
--- src/skins.c
+++ src/skins.c
@@ -480,10 +480,11 @@
480 @ <input type="submit" name="del2" value="Confirm - Delete The Skin" />
481 @ <input type="submit" name="cancel" value="Cancel - Do Not Delete" />
482 login_insert_csrf_secret();
483 @ </div></form>
484 style_footer();
 
485 return;
486 }
487 if( P("del2")!=0 && (zName = skinVarName(P("sn"), 1))!=0 ){
488 db_multi_exec("DELETE FROM config WHERE name=%Q", zName);
489 }
@@ -491,12 +492,14 @@
491 const char *zDraft = P("name");
492 if( sqlite3_strglob("draft[1-9]",zDraft)==0 ){
493 db_multi_exec("DELETE FROM config WHERE name GLOB '%q-*'", zDraft);
494 }
495 }
496 if( skinRename() ) return;
497 if( skinSave(zCurrent) ) return;
 
 
498
499 /* The user pressed one of the "Install" buttons. */
500 if( P("load") && (z = P("sn"))!=0 && z[0] ){
501 int seen = 0;
502
503
--- src/skins.c
+++ src/skins.c
@@ -480,10 +480,11 @@
480 @ <input type="submit" name="del2" value="Confirm - Delete The Skin" />
481 @ <input type="submit" name="cancel" value="Cancel - Do Not Delete" />
482 login_insert_csrf_secret();
483 @ </div></form>
484 style_footer();
485 db_end_transaction(1);
486 return;
487 }
488 if( P("del2")!=0 && (zName = skinVarName(P("sn"), 1))!=0 ){
489 db_multi_exec("DELETE FROM config WHERE name=%Q", zName);
490 }
@@ -491,12 +492,14 @@
492 const char *zDraft = P("name");
493 if( sqlite3_strglob("draft[1-9]",zDraft)==0 ){
494 db_multi_exec("DELETE FROM config WHERE name GLOB '%q-*'", zDraft);
495 }
496 }
497 if( skinRename() || skinSave(zCurrent) ){
498 db_end_transaction(0);
499 return;
500 }
501
502 /* The user pressed one of the "Install" buttons. */
503 if( P("load") && (z = P("sn"))!=0 && z[0] ){
504 int seen = 0;
505
506

Keyboard Shortcuts

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