X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=shell%2Fev-pixbuf-cache.c;h=3403873cffeb97ff91bbac90302ab62490de13a2;hb=f0929384891f45f8fc826062529d3e5569358bb1;hp=951decb26ceacb005cbe7294f073bb2f7d405462;hpb=0316bea7b62a35a692afad8cef9ecfb4a1d6a4f5;p=evince.git diff --git a/shell/ev-pixbuf-cache.c b/shell/ev-pixbuf-cache.c index 951decb2..3403873c 100644 --- a/shell/ev-pixbuf-cache.c +++ b/shell/ev-pixbuf-cache.c @@ -1,7 +1,7 @@ +#include #include "ev-pixbuf-cache.h" #include "ev-job-queue.h" #include "ev-page-cache.h" -#include "ev-selection.h" #include "ev-document-images.h" #include "ev-document-forms.h" #include "ev-image.h" @@ -26,9 +26,10 @@ typedef struct _CacheJobInfo /* Selection data. * Selection_points are the coordinates encapsulated in selection. * target_points is the target selection size. */ - EvRectangle selection_points; - EvRectangle target_points; - gboolean points_set; + EvRectangle selection_points; + EvRectangle target_points; + EvSelectionStyle selection_style; + gboolean points_set; cairo_surface_t *selection; GdkRegion *selection_region; @@ -306,6 +307,9 @@ check_job_size_and_unref (EvPixbufCache *pixbuf_cache, height == EV_JOB_RENDER (job_info->job)->target_height) return; + g_signal_handlers_disconnect_by_func (job_info->job, + G_CALLBACK (job_page_ready_cb), + pixbuf_cache); g_signal_handlers_disconnect_by_func (job_info->job, G_CALLBACK (job_finished_cb), pixbuf_cache); @@ -607,7 +611,7 @@ add_job (EvPixbufCache *pixbuf_cache, gboolean include_links = FALSE; gboolean include_text = FALSE; gboolean include_selection = FALSE; - gboolean include_images = TRUE; + gboolean include_images = FALSE; gboolean include_forms = FALSE; GdkColor *text, *base; @@ -646,6 +650,7 @@ add_job (EvPixbufCache *pixbuf_cache, job_info->rc, width, height, &(job_info->target_points), + job_info->selection_style, text, base, include_forms, include_links, @@ -1021,6 +1026,7 @@ ev_pixbuf_cache_get_selection_surface (EvPixbufCache *pixbuf_cache, job_info->selection_region = ev_selection_get_selection_region (EV_SELECTION (pixbuf_cache->document), job_info->rc, + job_info->selection_style, &(job_info->target_points)); gtk_widget_ensure_style (pixbuf_cache->view); @@ -1031,6 +1037,7 @@ ev_pixbuf_cache_get_selection_surface (EvPixbufCache *pixbuf_cache, job_info->rc, &(job_info->selection), &(job_info->target_points), old_points, + job_info->selection_style, text, base); job_info->selection_points = job_info->target_points; ev_document_doc_mutex_unlock (); @@ -1046,6 +1053,7 @@ update_job_selection (CacheJobInfo *job_info, { job_info->points_set = TRUE; job_info->target_points = selection->rect; + job_info->selection_style = selection->style; } static void