Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
epub: fix loading epub thumbnails
origin commit:
linuxmint/xreader@6ed0ee1

Note: origin commit causes some serious build warnings,
......fixed.
  • Loading branch information
mickaelalbertus authored and raveit65 committed Mar 16, 2018
1 parent 8770730 commit bd799f4
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 27 deletions.
7 changes: 4 additions & 3 deletions backend/epub/epub-document.c
Expand Up @@ -124,9 +124,10 @@ epub_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document,
cairo_surface_t *webpage;
GdkPixbuf *thumbnailpix = NULL ;
gint width,height;
epub_document_thumbnails_get_dimensions(document,rc,&width,&height);
webpage = ev_document_misc_surface_rotate_and_scale(rc->page->backend_page,width,height,0);
thumbnailpix = ev_document_misc_pixbuf_from_surface(webpage);
epub_document_thumbnails_get_dimensions (document, rc, &width, &height);
webpage = ev_document_misc_surface_rotate_and_scale (rc->page->backend_page,
width, height, 0);
thumbnailpix = ev_document_misc_pixbuf_from_surface (webpage);
return thumbnailpix;
}

Expand Down
47 changes: 23 additions & 24 deletions libview/ev-jobs.c
Expand Up @@ -92,11 +92,6 @@ enum {
FIND_LAST_SIGNAL
};

#if ENABLE_EPUB
static GtkWidget* webview;
static GtkWidget* offscreenwindow;
#endif

static guint job_signals[LAST_SIGNAL] = { 0 };
static guint job_fonts_signals[FONTS_LAST_SIGNAL] = { 0 };
static guint job_find_signals[FIND_LAST_SIGNAL] = { 0 };
Expand Down Expand Up @@ -877,8 +872,12 @@ snapshot_callback(WebKitWebView *webview,

ev_document_doc_mutex_unlock ();
ev_job_succeeded (EV_JOB(job_thumb));

gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (webview)));
}

#endif /* ENABLE_EPUB */

static void
web_thumbnail_get_screenshot_cb (WebKitWebView *webview,
WebKitLoadEvent event,
Expand Down Expand Up @@ -906,9 +905,10 @@ webview_load_failed_cb (WebKitWebView *webview,
GError *e = (GError *) error;
g_warning ("Error loading data from %s: %s", failing_uri, e->message);
ev_job_failed_from_error (EV_JOB(job_thumb), e);

gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (webview)));
return TRUE;
}
#endif /* ENABLE_EPUB */

static gboolean
ev_job_thumbnail_run (EvJob *job)
Expand Down Expand Up @@ -939,24 +939,23 @@ ev_job_thumbnail_run (EvJob *job)

#if ENABLE_EPUB
if (job->document->iswebdocument == TRUE) {
if (!webview) {
webview = webkit_web_view_new();
g_signal_connect(WEBKIT_WEB_VIEW(webview),"load-changed",
G_CALLBACK(web_thumbnail_get_screenshot_cb),
g_object_ref (job_thumb));
g_signal_connect(WEBKIT_WEB_VIEW(webview),"load-failed",
G_CALLBACK(webview_load_failed_cb),
g_object_ref (job_thumb));
}

if (!offscreenwindow) {
offscreenwindow = gtk_offscreen_window_new();
gtk_container_add(GTK_CONTAINER(offscreenwindow),GTK_WIDGET(webview));
gtk_window_set_default_size (GTK_WINDOW(offscreenwindow),800,1080);
gtk_widget_show_all(offscreenwindow);
}

webkit_web_view_load_uri(WEBKIT_WEB_VIEW(webview),(gchar*)rc->page->backend_page);
GtkWidget *webview;
GtkWidget *offscreenwindow;

webview = webkit_web_view_new ();
offscreenwindow = gtk_offscreen_window_new ();

gtk_container_add (GTK_CONTAINER(offscreenwindow), GTK_WIDGET (webview));
gtk_window_set_default_size (GTK_WINDOW(offscreenwindow), 800, 1080);
gtk_widget_show_all (offscreenwindow);

g_signal_connect (WEBKIT_WEB_VIEW (webview), "load-changed",
G_CALLBACK (web_thumbnail_get_screenshot_cb),
g_object_ref (job_thumb));
g_signal_connect (WEBKIT_WEB_VIEW(webview), "load-failed",
G_CALLBACK(webview_load_failed_cb),
g_object_ref (job_thumb));
webkit_web_view_load_uri (WEBKIT_WEB_VIEW (webview), (gchar*) rc->page->backend_page);
}
else
#endif /* ENABLE_EPUB */
Expand Down

0 comments on commit bd799f4

Please sign in to comment.