@@ -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
123105func 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.
533515func 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