Skip to content

Commit da4a228

Browse files
committed
Revert "ev-window.c: Don't create the epub webview until the doc type"
This reverts commit be4400f.
1 parent cd67888 commit da4a228

3 files changed

Lines changed: 19 additions & 32 deletions

File tree

libview/ev-view.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7431,10 +7431,6 @@ ev_view_previous_page (EvView *view)
74317431
void
74327432
ev_view_disconnect_handlers(EvView *view)
74337433
{
7434-
if (view->model == NULL) {
7435-
return;
7436-
}
7437-
74387434
g_signal_handlers_disconnect_by_func(view->model,
74397435
G_CALLBACK (ev_view_rotation_changed_cb),
74407436
view);

libview/ev-web-view.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -713,10 +713,6 @@ ev_web_view_zoom_reset(EvWebView *webview)
713713
void
714714
ev_web_view_disconnect_handlers(EvWebView *webview)
715715
{
716-
if (webview->model == NULL) {
717-
return;
718-
}
719-
720716
g_signal_handlers_disconnect_by_func(webview->model,
721717
ev_web_view_document_changed_cb,
722718
webview);

shell/ev-window.c

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1516,32 +1516,22 @@ ev_window_set_document (EvWindow *ev_window,
15161516
gtk_widget_show (ev_window->priv->toolbar);
15171517

15181518
#if ENABLE_EPUB
1519-
if (document->iswebdocument) {
1520-
ev_window->priv->webview = ev_web_view_new();
1521-
ev_web_view_set_model(EV_WEB_VIEW(ev_window->priv->webview),ev_window->priv->model);
1522-
1523-
if (ev_window->priv->view != NULL)
1524-
{
1525-
/*We have encountered a web document, replace the xreader view with a web view, if the web view is not already loaded.*/
1526-
gtk_container_remove (GTK_CONTAINER(ev_window->priv->scrolled_window), ev_window->priv->view);
1527-
ev_view_disconnect_handlers(EV_VIEW(ev_window->priv->view));
1528-
g_object_unref(ev_window->priv->view);
1529-
ev_window->priv->view = NULL;
1530-
}
1531-
1519+
if (document->iswebdocument == TRUE && ev_window->priv->view != NULL)
1520+
{
1521+
/*We have encountered a web document, replace the xreader view with a web view, if the web view is not already loaded.*/
1522+
gtk_container_remove (GTK_CONTAINER(ev_window->priv->scrolled_window), ev_window->priv->view);
1523+
ev_view_disconnect_handlers(EV_VIEW(ev_window->priv->view));
1524+
g_object_unref(ev_window->priv->view);
1525+
ev_window->priv->view = NULL;
15321526
gtk_container_add (GTK_CONTAINER (ev_window->priv->scrolled_window), ev_window->priv->webview);
15331527
gtk_widget_show(ev_window->priv->webview);
1534-
} else
1535-
{
1536-
ev_view_set_model (EV_VIEW (ev_window->priv->view), ev_window->priv->model);
1537-
1538-
if (ev_window->priv->webview != NULL) {
1539-
/*Since the document is not a webdocument might as well get rid of the webview now*/
1540-
ev_web_view_disconnect_handlers(EV_WEB_VIEW(ev_window->priv->webview));
1541-
g_object_ref_sink(ev_window->priv->webview);
1542-
g_object_unref(ev_window->priv->webview);
1543-
ev_window->priv->webview = NULL;
1544-
}
1528+
}
1529+
else if(ev_window->priv->webview != NULL && document->iswebdocument == FALSE) {
1530+
/*Since the document is not a webdocument might as well get rid of the webview now*/
1531+
ev_web_view_disconnect_handlers(EV_WEB_VIEW(ev_window->priv->webview));
1532+
g_object_ref_sink(ev_window->priv->webview);
1533+
g_object_unref(ev_window->priv->webview);
1534+
ev_window->priv->webview = NULL;
15451535
}
15461536
#endif
15471537
if (EV_WINDOW_IS_PRESENTATION (ev_window) && document->iswebdocument == FALSE) {
@@ -7874,10 +7864,15 @@ ev_window_init (EvWindow *ev_window)
78747864

78757865
ev_window->priv->view = ev_view_new ();
78767866

7867+
#if ENABLE_EPUB /*The webview, we won't add it now but it will replace the xreader-view if a web(epub) document is encountered.*/
7868+
ev_window->priv->webview = ev_web_view_new();
7869+
ev_web_view_set_model(EV_WEB_VIEW(ev_window->priv->webview),ev_window->priv->model);
7870+
#endif
78777871
page_cache_mb = g_settings_get_uint (ev_window_ensure_settings (ev_window),
78787872
GS_PAGE_CACHE_SIZE);
78797873
ev_view_set_page_cache_size (EV_VIEW (ev_window->priv->view),
78807874
page_cache_mb * 1024 * 1024);
7875+
ev_view_set_model (EV_VIEW (ev_window->priv->view), ev_window->priv->model);
78817876

78827877
ev_window->priv->password_view = ev_password_view_new (GTK_WINDOW (ev_window));
78837878
g_signal_connect_swapped (ev_window->priv->password_view,

0 commit comments

Comments
 (0)