diff options
Diffstat (limited to 'ps')
-rw-r--r-- | ps/ps-document.c | 11 | ||||
-rw-r--r-- | ps/ps-document.h | 2 |
2 files changed, 11 insertions, 2 deletions
diff --git a/ps/ps-document.c b/ps/ps-document.c index 1df82e2..dea5ddf 100644 --- a/ps/ps-document.c +++ b/ps/ps-document.c @@ -1678,7 +1678,8 @@ ps_document_set_zoom(PSDocument * gs, gfloat zoom) set_up_page(gs); gs->changed = TRUE; } - + + gs->scaling = TRUE; ps_document_goto_page(gs, gs->current_page); } @@ -1760,7 +1761,13 @@ ps_document_widget_event (GtkWidget *widget, GdkEvent *event, gpointer data) 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; diff --git a/ps/ps-document.h b/ps/ps-document.h index fb58ca4..5bdd282 100644 --- a/ps/ps-document.h +++ b/ps/ps-document.h @@ -110,6 +110,8 @@ struct _PSDocument { int page_x_offset; int page_y_offset; + + gboolean scaling; }; struct _PSDocumentClass { |