Skip to content

Commit d1433b9

Browse files
committed
Fix #862
1 parent 576f15e commit d1433b9

File tree

1 file changed

+5
-23
lines changed

1 file changed

+5
-23
lines changed

pkg/pdfcpu/bookmark.go

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -94,30 +94,12 @@ func (bm Bookmark) Style() int {
9494
return i
9595
}
9696

97-
func positionToFirstBookmark(ctx *model.Context) (types.Dict, *types.IndirectRef, error) {
98-
99-
// Position to first bookmark on top most level with more than 1 bookmarks.
100-
// Default to top most single bookmark level.
101-
97+
func positionToFirstBookmark(ctx *model.Context) (*types.IndirectRef, error) {
10298
d := ctx.Outlines
10399
if d == nil {
104-
return nil, nil, errNoBookmarks
105-
}
106-
107-
first := d.IndirectRefEntry("First")
108-
last := d.IndirectRefEntry("Last")
109-
110-
var err error
111-
112-
for first != nil && last != nil && *first == *last {
113-
if d, err = ctx.DereferenceDict(*first); err != nil {
114-
return nil, nil, err
115-
}
116-
first = d.IndirectRefEntry("First")
117-
last = d.IndirectRefEntry("Last")
100+
return nil, errNoBookmarks
118101
}
119-
120-
return d, first, nil
102+
return d.IndirectRefEntry("First"), nil
121103
}
122104

123105
func outlineItemTitle(s string) string {
@@ -277,7 +259,7 @@ func Bookmarks(ctx *model.Context) ([]Bookmark, error) {
277259
return nil, err
278260
}
279261

280-
_, first, err := positionToFirstBookmark(ctx)
262+
first, err := positionToFirstBookmark(ctx)
281263
if err != nil {
282264
if err != errNoBookmarks {
283265
return nil, err
@@ -531,7 +513,7 @@ func removeNamedDests(ctx *model.Context, item *types.IndirectRef) error {
531513

532514
// RemoveBookmarks erases all outlines from ctx.
533515
func RemoveBookmarks(ctx *model.Context) (bool, error) {
534-
_, first, err := positionToFirstBookmark(ctx)
516+
first, err := positionToFirstBookmark(ctx)
535517
if err != nil {
536518
if err != errNoBookmarks {
537519
return false, err

0 commit comments

Comments
 (0)