@@ -384,16 +384,6 @@ static void init_database(zathura_t* zathura) {
384
384
}
385
385
#endif
386
386
387
- static void init_jumplist (zathura_t * zathura ) {
388
- int jumplist_size = 20 ;
389
- girara_setting_get (zathura -> ui .session , "jumplist-size" , & jumplist_size );
390
-
391
- zathura -> jumplist .max_size = jumplist_size < 0 ? 0 : jumplist_size ;
392
- zathura -> jumplist .list = NULL ;
393
- zathura -> jumplist .size = 0 ;
394
- zathura -> jumplist .cur = NULL ;
395
- }
396
-
397
387
static void init_shortcut_helpers (zathura_t * zathura ) {
398
388
zathura -> shortcut .mouse .x = 0 ;
399
389
zathura -> shortcut .mouse .y = 0 ;
@@ -439,7 +429,9 @@ bool zathura_init(zathura_t* zathura) {
439
429
(girara_free_function_t )zathura_bookmark_free );
440
430
441
431
/* jumplist */
442
- init_jumplist (zathura );
432
+ int jumplist_size = 20 ;
433
+ girara_setting_get (zathura -> ui .session , "jumplist-size" , & jumplist_size );
434
+ zathura_jumplist_init (zathura , MAX (jumplist_size , 0 ));
443
435
444
436
/* CSS for index mode */
445
437
if (init_css (zathura ) == false) {
@@ -524,13 +516,7 @@ void zathura_free(zathura_t* zathura) {
524
516
g_free (zathura -> config .cache_dir );
525
517
526
518
/* free jumplist */
527
- if (zathura -> jumplist .cur != NULL ) {
528
- girara_list_iterator_free (zathura -> jumplist .cur );
529
- }
530
-
531
- if (zathura -> jumplist .list != NULL ) {
532
- girara_list_free (zathura -> jumplist .list );
533
- }
519
+ zathura_jumplist_clear (zathura );
534
520
535
521
g_free (zathura );
536
522
}
@@ -1192,7 +1178,6 @@ bool document_open(zathura_t* zathura, const char* path, const char* uri, const
1192
1178
/* jumplist */
1193
1179
if (zathura_jumplist_load (zathura , file_path ) == false) {
1194
1180
girara_debug ("Failed to load jumplist .");
1195
- zathura -> jumplist .list = girara_list_new2 (g_free );
1196
1181
}
1197
1182
1198
1183
/* quickmarks */
@@ -1202,8 +1187,7 @@ bool document_open(zathura_t* zathura, const char* path, const char* uri, const
1202
1187
}
1203
1188
} else {
1204
1189
/* create fallback lists */
1205
- zathura -> jumplist .list = girara_list_new2 (g_free );
1206
- zathura -> global .marks = girara_list_new2 (g_free );
1190
+ zathura -> global .marks = girara_list_new2 (g_free );
1207
1191
}
1208
1192
1209
1193
if (zathura -> jumplist .list == NULL || zathura -> global .marks == NULL) {
@@ -1466,12 +1450,7 @@ bool document_close(zathura_t* zathura, bool keep_monitor) {
1466
1450
zathura -> global .marks = NULL ;
1467
1451
}
1468
1452
1469
- /* remove jump list */
1470
- girara_list_iterator_free (zathura -> jumplist .cur );
1471
- zathura -> jumplist .cur = NULL ;
1472
- girara_list_free (zathura -> jumplist .list );
1473
- zathura -> jumplist .list = NULL ;
1474
- zathura -> jumplist .size = 0 ;
1453
+ zathura_jumplist_clear (zathura );
1475
1454
1476
1455
/* release render thread */
1477
1456
g_clear_object (& zathura -> sync .render_thread );
0 commit comments