diff options
author | Thomas White <taw@bitwiz.org.uk> | 2017-03-02 22:41:55 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2017-03-02 22:45:14 +0100 |
commit | a6a8a827ff3c6133f229b0c444b42d4e690fef76 (patch) | |
tree | edd80a35c40c32299e6d2331e483e37506d219c9 | |
parent | e7eede3273394f3479bb63f92e57780dfc8f2e3d (diff) |
Substitute style sheet when there was no stylesheet before
-rw-r--r-- | src/narrative_window.c | 6 | ||||
-rw-r--r-- | src/presentation.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/narrative_window.c b/src/narrative_window.c index d53002a..73b9677 100644 --- a/src/narrative_window.c +++ b/src/narrative_window.c @@ -273,14 +273,14 @@ static gint load_ss_response_sig(GtkWidget *d, gint response, SCBlock **stylesheets; + /* Substitute the style sheet */ + replace_stylesheet(nw->p, ss); + stylesheets = get_ss_list(nw->p); sc_editor_set_stylesheets(nw->sceditor, stylesheets); free(stylesheets); - /* Substitute the style sheet */ - replace_stylesheet(nw->p, ss); - /* Full rerender, first block may have * changed */ sc_editor_set_scblock(nw->sceditor, diff --git a/src/presentation.c b/src/presentation.c index 55219e2..efdf694 100644 --- a/src/presentation.c +++ b/src/presentation.c @@ -360,6 +360,12 @@ int replace_stylesheet(struct presentation *p, SCBlock *ss) /* Create style sheet from union of old and new, * preferring items from the new one */ + /* If there was no stylesheet before, add a dummy one */ + if ( p->stylesheet == NULL ) { + p->stylesheet = sc_block_append_end(p->scblocks, + "stylesheet", NULL, NULL); + } + /* Cut the old stylesheet out of the presentation, * and put in the new one */ sc_block_substitute(&p->scblocks, p->stylesheet, ss); |