From c441b591c7f93824bc87d5b2b0688f7fea27e863 Mon Sep 17 00:00:00 2001 From: Dan Nicholson Date: Tue, 8 Jan 2013 04:28:58 -0800 Subject: Move forced redraw out of widget into plugin The EvbpViewer widget normally works fine, and the forced resizing only seems to be needed on Epiphany. --- src/evbp-viewer.c | 6 ------ src/evbp.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/evbp-viewer.c b/src/evbp-viewer.c index 0d96622..1c7ad70 100644 --- a/src/evbp-viewer.c +++ b/src/evbp-viewer.c @@ -474,8 +474,6 @@ evbp_viewer_new(void) gboolean evbp_viewer_load_uri(EvbpViewer *viewer, const gchar *uri, GError **error) { - GtkWidget *container; - if (viewer->document) g_object_unref(viewer->document); @@ -487,9 +485,5 @@ evbp_viewer_load_uri(EvbpViewer *viewer, const gchar *uri, GError **error) ev_view_set_loading(EV_VIEW(viewer->view), FALSE); gtk_action_group_set_sensitive(viewer->action_group, TRUE); - container = gtk_widget_get_ancestor(GTK_WIDGET(viewer), - GTK_TYPE_CONTAINER); - gtk_container_resize_children(GTK_CONTAINER(container)); - return TRUE; } diff --git a/src/evbp.c b/src/evbp.c index 916ba73..849e3fc 100644 --- a/src/evbp.c +++ b/src/evbp.c @@ -136,6 +136,17 @@ evbp_shutdown(void) ev_is_initialized = FALSE; } +static void +evbp_force_redraw(NPP instance) +{ + evbp_priv_t *priv = instance->pdata; + + g_debug("%s", __func__); + + /* there's probably a better way than this gross hack */ + gtk_container_resize_children(GTK_CONTAINER(priv->plug)); +} + static NPError evbp_new(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char *argn[], char *argv[], @@ -270,6 +281,7 @@ evbp_stream_as_file(NPP instance, NPStream *stream, const char *fname) g_error_free(error); return; } + evbp_force_redraw(instance); } static void -- cgit v1.2.3