set_up_page(gs);
gs->changed = TRUE;
}
-
+
+ gs->scaling = TRUE;
ps_document_goto_page(gs, gs->current_page);
}
ps_document_set_page (EvDocument *document,
int page)
{
- ps_document_goto_page (PS_DOCUMENT (document), page);
+ ps_document_goto_page (PS_DOCUMENT (document), page - 1);
}
static int
g_return_val_if_fail (ps != NULL, -1);
- return ps->current_page;
+ return ps->current_page + 1;
}
static gboolean
if (event->client.message_type == gs_class->page_atom) {
LOG ("GS rendered the document");
gs->busy = FALSE;
- ev_document_changed (EV_DOCUMENT (gs));
+
+ if (gs->scaling) {
+ ev_document_scale_changed (EV_DOCUMENT (gs));
+ gs->scaling = FALSE;
+ } else {
+ ev_document_page_changed (EV_DOCUMENT (gs));
+ }
}
return TRUE;