evince r3272 - in trunk: . shell



Author: nshmyrev
Date: Tue Nov 18 23:55:00 2008
New Revision: 3272
URL: http://svn.gnome.org/viewvc/evince?rev=3272&view=rev

Log:
2008-11-19  Marek KaÅÃk <mkasik redhat com>

	* shell/ev-pixbuf-cache.c (new_selection_surface_needed),
	(ev_pixbuf_cache_get_selection_surface):
	
	Fixes crash on fast scrolling with simultaneous text selection.



Modified:
   trunk/ChangeLog
   trunk/shell/ev-pixbuf-cache.c

Modified: trunk/shell/ev-pixbuf-cache.c
==============================================================================
--- trunk/shell/ev-pixbuf-cache.c	(original)
+++ trunk/shell/ev-pixbuf-cache.c	Tue Nov 18 23:55:00 2008
@@ -856,7 +856,7 @@
 {
 	EvPageCache *page_cache;
 
-	if (job_info->selection) {
+	if (job_info->selection && job_info->rc) {
 		gint width, height;
 		gint selection_width, selection_height;
 		
@@ -982,8 +982,15 @@
 	if (!job_info->points_set)
 		return NULL;
 
+	/* Create new render context if needed (selection + fast scrolling) */
+	if (job_info->rc == NULL) {
+		EvPage  *ev_page;
+		ev_page = ev_document_get_page (pixbuf_cache->document, page);
+		job_info->rc = ev_render_context_new (ev_page, 0, scale);
+		g_object_unref (ev_page);
+	}
+
 	/* Update the rc */
-	g_assert (job_info->rc);
 	ev_render_context_set_scale (job_info->rc, scale);
 
 	/* If we have a running job, we just return what we have under the



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]